maint.mk: new rule: refresh-gnulib-patches
[gnulib.git] / ChangeLog
1 2012-07-27  Jim Meyering  <meyering@redhat.com>
2
3         maint.mk: new rule: refresh-gnulib-patches
4         I noticed that 8 of coreutils' 9 gl/**/*.diff files was stale.
5         Use this rule to refresh them.
6         * top/maint.mk (refresh-gnulib-patches): New rule.
7
8 2012-07-24  Bruno Haible  <bruno@clisp.org>
9
10         gnulib-tool: Fix handling of inctests variable.
11         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
12         Reported by Nick Bowler <nbowler@elliptictech.com>.
13
14 2012-07-22  Bruno Haible  <bruno@clisp.org>
15
16         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
17         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
18         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
19         Remove exemption for getpass.h.
20         Suggested by Eric Blake.
21
22 2012-07-20  Eric Blake  <eblake@redhat.com>
23
24         verify: document conflict with -Wnested-externs
25         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
26
27         maint.mk: forbid exit(-1)
28         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
29
30 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
31
32         fsusage: port back to Solaris
33         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
34         error (fsd not declared) on Solaris 10.  Reported privately by
35         Andrew Borodin.
36
37 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
38
39         gnu-web-doc-update: fix error messages
40         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
41
42         gnu-web-doc-update: check the requirements.
43         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
44         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
45         * build-aux/bootstrap (find_tool): Comment change.
46
47 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
48
49         maint.mk: minor simplication.
50         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
51         for default values.
52
53 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
54
55         gitlog-to-changelog: VPATH build issues
56         If builddir is not a subdirectory of srcdir, running git from it will
57         fail.
58         * build-aux/gitlog-to-changelog (--srcdir): New option.
59
60 2012-07-15  Bruno Haible  <bruno@clisp.org>
61
62         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
63         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
64         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
65         Remove exemption for fpending.h.
66         Suggested by Eric Blake.
67
68 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
69
70         pthread_sigmask: fix bug on FreeBSD 9
71         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
72         Include string.h.
73         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
74         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
75         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
76         but pthread_sigmask (1729, NULL, NULL) returns zero.
77         See <http://bugs.gnu.org/11884>.
78         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
79         by inspecting whether the main call changed the old mask.
80
81 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
82
83         README-release: make it more legible
84         * top/README-release: Improve typography slightly.
85
86 2012-07-15  Jim Meyering  <meyering@redhat.com>
87
88         maint: require that each sc_... command start with "@"
89         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
90         "make sc_maint" helps us avoid this nit.
91
92 2012-07-15  Jim Meyering  <meyering@redhat.com>
93
94         maint.mk: add leading "@" to quiet new "make syntax-check" rule
95         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
96
97 2012-07-13  Eric Blake  <eblake@redhat.com>
98
99         maint.mk: new syntax check for HAVE_DECL checks
100         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
101         * cfg.mk
102         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
103         Exempt some false positives.
104         Based on a report by Karel Zak.
105
106         argp: make HAVE_DECL usage consistent
107         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
108         macros, not whether they are defined.
109         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
110         convention with other declaration checks.
111         Reported by Karel Zak, with suggestions from Paul Eggert.
112
113         stat-time: relax license to LGPLv2+
114         * modules/stat-time (License): Relax, with consent of all authors.
115
116         strndup: fix m4 usage error
117         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
118         defined, to either 0 or 1.
119         Reported by Karel Zak.
120
121 2012-07-11  Jim Meyering  <meyering@redhat.com>
122
123         maint: enable the sc_avoid_if_before_free syntax-check rule
124         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
125         (if_before_free_offenders_): Define.
126         (if_before_free_basename_re_): Define.
127         Exempt current files with useless if-before-free.
128
129 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
130
131         gettext: do not assume '#define ... defined ...' behavior
132         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
133         Do not use '#define FOO ... defined BAR ...', as the C standard says
134         it's not portable to expect that this works after macro expansion.
135         Problem reported for gzip by Steven M. Schweda in
136         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
137
138 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
139
140         getloadavg: clean out old Emacs and Autoconf cruft
141         See Glenn Morris in <http://bugs.gnu.org/11905>.
142         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
143         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
144         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
145         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
146
147 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
148
149         bootstrap: let warn be like tests/init.sh's warn_
150         Reported by Jim Meyering.
151         * build-aux/bootstrap (warn): Remove, replaced by...
152         (warnf_, warn_): these.
153         Adjust callers.
154         Shorten messages that no longer fit in 80 columns.
155
156 2012-07-09  Bruno Haible  <bruno@clisp.org>
157
158         getopt: Simplify after Emacs changed.
159         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
160         (gl_GETOPT_IFELSE): Remove macro.
161
162 2012-07-09  Jim Meyering  <meyering@redhat.com>
163
164         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
165         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
166
167         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
168         Bugs in both of those conspired to make the
169         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
170         _sc_search_regexp's handling of non-empty $in_files would filter
171         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
172         choice of in_files value meant there would be no match in most
173         projects, due to the presence of two or more Makefile.in files.
174         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
175         Fix a bug in how a non-empty $$in_files was processed:
176         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
177         in spite of the name, it's a regexp, not a list of file names.
178
179 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
180
181         getloadavg, getopt: fix commentary re configure.in
182         Autoconf is deprecating the name 'configure.in', so change it to
183         to the new name 'configure.ac' in a couple of places.
184         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
185         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
186         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
187         Emacs has renamed it to configure.ac, and it no longer refers
188         to these macros anyway.
189
190         timespec: mark functions with const attributes
191         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
192         Mark with _GL_ATTRIBUTE_CONST.
193
194 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
195
196         canonicalize[-lgpl]: handle "guessing" values when cross-building
197         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
198         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
199         matches "*yes" instead of just "yes".  Regression introduced in commit
200         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
201
202 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
203             Bruno Haible  <bruno@clisp.org>
204
205         canonicalize: make the right guess when cross-compiling to GNU
206         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
207         determine whether cross-compiling to glibc systems, so as to
208         include GNU/Hurd.
209
210 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
211
212         timespec-sub: avoid duplicate include
213         * lib/timespec-sub.c: Do not include <config.h> twice.
214         Reported by Juanma Barranquero.
215
216 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
217
218         bootstrap: use a more consistent error reporting scheme
219         * build-aux/bootstrap (warn, die): New.
220         Use them.
221
222 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
223
224         sys_time: allow too-wide tv_sec
225         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
226         timeval even if tv_sec is wider than time_t.  This allows
227         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
228         as without this patch gnulib replaces struct timeval
229         and OpenBSD futimes therefore has a type mismatch.
230         * doc/posix-headers/sys_time.texi: Mention this.
231
232         pthread: check for both pthread_create and pthread_join
233         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
234         alter the check so that it tests for both pthread_create and
235         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
236         Suggested by Bruno Haible and Richard Yao in
237         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
238
239         parse-datetime: doc tuneup
240         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
241         spacing issues.
242
243 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
244
245         do-release-commit-and-tag: fix the previous commit
246         * build-aux/do-release-commit-and-tag: Actually the test was right,
247         but the comment and the error message were misleading.
248         Fix comment, and improve error message.
249         Perform check first, so that NEWS is not modified uselessly.
250
251         do-release-commit-and-tag: fix typo
252         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
253         _not_ start with a stub.
254
255 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
256
257         pthread: check for pthread_create, not pthread_join
258         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
259         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
260         pthread_join in libc.  I hope this removes the need for all the
261         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
262         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
263
264 2012-07-04  Jim Meyering  <meyering@redhat.com>
265
266         parse-datetime: fix failure to diagnose invalid input
267         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
268         rather than diagnosing the invalid input.  Now it reports this:
269         date: invalid date '\260'
270         * lib/parse-datetime.y (to_uchar): Define.
271         (yylex): Don't sign-extend "other" bytes.
272         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
273         Thanks to Bruno Haible for the patch to this file.
274         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
275         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
276
277 2012-07-03  Jim Meyering  <meyering@redhat.com>
278
279         bootstrap: do not require now-removed build-aux/missing
280         Now that build-aux/missing is, er, missing, bootstrap would
281         silently fail.
282         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
283         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
284         no longer part of gnulib.
285         Diagnose the failure.
286
287 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
288
289         alloca: add support for HP NonStop TNS/E native
290         * lib/alloca.in.h (alloca): Support the new host.
291         From a suggestion by Joachim Schmitz in
292         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
293
294 2012-07-02  Pádraig Brady  <P@draigBrady.com>
295
296         fsusage: remove code not needed on non GNU/Linux systems.
297
298         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
299         Don't include headers no longer needed in this case.
300         * lib/fsusage.c [STAT_STATVFS &&
301         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
302         STAT_STATFS2_FRSIZE to exclude code not used in this case.
303
304 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
305
306         fsusage: include files needed for glibc 2.6 fallback
307         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
308         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
309         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
310         Problem reported by Ludovic Courtès in
311         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
312
313         fsusage: avoid needless check on GNU/Linux
314         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
315         on GNU/Linux systems, since it can't possibly work.
316
317 2012-07-01  Bruno Haible  <bruno@clisp.org>
318
319         log: Fix an autoconf >= 2.64 warning.
320         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
321         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
322
323 2012-06-28  Bruno Haible  <bruno@clisp.org>
324
325         log10f: Fix possible configuration problem.
326         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
327         $LOGF_LIBM.
328         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
329
330 2012-06-28  Bruno Haible  <bruno@clisp.org>
331
332         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
333         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
334         not gl_cv_func_unlink_works.
335         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
336
337 2012-06-27  Eric Blake  <eblake@redhat.com>
338
339         config: drop scripts that automake says are not independent
340         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
341         * build-aux/elisp-comp: Delete.
342         * build-aux/missing: Likewise.
343         * build-aux/ylwrap: Likewise.
344         * modules/elisp-comp: Likewise.
345         * MODULES.html.sh: Drop mention of elisp-comp.
346         * NEWS: Mention this.
347
348 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
349
350         root-uid: new module
351         This is for portability to Tandem's NonStop Kernel.
352         * lib/root-uid.h, modules/root-uid: New files.
353         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
354         * lib/write-any-file.c, tests/test-sethostname2.c:
355         Include "root-uid.h".
356         * lib/euidaccess.c (euidaccess):
357         * lib/pt_chown.c (main):
358         * lib/unlinkdir.c (cannot_unlink_dir):
359         * lib/write-any-file.c (can_write_any_file):
360         * m4/mknod.m4 (gl_FUNC_MKNOD):
361         * tests/test-sethostname2.c (geteuid, main):
362         Don't assume ROOT_UID == 0.
363         * modules/euidaccess (Depends-on):
364         * modules/pt_chown (Depends-on):
365         * modules/sethostname-tests (Depends-on):
366         * modules/unlinkdir (Depends-on):
367         * modules/write-any-file (Depends-on):
368         Add root-uid.
369
370         regex: use locale-independent comparison for codeset name
371         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
372         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
373         for codeset name.
374         * lib/regex_internal.h: Do not include <strings.h>, since we
375         no longer use strcasecmp.
376         * modules/regex (Depends-on): Remove strcase.
377
378 2012-06-23  Bruno Haible  <bruno@clisp.org>
379
380         getopt-posix: No longer guarantee that option processing is resettable.
381         * doc/posix-functions/getopt.texi: Drop description of problem with
382         internal state. Fix info about mingw and msvc9.
383         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
384         option processing by getopt(). Run three test programs instead of one.
385         Simplify cross-compilation guess.
386         * NEWS: Mention the change.
387         Reported by Rich Felker <dalias@aerifal.cx>.
388
389 2012-06-26  Bruno Haible  <bruno@clisp.org>
390
391         argp, regex: Ensure strcasecmp gets declared.
392         * lib/argp-help.c: Include <strings.h>.
393         * lib/regex_internal.h: Likewise.
394         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
395
396 2012-06-24  Bruno Haible  <bruno@clisp.org>
397
398         ptsname_r: Make it consistent with ptsname on AIX.
399         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
400         implementation as for OSF/1.
401         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
402         a pty master.
403
404         ptsname_r: Make it consistent with ptsname on OSF/1.
405         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
406         OSF/1.
407
408 2012-06-24  Bruno Haible  <bruno@clisp.org>
409
410         ttyname_r: Fix result on OSF/1, Solaris.
411         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
412
413 2012-06-24  Bruno Haible  <bruno@clisp.org>
414
415         ptsname_r: Add support for Solaris.
416         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
417         Solaris.
418
419         ptsname_r: Fix test failure on native Windows.
420         * modules/ptsname_r (Depends-on): Add isatty.
421
422         ptsname_r: Fix test failures on IRIX, Solaris.
423         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
424         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
425         accordingly.
426         * lib/ptsname_r.c: Include <fcntl.h>.
427         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
428         set errno if fd is invalid.
429         * tests/test-isatty.c (main): Update comments.
430
431 2012-06-24  Bruno Haible  <bruno@clisp.org>
432
433         ptsname test: Extend test.
434         * tests/test-ptsname.c: Include <errno.h>.
435         (main): Test behaviour with invalid file descriptor.
436
437 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
438
439         time: fix obsolete comment
440         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
441         reference to HAVE_STRUCT_TIMESPEC in comment.
442
443 2012-06-23  Bruno Haible  <bruno@clisp.org>
444
445         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
446         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
447         does not handle abbreviated long options with equivalent
448         disambiguations, set gl_replace_getopt to yes.
449         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
450
451 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
452
453         time_r: fix typo that always overrode localtime_r decl
454         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
455         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
456         not in a standard include.
457
458 2012-06-22  Bruno Haible  <bruno@clisp.org>
459
460         Write "Mac OS X" instead of "MacOS X".
461         * README: Write "Mac OS X" instead of "MacOS X".
462         * build-aux/bootstrap: Likewise.
463         * build-aux/install-reloc: Likewise.
464         * lib/acl-internal.h: Likewise.
465         * lib/acl_entries.c: Likewise.
466         * lib/argp-ba.c: Likewise.
467         * lib/argp-pv.c: Likewise.
468         * lib/config.charset: Likewise.
469         * lib/copy-acl.c: Likewise.
470         * lib/csharpexec.c: Likewise.
471         * lib/euidaccess.c: Likewise.
472         * lib/fbufmode.c: Likewise.
473         * lib/fflush.c: Likewise.
474         * lib/file-has-acl.c: Likewise.
475         * lib/filemode.h: Likewise.
476         * lib/fpurge.c: Likewise.
477         * lib/freadable.c: Likewise.
478         * lib/freadahead.c: Likewise.
479         * lib/freading.c: Likewise.
480         * lib/freadptr.c: Likewise.
481         * lib/freadseek.c: Likewise.
482         * lib/fseeko.c: Likewise.
483         * lib/fseterr.c: Likewise.
484         * lib/fsusage.c: Likewise.
485         * lib/fwritable.c: Likewise.
486         * lib/fwriting.c: Likewise.
487         * lib/get-rusage-as.c: Likewise.
488         * lib/get-rusage-data.c: Likewise.
489         * lib/getdomainname.c: Likewise.
490         * lib/idpriv-drop.c: Likewise.
491         * lib/idpriv-droptemp.c: Likewise.
492         * lib/localcharset.c: Likewise.
493         * lib/locale.in.h: Likewise.
494         * lib/localename.c: Likewise.
495         * lib/mbsrtowcs-state.c: Likewise.
496         * lib/nproc.c: Likewise.
497         * lib/passfd.c: Likewise.
498         * lib/posix_openpt.c: Likewise.
499         * lib/printf-parse.c: Likewise.
500         * lib/progreloc.c: Likewise.
501         * lib/safe-read.h: Likewise.
502         * lib/safe-write.h: Likewise.
503         * lib/sched.in.h: Likewise.
504         * lib/set-mode-acl.c: Likewise.
505         * lib/signal.in.h: Likewise.
506         * lib/stdint.in.h: Likewise.
507         * lib/stdio-impl.h: Likewise.
508         * lib/stdlib.in.h: Likewise.
509         * lib/strtod.c: Likewise.
510         * lib/sys_select.in.h: Likewise.
511         * lib/tcgetsid.c: Likewise.
512         * lib/unistd.in.h: Likewise.
513         * lib/unlockpt.c: Likewise.
514         * lib/vasnprintf.c: Likewise.
515         * lib/vma-iter.c: Likewise.
516         * lib/wcsrtombs-state.c: Likewise.
517         * m4/acl.m4: Likewise.
518         * m4/acosl.m4: Likewise.
519         * m4/asinl.m4: Likewise.
520         * m4/atanl.m4: Likewise.
521         * m4/c-stack.m4: Likewise.
522         * m4/cosl.m4: Likewise.
523         * m4/expl.m4: Likewise.
524         * m4/extensions.m4: Likewise.
525         * m4/fdatasync.m4: Likewise.
526         * m4/fmal.m4: Likewise.
527         * m4/frexp.m4: Likewise.
528         * m4/frexpf.m4: Likewise.
529         * m4/frexpl.m4: Likewise.
530         * m4/fsusage.m4: Likewise.
531         * m4/getdomainname.m4: Likewise.
532         * m4/getloadavg.m4: Likewise.
533         * m4/getopt.m4: Likewise.
534         * m4/gettext.m4: Likewise.
535         * m4/gnulib-common.m4: Likewise.
536         * m4/intdiv0.m4: Likewise.
537         * m4/intlmacosx.m4: Likewise.
538         * m4/largefile.m4: Likewise.
539         * m4/ldexpl.m4: Likewise.
540         * m4/link-follow.m4: Likewise.
541         * m4/locale-ar.m4: Likewise.
542         * m4/locale-fr.m4: Likewise.
543         * m4/locale-ja.m4: Likewise.
544         * m4/locale-tr.m4: Likewise.
545         * m4/locale-zh.m4: Likewise.
546         * m4/locale_h.m4: Likewise.
547         * m4/lock.m4: Likewise.
548         * m4/logl.m4: Likewise.
549         * m4/mathfunc.m4: Likewise.
550         * m4/minus-zero.m4: Likewise.
551         * m4/mktime.m4: Likewise.
552         * m4/mmap-anon.m4: Likewise.
553         * m4/multiarch.m4: Likewise.
554         * m4/nanosleep.m4: Likewise.
555         * m4/nocrash.m4: Likewise.
556         * m4/poll.m4: Likewise.
557         * m4/printf-frexpl.m4: Likewise.
558         * m4/printf.m4: Likewise.
559         * m4/signbit.m4: Likewise.
560         * m4/sinl.m4: Likewise.
561         * m4/sqrtl.m4: Likewise.
562         * m4/strerror_r.m4: Likewise.
563         * m4/tanl.m4: Likewise.
564         * m4/threadlib.m4: Likewise.
565         * m4/ttyname_r.m4: Likewise.
566         * m4/unlink.m4: Likewise.
567         * m4/visibility.m4: Likewise.
568         * m4/wcwidth.m4: Likewise.
569         * tests/minus-zero.h: Likewise.
570         * tests/test-alloca-opt.c: Likewise.
571         * tests/test-copy-acl.sh: Likewise.
572         * tests/test-copy-file.sh: Likewise.
573         * tests/test-fdatasync.c: Likewise.
574         * tests/test-file-has-acl.sh: Likewise.
575         * tests/test-flock.c: Likewise.
576         * tests/test-fsync.c: Likewise.
577         * tests/test-localename.c: Likewise.
578         * tests/test-malloca.c: Likewise.
579         * tests/test-nonblocking-pipe.h: Likewise.
580         * tests/test-nonblocking-socket.h: Likewise.
581         * tests/test-openpty.c: Likewise.
582         * tests/test-posix_openpt.c: Likewise.
583         * tests/test-ptsname.c: Likewise.
584         * tests/test-ptsname_r.c: Likewise.
585         * tests/test-sameacls.c: Likewise.
586         * tests/test-select.h: Likewise.
587         * tests/test-set-mode-acl.sh: Likewise.
588         * tests/test-snprintf-posix.h: Likewise.
589         * tests/test-sprintf-posix.h: Likewise.
590         * tests/test-strtod.c: Likewise.
591         * tests/test-time.c: Likewise.
592         * tests/test-vasnprintf-posix.c: Likewise.
593         * tests/test-vasprintf-posix.c: Likewise.
594         * doc/acl-resources.txt: Likewise.
595         * doc/**/*.texi: Likewise.
596         Reported by Max Horn <max@quendi.de>.
597
598 2012-06-22  Bruno Haible  <bruno@clisp.org>
599
600         grantpt: Relax requirement regarding invalid file descriptors.
601         * lib/grantpt.c: Don't include <fcntl.h>.
602         (grantpt): Don't verify the validity of the file descriptor.
603         * modules/grantpt (Depends-on): Remove fcntl-h.
604         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
605         file descriptors.
606         * doc/posix-functions/grantpt.texi: Document more platforms on which
607         grantpt succeeds for invalid file descriptors.
608         Reported by Rich Felker <dalias@aerifal.cx>.
609
610 2012-06-22  Bruno Haible  <bruno@clisp.org>
611
612         fbufmode test: Don't test unportable behaviour.
613         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
614         (main): Invoke it three times.
615         Reported by Szabolcs Nagy <nsz@port70.net>
616         and Rich Felker <dalias@aerifal.cx>.
617
618 2012-06-21  Bruno Haible  <bruno@clisp.org>
619
620         gnulib-tool: Refactor inctests variable.
621         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
622         (func_modules_transitive_closure,
623         func_modules_transitive_closure_separately,
624         func_import, func_create_testdir): Update.
625
626         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
627         * gnulib-tool: Accept option --without-tests.
628         (func_usage): Document --without-tests option. Rearrange.
629         (inctests): Normalize according to the mode.
630         * NEWS: Mention the change.
631         Suggested by Simon Josefsson.
632
633 2012-06-21  Bruce Korb  <bkorb@gnu.org>
634
635         parse-duration test: Avoid spurious output.
636         * tests/test-parse-duration.sh: Reindent with leading tabs.
637
638 2012-06-21  Jim Meyering  <meyering@redhat.com>
639
640         maint: disable the strncpy prohibition
641         * cfg.mk: Do not prohibit strncpy here.
642
643 2012-06-21  Bruno Haible  <bruno@clisp.org>
644
645         nonblocking: Avoid compilation error on mingw64.
646         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
647         fscanf.
648         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
649         * modules/vfscanf (configure.ac): Likewise.
650         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
651         definition only if stdio.h has prepared it.
652         Reported by Daniel P. Berrange <berrange@redhat.com>.
653
654 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
655
656         gnulib-tool: Use readlink if it is available.
657         * gnulib-tool (func_readlink): Choose function more appropriately.
658
659 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
660
661         posixtm-tests: port to buggy compiler
662         Problem reported by Simon Josefsson in
663         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
664         * modules/posixtm-tests (Depends-on): Add stdint.
665         * tests/test-posixtm.c (struct posixtm_test.t_expected):
666         Now of type int_least64_t, not int64_t, both because that's
667         what INT64_C returns and because int_least64_t works even
668         on 72-bit hosts.
669         (T): Use INT64_C on constants outside the traditional int range,
670         to work around compiler bug noted by Simon.
671
672         mktime: fix integer overflow in 'configure'-time test
673         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
674         after integer overflow.  Problem reported by Rich Felker in
675         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
676         Also, don't look for further instances of a bug if we've already
677         found one instance; this helps 'configure' run faster.
678
679 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
680
681         tmpfile, clean-temp: Fix invocation of GetVersionEx.
682         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
683         GetVersionEx correctly.
684         * lib/clean-temp.c (supports_delete_on_close): Likewise.
685
686 2012-06-20  Bruno Haible  <bruno@clisp.org>
687
688         fdopen: Allow implementations that don't reject invalid fd arguments.
689         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
690         succeeds.
691         Reported by Rich Felker <dalias@aerifal.cx>.
692
693 2012-06-20  Simon Josefsson  <simon@josefsson.org>
694
695         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
696         bring in LIBINTL.
697
698 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
699
700         init.sh: do not rely on autoupated PWD
701         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
702         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
703         Although Nelson's bug was not necessarily fixed by this patch,
704         it seems wise to make the change for safety.
705         * tests/init.sh (path_prepend_): Do not rely on PWD updating
706         automagically after 'cd'; this is not reliable on older shells.
707         (setup_): Fail if we cannot cd to temporary directory.
708
709 2012-06-19  Bruno Haible  <bruno@clisp.org>
710
711         stat, fstat: Avoid warnings on mingw64.
712         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
713         redefining.
714         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
715         Reported by Daniel P. Berrange <berrange@redhat.com>.
716
717 2012-06-19  Bruno Haible  <bruno@clisp.org>
718
719         stdioext: Add support for musl libc.
720
721         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
722         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
723
724         * m4/fseterr.m4: New file.
725         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
726         function exists.
727         * modules/fseterr (Files): Add m4/fseterr.m4.
728         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
729         __fseterr does not exist.
730         (Makefile.am): Remove fseterr.c from lib_SOURCES.
731
732         * lib/freadable.h: Update comment.
733
734         * lib/fwritable.h: Update comment.
735
736         * lib/freading.h: Update comment.
737
738         * lib/fwriting.h: Update comment.
739
740         * m4/freadahead.m4: New file.
741         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
742         that function exists.
743         * modules/freadahead (Files): Add m4/freadahead.m4.
744         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
745         __freadahead does not exist.
746         (Makefile.am): Remove freadahead.c from lib_SOURCES.
747
748         * m4/freadptr.m4: New file.
749         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
750         function exists.
751         * modules/freadptr (Files): Add m4/freadptr.m4.
752         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
753         __freadptr does not exist.
754         (Makefile.am): Remove freadptr.c from lib_SOURCES.
755
756         * m4/freadseek.m4: New file.
757         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
758         exists.
759         * modules/freadseek (Files): Add m4/freadseek.m4.
760         (configure.ac): Invoke gl_FUNC_FREADSEEK.
761
762         * lib/fpurge.c (fpurge): Update comment.
763
764         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
765
766 2012-06-19  Bruno Haible  <bruno@clisp.org>
767
768         *printf-posix: Put more info into config.log.
769         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
770         exit code into config.log.
771
772 2012-06-19  Bruno Haible  <bruno@clisp.org>
773
774         getopt-gnu: Fix exit code overflow in autoconf test.
775         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
776         to keep them below < 128.
777
778 2012-06-17  Jim Meyering  <meyering@redhat.com>
779
780         maint.mk: fix typo in code to derive GPG key at release time
781         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
782
783 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
784
785         regex: avoid warning when pointers are not long
786         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
787         and uintptr_t, not long, for portability to hosts where pointers and
788         long have different sizes.  Issue noted by Daniel P. Berrange in
789         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
790         and fix suggested by Bruno Haible in
791         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
792
793 2012-06-17  Bruno Haible  <bruno@clisp.org>
794
795         dummy: Relicense into the public domain.
796         * modules/dummy (License): Set to "public domain".
797         Suggested by Reuben Thomas.
798
799 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
800
801         announce-gen: VPATH issues
802         * build-aux/announce-gen (--srcdir): New option, used to trim the
803         $srcdir part of the path from $builddir to NEWS.
804         * top/maint.mk (announcement): Adjust.
805
806 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
807
808         gnu-web-doc-update: VPATH builds
809         * build-aux/gnu-web-doc-update (--builddir): New option.
810         Revamp the handling of options.
811         Prefer $(...) to `...`.
812         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
813         the template, and it is GNU mktemp specific.
814         Prefer set -e to long series of &&.
815         Restore the initial git branch, not "master".
816         Properly initialize submodules (don't rely only on bootstrap).
817         Do not reconfigure blindly, use config.status.
818         * top/README-release: Update instructions for gnu-web-doc-update.
819
820 2012-06-11  Jim Meyering  <meyering@redhat.com>
821
822         maint.mk: revert most of the previous change re "all these"
823         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
824         For rationale, see the discussion at
825         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
826
827 2012-06-10  Karl Berry  <karl@gnu.org>
828
829         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
830
831         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
832
833 2012-06-10  Bruce Korb  <bkorb@gnu.org>
834
835         parse-duration: Relicense under LGPLv2+.
836         * modules/parse-duration (License): Change to LGPLv2+.
837
838 2012-06-10  Jim Meyering  <meyering@redhat.com>
839
840         maint.mk: prohibit common grammar error: "all these"
841         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
842         the list of prohibited word sequences.  It should be "all of these".
843         * lib/tempname.c (__gen_tempname): Fix one of them.
844
845 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
846
847         do-release-commit-and-tag: support VPATH builds
848         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
849         (noteworthy): Defined earlier to factor its value.
850         (noteworthy_stub): New.
851         Use it to factor.
852         (help_version): Split into...
853         (help, version): these.
854         Adjust the option processing part.
855         Support "--option=value" in addition to "--option value".
856         (builddir): New.
857         (--builddir): New option.
858         * top/README-release: Document this.
859         Reword slightly so that the reader cannot understand that he
860         has to do these steps before calling do-release-commit-and-tag.
861
862 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
863
864         readme-release: also require announce-gen and maintainer-makefile
865         * modules/readme-release (Depends-on): here.
866         * modules/announce-gen, modules/do-release-commit-and-tag,
867         modules/gnu-web-doc-update, modules/maintainer-makefile
868         (Description): Point to readme-release.
869
870 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
871
872         maint.mk: fix VPATH issues.
873         * top/maint.mk (news-check): GNU Make understand $< very well.
874         (release-prep): NEWS is in $(srcdir).
875
876 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
877
878         readme-release: require the promoted modules.
879         * modules/readme-release (Depends-on): Add
880         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
881         in this text.
882
883 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
884             Bruno Haible  <bruno@clisp.org>
885
886         error, strerror-override: Support mingw64 from Fedora 17.
887         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
888         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
889         EINPROGRESS.
890         * lib/strerror-override.h (strerror_override): Test it.
891         * lib/strerror-override.c (strerror_override): Likewise.
892         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
893
894 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
895             Bruno Haible  <bruno@clisp.org>
896
897         error, strerror-override: Support mingw64 from Fedora 17.
898         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
899         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
900         * lib/strerror-override.h (strerror_override): Test it.
901         * lib/strerror-override.c (strerror_override): Likewise.
902
903 2012-06-03  Bruno Haible  <bruno@clisp.org>
904
905         error, strerror-override: Support new errno values from POSIX:2008.
906         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
907         ENOTRECOVERABLE.
908         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
909         platforms.
910         * lib/strerror-override.c (strerror_override): Conditionalize the
911         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
912         * lib/strerror-override.h (strerror_override): Declare also if
913         GNULIB_defined_EOWNERDEAD is defined.
914         * tests/test-errno.c (e130, e131): New variables.
915         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
916         ENOTRECOVERABLE.
917         Reported by Paolo Bonzini.
918
919 2012-05-31  Jim Meyering  <meyering@redhat.com>
920
921         savewd: add missing dependency on sys_wait module
922         * modules/savewd (Depends-on): Add sys_wait, needed at least
923         for MSVC.  Report and suggested change by Michael Goffioul.
924
925 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
926
927         system-quote-tests: port to CentOS 5
928         Problem reported by Tom G. Christensen in
929         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
930         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
931
932 2012-05-29  Jim Meyering  <meyering@redhat.com>
933
934         maint: fix typos in comments and ChangeLog
935         Culprits identified and fixed mostly automatically using these commands:
936         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
937         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
938         using http://github.com/lyda/misspell-check
939         * ChangeLog: Fix typos.
940         * doc/solaris-versions: Likewise.
941         * lib/regexec.c (re_search_stub): Likewise.
942         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
943
944 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
945
946         manywarnings: remove duplicate -Wmultichar entry
947         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
948         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
949         so keep the entry marked as documented.
950
951 2012-05-27  Karl Berry  <karl@gnu.org>
952
953         * config/srclist.txt (mktime.c): remove last libc sync,
954         perhaps just temporarily.
955
956 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
957
958         regex: don't assume uint64_t or uint32_t
959         * lib/regcomp.c (init_word_char): Don't assume that the types
960         uint64_t and uint32_t exist.  The C standard doesn't guarantee
961         them, and on some 32-bit compilers there is no uint64_t.
962         Problem reported by Gianluigi Tiesi in
963         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
964
965 2012-05-25  Jim Meyering  <meyering@redhat.com>
966
967         maint.mk: add strncpy-prohibiting syntax-check rule
968         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
969
970 2012-05-24  Jim Meyering  <meyering@redhat.com>
971
972         maint.mk: compute $(gpg_key_ID) more portably
973         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
974         That use of sed is not portable to some fringe systems.
975         Reported by Paul Eggert in
976         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
977
978 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
979
980         mktime: sync from glibc
981         * config/srclist.txt: Uncomment mktime.c.
982         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
983         First, indent with tabs, since glibc uses tabs and doesn't want to
984         change and we'd rather be identical to glibc.  Also, two small
985         coding changes:
986         (isdst_differ): Use &&, not &, as && is the usual style.
987         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
988         for clarity.
989
990 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
991
992         announce-gen: du -h is more portable than du --human
993         * build-aux/announce-gen (sizes): Invoke du with -h instead
994         of --human.  Accept leading white space in its output.
995
996 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
997
998         announce-gen: Improve diagnostics.
999         * build-aux/announce-gen: When parsing command line options,
1000         prefer "announce-gen: option --release-type requires an argument"
1001         to "Option release-type requires an argument".
1002
1003 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1004
1005         maint.mk: gpg_key_ID: use sed more portably
1006         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1007         the closing brace.
1008         (refresh-po): Fuse two sed invocations into one.
1009
1010 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1011
1012         gitlog-to-changelog: support the log message format used in Bison.
1013         * build-aux/gitlog-to-changelog: Support --strip-tab and
1014         --strip-cherry-picked.
1015
1016 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1017
1018         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1019         the rest of the current time slice to another thread in the current
1020         process. So if the thread that feeds the file decscriptor we're
1021         polling is not in the current process, we get busy-waiting.
1022         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1023         Patch from Theodore Leblond.
1024         * lib/select.c: Split polling out of the loop that sets the output
1025         fd_sets.  Check for zero result and loop if the wait timeout is
1026         infinite.
1027
1028 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1029
1030         select: Fix build error on IRIX 6.5.
1031         * lib/select.c: Include stddef.h for NULL.
1032
1033 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1034
1035         gc: fix libgcrypt detection on older machines.
1036         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1037         copyright years because the file has been distributed every year
1038         since it was created.
1039
1040 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1041
1042         crypto: fix bug in large buffer handling
1043         Problem reported by Serge Belyshev for glibc in
1044         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1045         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1046         * lib/md4.c (md4_process_block):
1047         * lib/md5.c (md5_process_block):
1048         * lib/sha1.c (sha1_process_block):
1049         * lib/sha256.c (sha256_process_block):
1050         Don't assume the buffer length is less than 2**32.
1051         * lib/sha512.c (sha512_process_block): Likewise.
1052         Here, the bug is present only in the rare case where the host does
1053         not support uint64_t or where size_t is wider than 64 bits.
1054         Use u64size to work around the problems.
1055         * lib/u64.h (u64size): New macro.
1056
1057 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1058
1059         fsusage: fix block size returned on older Linux 2.6
1060
1061         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1062         which is available since Linux 2.6.
1063         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
1064         when the member is available so it can be used as a fallback.
1065         * doc/posix-functions/statvfs.texi: Mention the hang issue
1066         on Linux < 2.6.36.
1067
1068 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1069
1070         bootstrap: suppress stderr chatter
1071         * build-aux/bootstrap (insert_sorted_if_absent, main program):
1072         Omit unnecessary chatter to stderr.  The main program chatter
1073         was there only inadvertantly.
1074
1075         bootstrap: .gitignore files created by autopoint, libtool
1076         I ran into this problem when bootstrapping the latest diffutils.
1077         After './bootstrap', 'git status' reported lots of untracked files
1078         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
1079         autopoint and do not need to be version-controlled.
1080         * build-aux/bootstrap: Put into .gitignore the files that
1081         autopoint and libtool create, by keeping track of files that exist
1082         after but not before these programs are run.
1083         (version_controlled_file): Move up.  2nd arg is now full file
1084         name, not base name; this is more convenient.  Put CVS at the end,
1085         as it's now somewhat deprecated.
1086
1087 2012-05-14  Jim Meyering  <meyering@redhat.com>
1088
1089         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
1090         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
1091         definition.  Reported by Bruno Haible.
1092
1093 2012-05-13  Bruno Haible  <bruno@clisp.org>
1094             Paul Eggert  <eggert@cs.ucla.edu>
1095
1096         binary-io: Define set_binary_mode function.
1097         * lib/binary-io.h (set_binary_mode): New function.
1098         (SET_BINARY): Define in terms of set_binary_mode.
1099         * modules/binary-io (configure.ac): Require AC_C_INLINE.
1100         * tests/test-binary-io.c (main): Accept an argument, and test either
1101         set_binary_mode or SET_BINARY depending on the argument.
1102         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
1103         argument. Clean up also t-bin-out0.tmp.
1104
1105 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1106
1107         bootstrap: take advantage of POSIX shell features
1108
1109         The 'bootstrap' script offered by Gnulib script already uses POSIX
1110         shell features (like $((...)) arithmetic expansions) that are not
1111         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
1112         means that bootstrap must already be run using a proper POSIX shell,
1113         which will thus provide more features, like ${var#pattern} parameter
1114         expansion or inversion of a command exit status with '!'.  We can
1115         thus use these features to improve the clarity and the performances
1116         of the bootstrap script.
1117
1118         Suggested by Eric Blake.
1119
1120         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
1121         of sed/expr plus command substitutions, to save some forks.  While
1122         we are at it, prefer the POSIX $(...) form of command substitution,
1123         rather than the legacy form `...` (since the former is visually
1124         clearer and interacts better with quoting), and prefer the idiom:
1125           "if ! CMD; then ACTION ..."
1126         over the idiom:
1127           "if CMD; then :; else ACTION ..."
1128         which was required by legacy Bourne shells not supporting '!'.
1129
1130 2012-05-12  Bruno Haible  <bruno@clisp.org>
1131
1132         system-quote: Add more comments.
1133         * lib/system-quote.h: Add more comments about wilcards and limitations.
1134         Suggested by Eli Zaretskii <eliz@gnu.org>.
1135
1136         sh-quote, system-quote: Add comments about wildcards.
1137         * lib/sh-quote.h: Clarify what happens with wildcard characters.
1138         * lib/system-quote.h: Likewise.
1139         Reported by Eli Zaretskii <eliz@gnu.org>.
1140
1141 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1142
1143         fsusage: check for GNU/Linux statvfs problem dynamically
1144         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
1145         Define STAT_STATFS2_BSIZE too, since in this case the code now
1146         checks dynamically whether statvfs is reliable, falling back on
1147         Linux-style statfs otherwise.
1148         (statvfs_works): New function, for dynamically testing statvfs.
1149         (get_fs_usage) [STAT_STATVFS]: Use it.
1150         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
1151         statvfs on GNU/Linux hosts, since it's now done dynamically.
1152
1153 2012-05-10  Bruno Haible  <bruno@clisp.org>
1154
1155         system-quote, execute, spawn-pipe: Escape '?' on Windows.
1156         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
1157         '?' character.
1158         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
1159         * tests/test-system-quote-main.c (check_all): Check also strings like
1160         "??????????".
1161         Reported by Eli Zaretskii <eliz@gnu.org>.
1162
1163 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1164
1165         _Noreturn: port config.h to gcc -Wundef
1166         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
1167         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
1168         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
1169
1170 2012-05-10  Bruno Haible  <bruno@clisp.org>
1171
1172         system-quote: Refactor.
1173         * lib/system-quote.h (system_quote_copy): Fix comment.
1174         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
1175         New functions, extracted from system_quote_copy.
1176         (system_quote_length, system_quote_copy): Use these functions.
1177         Reported by Paul Eggert.
1178
1179 2012-05-08  Bruno Haible  <bruno@clisp.org>
1180
1181         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
1182         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
1183
1184 2012-05-08  Bruno Haible  <bruno@clisp.org>
1185
1186         Tests for module 'system-quote'.
1187         * modules/system-quote-tests: New file.
1188         * tests/test-system-quote.sh: New file.
1189         * tests/test-system-quote-main.c: New file.
1190         * tests/test-system-quote-child.c: New file.
1191
1192         New module 'system-quote'.
1193         * lib/system-quote.h: New file.
1194         * lib/system-quote.c: New file.
1195         * modules/system-quote: New file.
1196
1197 2012-05-08  Bruno Haible  <bruno@clisp.org>
1198
1199         sh-quote: Make C++ safe and allow multiple inclusion.
1200         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
1201         declarations in extern "C".
1202
1203 2012-05-08  Bruno Haible  <bruno@clisp.org>
1204
1205         sh-quote tests: Make tests stricter.
1206         * tests/test-sh-quote.c (check_one): Check the return value of
1207         shell_quote_copy.
1208         (main): Check a string with a CR character. Check a string that
1209         contains UCHAR_MAX.
1210
1211 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
1212
1213         warnings.m4: provide a means to specify the program to compile.
1214         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
1215         (gl_WARN_ADD): here.
1216         Use gl_AS_VAR_APPEND.
1217         Support an argument to specify the program to compile.
1218         (gl_WARN_ADD): Accept an argument to specify the program to compile.
1219         AC_SUBST the WARN_CFLAGS when they are used.
1220         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
1221         leave this to gl_WARN_ADD.
1222
1223 2012-05-08  Eric Blake  <eblake@redhat.com>
1224
1225         doc: recommendations on gettext version
1226         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
1227         choice between versions.
1228         * DEPENDENCIES (gettext): Cover both approaches.
1229
1230 2012-05-08  Jim Meyering  <meyering@redhat.com>
1231
1232         init.sh: explain why EXEEXT support uses aliases rather than functions
1233         * tests/init.sh: Add a comment.
1234
1235         init.sh: don't let bash aliases interfere with tests
1236         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
1237         is bash.  This avoids problems for those who alias standard commands to
1238         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
1239         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
1240
1241 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1242
1243         stdint: be more consistent with glibc, SunOS libc
1244         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
1245         (gl_int_fast16_t, gl_uint_fast16_t)
1246         (gl_int_fast32_t, gl_uint_fast32_t)
1247         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
1248         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
1249         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
1250         Be consistent with glibc by default, and with SunOS 5.10 and later
1251         if __sun is defined.  This lessens the likelihood of clashes if
1252         code compiled for older hosts is combined with code compiled for
1253         newer ones.  Problem reported by Niels Möller in
1254         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
1255
1256 2012-05-07  Eric Blake  <eblake@redhat.com>
1257
1258         isatty: relax license to LGPLv2+
1259         * modules/isatty (License): Relax license.
1260
1261 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1262
1263         stat-size: comment fix
1264         * lib/stat-size.h: Remove obsolete comment about indenting.
1265
1266 2012-05-06  Bruno Haible  <bruno@clisp.org>
1267
1268         Tests for module 'sh-quote'.
1269         * modules/sh-quote-tests: New file.
1270         * tests/test-sh-quote.c: New file.
1271
1272 2012-05-06  Bruno Haible  <bruno@clisp.org>
1273
1274         sh-quote: Improve shell_quote_argv's signature.
1275         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
1276         * lib/sh-quote.c (shell_quote_argv): Likewise.
1277
1278 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1279
1280         stdint: document issues with int_fast8_t etc.
1281         * doc/posix-headers/stdint.texi (stdint.h): Say that other
1282         stdint.h substitutes may define these types differently.  See
1283         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
1284
1285 2012-05-05  Bruno Haible  <bruno@clisp.org>
1286
1287         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
1288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
1289         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
1290         or 'guessing no (mishandles large arguments)'.
1291
1292 2012-05-05  Bruno Haible  <bruno@clisp.org>
1293
1294         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
1295         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
1296         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1297         set gl_cv_func_link_follows_symlink to "guessing no".
1298
1299 2012-05-05  Bruno Haible  <bruno@clisp.org>
1300
1301         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
1302         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
1303         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
1304         "guessing no".
1305         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
1306
1307 2012-05-05  Bruno Haible  <bruno@clisp.org>
1308
1309         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
1310         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
1311         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1312         set gl_cv_struct_dirent_d_ino to "guessing yes".
1313
1314 2012-05-05  Bruno Haible  <bruno@clisp.org>
1315
1316         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
1317         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
1318         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
1319         "guessing yes".
1320
1321 2012-05-05  Bruno Haible  <bruno@clisp.org>
1322
1323         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
1324         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
1325         compiling to a glibc system, set gl_cv_func_signbit and
1326         gl_cv_func_signbit_gcc to "guessing yes".
1327
1328 2012-05-05  Bruno Haible  <bruno@clisp.org>
1329
1330         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
1331         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
1332         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
1333         to "guessing yes".
1334         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
1335         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
1336
1337 2012-05-05  Bruno Haible  <bruno@clisp.org>
1338
1339         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
1340         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
1341         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
1342         gl_cv_func_realpath_works to "guessing yes".
1343
1344 2012-05-05  Bruno Haible  <bruno@clisp.org>
1345
1346         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
1347         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
1348         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
1349
1350 2012-05-04  Bruno Haible  <bruno@clisp.org>
1351
1352         Tweak last commit.
1353         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
1354         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1355
1356 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1357
1358         unistd_h: make it easier to avoid sys_types_h
1359         This is useful for Emacs, which has its own method of porting to
1360         Windows, and which therefore does not need the sys_types_h module.
1361         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
1362         code moved here from gl_SYS_TYPES_H.
1363         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
1364         using the code directly.
1365         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
1366         gl_SYS_TYPES_H.
1367         * modules/sys_types (Files):
1368         * modules/unistd (Files): Add m4/off_t.m4.
1369
1370 2012-05-03  Bruno Haible  <bruno@clisp.org>
1371
1372         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
1373         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
1374         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
1375         "guessing yes" or "guessing no".
1376         (gl_FUNC_LSTAT): Update.
1377         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
1378         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1379         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
1380
1381 2012-05-03  Bruno Haible  <bruno@clisp.org>
1382
1383         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
1384         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
1385         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
1386         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
1387         cross-compiling, choose the first alternative on glibc systems.
1388         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
1389
1390 2012-05-03  Bruno Haible  <bruno@clisp.org>
1391
1392         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
1393         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
1394         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
1395
1396 2012-05-03  Bruno Haible  <bruno@clisp.org>
1397
1398         chown: Avoid "guessing no" when cross-compiling to glibc systems.
1399         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
1400
1401 2012-05-03  Bruno Haible  <bruno@clisp.org>
1402
1403         Avoid "guessing no" guesses when cross-compiling to glibc systems.
1404         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
1405         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
1406         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
1407         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
1408         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
1409         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
1410         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
1411         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
1412         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
1413         compiling to glibc systems, set gl_cv_func_chown_slash_works,
1414         gl_cv_func_chown_ctime_works to "guessing yes".
1415         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
1416         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
1417         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
1418         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
1419         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
1420         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
1421         compiling to glibc systems, set gl_cv_func_open_directory_works to
1422         "guessing yes".
1423         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
1424         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
1425         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
1426         "guessing yes".
1427         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
1428         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
1429         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1430         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1431         "guessing yes".
1432         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1433         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1434         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1435         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1436         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1437         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1438         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1439         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1440         "guessing yes".
1441         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1442         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1443         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1444         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1445         "guessing yes".
1446         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1447         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1448         "guessing yes".
1449         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1450         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1451         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1452         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1453         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1454         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1455         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1456         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1457         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1458         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1459         "guessing yes".
1460         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1461         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1462         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1463         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1464         "guessing yes".
1465         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1466         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1467         "guessing yes".
1468         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1469         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1470         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1471         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1472         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1473         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1474         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1475         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1476         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1477         "guessing yes".
1478         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1479         compiling to glibc systems, set gl_cv_func_mknod_works to
1480         "guessing yes".
1481         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1482         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1483         "guessing yes".
1484         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1485         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1486         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1487         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1488         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1489         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1490         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1491         compiling to glibc systems, set gl_cv_func_svid_putenv to
1492         "guessing yes".
1493         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1494         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1495         "guessing yes".
1496         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1497         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1498         "guessing yes".
1499         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1500         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1501         to "guessing yes".
1502         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1503         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1504         to "guessing yes".
1505         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1506         compiling to glibc systems, set gl_cv_func_rmdir_works to
1507         "guessing yes".
1508         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1509         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1510         gl_cv_func_unlink_parent_fails to "guessing yes".
1511         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1512         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1513         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1514         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1515         gl_cv_func_rename_dest_works to "guessing yes".
1516         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1517         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1518         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1519         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1520         "guessing yes".
1521         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1522         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1523         "guessing yes".
1524         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1525         compiling to glibc systems, set gl_cv_func_setenv_works to
1526         "guessing yes".
1527         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1528         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1529         "guessing yes".
1530         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1531         compiling to glibc systems, set gl_cv_func_sleep_works to
1532         "guessing yes".
1533         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1534         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1535         "guessing yes".
1536         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1537         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1538         "guessing yes".
1539         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1540         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1541         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1542         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1543         "guessing yes".
1544         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1545         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1546         "guessing yes".
1547         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1548         compiling to glibc systems, set gl_cv_func_usleep_works to
1549         "guessing yes".
1550         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1551         compiling to glibc systems, set gl_cv_func_futimesat_works to
1552         "guessing yes".
1553
1554 2012-05-03  Bruno Haible  <bruno@clisp.org>
1555
1556         Say "guessing yes" or "guessing no" when cross-compiling.
1557         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1558         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1559         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1560         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1561         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1562         am_cv_func_working_getline to "guessing yes" or "guessing no".
1563         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1564         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1565         (gl_FUNC_MEMMEM): When cross-compiling, set
1566         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1567         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1568         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1569         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1570         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1571         "guessing no".
1572         (gl_FUNC_STRCASESTR): When cross-compiling, set
1573         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1574         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1575         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1576         (gl_FUNC_STRSTR): When cross-compiling, set
1577         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1578         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1579         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1580         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1581         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1582
1583 2012-05-01  Bruno Haible  <bruno@clisp.org>
1584
1585         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1586         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1587         * build-aux/reloc-ldflags: Likewise.
1588         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1589
1590 2012-05-01  Bruno Haible  <bruno@clisp.org>
1591
1592         gnulib-tool: Remove transitional code.
1593         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1594         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1595
1596 2012-05-01  Bruno Haible  <bruno@clisp.org>
1597
1598         getcwd: Fix misindentation.
1599         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1600
1601 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1602
1603         exclude: process exclude and include directives in order
1604         This restores the pre-2009 behavior, and is part of a fix of a
1605         grep bug reported by Quentin Arce in
1606         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
1607         * lib/exclude.c (struct exclude): Remove 'tail' member.
1608         (new_exclude_segment): Prepend the new segment instead of appending.
1609         Return void, since that's now more convenient.
1610         (file_pattern_matches): Renamed from excluded_file_pattern_p.
1611         (file_name_matches): Renamed from excluded_file_name_p.
1612         (file_pattern_matches, file_name_matches):
1613         Return true if the pattern matches, not if it excludes.
1614         All callers changed.
1615         (excluded_file_name): Process the list in reverse order;
1616         since the list is now reversed this restores the pre-2009 behavior.
1617         (add_exclude): Adjust to new reversed-order list.  Use local var
1618         rather than macro, for clarity.
1619         * tests/test-exclude7.sh: Adjust to corrected behavior.
1620
1621         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
1622         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
1623         it's not possible here.  Handle the case of \ at end of pattern
1624         without dumping core.
1625         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
1626
1627         _Noreturn: future-proof non-GNU and non-MSVC compilers
1628         * build-aux/snippet/_Noreturn.h (_Noreturn):
1629         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1630         Do not define _Noreturn if __STDC_VERSION__ indicates this is
1631         C11 or later.  This is more likely to work with random future C
1632         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
1633         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
1634
1635         exclude: handle wildcards with FNM_EXTMATCH
1636         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
1637         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
1638         comment that "has wildcards" really means "has or may have
1639         wildcards".  Simplify by avoiding the need to call strcspn.
1640
1641 2012-04-29  Bruno Haible  <bruno@clisp.org>
1642
1643         gnulib-tool: Fix list of authors.
1644         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1645
1646 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1647
1648         bootstrap: support Automake-NG in $buildreq
1649         * bootstrap (check_versions): Handle automake and aclocal from
1650         Automake-NG specially.  They can be specified as respectively
1651         the "automake-ng" and "aclocal-ng" requirements.
1652
1653 2012-04-25  Eric Blake  <eblake@redhat.com>
1654
1655         bootstrap: only force latest Makefile.in.in for gettext module
1656         * build-aux/bootstrap (with_gettext): Only install latest
1657         Makefile.in.in for projects requesting bleeding edge gettext.
1658
1659 2012-04-22  Bruno Haible  <bruno@clisp.org>
1660
1661         doc: Mention reason for replacement on glibc/Linux systems.
1662         * doc/posix-functions/dprintf.texi: Mention the problem with special
1663         'long double' values.
1664         * doc/posix-functions/fprintf.texi: Likewise.
1665         * doc/posix-functions/printf.texi: Likewise.
1666         * doc/posix-functions/snprintf.texi: Likewise.
1667         * doc/posix-functions/sprintf.texi: Likewise.
1668         * doc/posix-functions/vdprintf.texi: Likewise.
1669         * doc/posix-functions/vfprintf.texi: Likewise.
1670         * doc/posix-functions/vprintf.texi: Likewise.
1671         * doc/posix-functions/vsnprintf.texi: Likewise.
1672         * doc/posix-functions/vsprintf.texi: Likewise.
1673         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
1674         platforms with F_DUPFD_CLOEXEC problems.
1675         * doc/posix-functions/glob.texi: Mention which platforms are affected
1676         by the problem with symbolic links.
1677         * doc/posix-functions/linkat.texi: Mention the problem with
1678         AT_SYMLINK_FOLLOW on Linux.
1679
1680 2012-04-22  Bruno Haible  <bruno@clisp.org>
1681
1682         pwrite: Don't replace on all platforms.
1683         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
1684
1685 2012-04-22  Bruno Haible  <bruno@clisp.org>
1686
1687         rint* tests: Avoid gcc warnings.
1688         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
1689         * tests/test-rintf.c (INFINITY, NAN): Likewise.
1690         * tests/test-rintl.c (INFINITY, NAN): Likewise.
1691
1692 2012-04-21  Bruno Haible  <bruno@clisp.org>
1693
1694         users.txt: Update.
1695         * users.txt: Add freedink, wdiff. Update URLs for projects that have
1696         switched from CVS to git, bzr, or svn.
1697
1698 2012-04-21  Bruno Haible  <bruno@clisp.org>
1699
1700         Large File Support for native Windows platforms.
1701
1702         * m4/largefile.m4 (gl_LARGEFILE): New macro.
1703         * modules/largefile (configure.ac): Require gl_LARGEFILE.
1704
1705         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
1706         type.
1707         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
1708         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
1709         * doc/posix-headers/sys_types.texi: Mention the effect of the
1710         'largefile' module.
1711
1712         * lib/fcntl.in.h: Add comments about off_t.
1713         * modules/fcntl-h (Depends-on): Add sys_types.
1714
1715         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
1716         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
1717         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
1718         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
1719         * modules/unistd (Depends-on): Add sys_types.
1720         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
1721
1722         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
1723         instead of lseek.
1724         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
1725         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
1726         * modules/lseek (Depends-on): Add sys_types.
1727
1728         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
1729         msvc-nothrow.h.
1730         (SetFileSize): New function.
1731         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
1732         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
1733         if Large File Support is requested.
1734         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
1735         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
1736
1737         * lib/stdio.in.h: Add comments about off_t.
1738         * modules/stdio (Depends-on): Add sys_types.
1739
1740         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
1741         instead of ftello.
1742         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
1743         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
1744         (gl_PREREQ_FTELLO): New macro.
1745         * modules/ftello (Depends-on): Add sys_types.
1746         (configure.ac): Incoke gl_PREREQ_FTELLO.
1747
1748         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
1749         instead of fseeko.
1750         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
1751         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
1752         (gl_PREREQ_FSEEKO): New macro.
1753         * modules/fseeko (Depends-on): Add sys_types.
1754         (configure.ac): Invoke gl_PREREQ_FSEEKO.
1755
1756         * lib/sys_stat.in.h: Add comments about off_t.
1757         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
1758         64-bit integer for st_size in 'struct stat'.
1759         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
1760         Define _GL_WINDOWS_64_BIT_ST_SIZE.
1761         * modules/sys_stat (Depends-on): Add sys_types.
1762         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
1763
1764         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
1765         instead of stat or _stat.
1766
1767         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
1768         'struct _stati64' instead of fstat and 'struct stat'.
1769         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
1770         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
1771
1772         Reported by Ray Satiro <raysatiro@yahoo.com>.
1773
1774 2012-04-19  Eric Blake  <eblake@redhat.com>
1775
1776         bootstrap: accommodate older libtool
1777         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
1778         Reported by Daniel P. Berrange.
1779
1780 2012-04-19  Jim Meyering  <meyering@redhat.com>
1781
1782         announce-gen: avoid failure due to lack of Digest::SHA1
1783         Even with the preferred Digest::SHA available, this script
1784         would fail when the backup module, Digest::SHA1, was not installed.
1785         * build-aux/announce-gen: Quote the conditional use of "use".
1786         Reported by Reuben Thomas in:
1787         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
1788
1789         bootstrap: don't let a user's CDPATH setting affect this script
1790         When CDPATH is set, cd will sometimes generate output.
1791         When "cd" is run in a subshell whose output matters, that
1792         surprising-to-some output can cause malfunction.
1793         Unsetting CDPATH turns off this shell "feature."
1794         * build-aux/bootstrap (CDPATH): Unset.
1795         Reported by Reuben Thomas in:
1796         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
1797         and inspired by his patch here:
1798         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
1799
1800 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
1801         and Jim Meyering  <meyering@redhat.com>
1802
1803         maint.mk: catch "see @xref{}" and similar
1804         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
1805         prohibit "See also @xref{", "Also see @pxref{", and similar.
1806
1807 2012-04-16  Jim Meyering  <meyering@redhat.com>
1808
1809         bootstrap: really use gnulib's po/Makefile.in.in
1810         * build-aux/bootstrap: Correct the source file name in previous change.
1811         Reported by Akim Demaille.
1812
1813         configmake: correct minor inconsistency in Makefile rule
1814         * modules/configmake (Makefile.am): All other rules like this one
1815         run the final "mv -f ..." in the same backslash-continued command
1816         as the one that does everything else.  This one put the mv -f ...
1817         command on a separate, non-backslash-continued line.
1818         Make it like the others.
1819
1820         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
1821         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
1822         the one from gettext.  Reported by Akim Demaille.
1823
1824 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
1825
1826         Fix recursion of install-* into po directories.
1827         Bison's install-pdf bug reported by Hans Aberg at
1828         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
1829         * build-aux/po/Makefile.in.in (install-dvi, install-html)
1830         (install-info, install-pdf, install-ps): New targets.
1831
1832 2012-04-16  Jim Meyering  <meyering@redhat.com>
1833
1834         maint: avoid spurious "make sc_maint" failure
1835         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
1836         exempt all *.class file names, for lib/javaversion.class.
1837
1838 2012-04-15  Bruno Haible  <bruno@clisp.org>
1839
1840         lseek: Make configure test independent of environment.
1841         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
1842         Windows, we know that lseek() on pipes is broken; skip the runtime
1843         test.
1844
1845 2012-04-14  Bruno Haible  <bruno@clisp.org>
1846
1847         stat: Bypass buggy override in mingw64.
1848         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
1849         * lib/stat.c (stat) [mingw64]: Define to _stat.
1850         * doc/posix-functions/stat.texi: Mention mingw64 bug.
1851
1852 2012-04-14  Bruno Haible  <bruno@clisp.org>
1853
1854         pathmax: Fix compilation error on MSVC 9.
1855         * modules/pathmax (Depends-on): Add unistd.
1856
1857 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
1858
1859         README: document pointer comparison assumption
1860         * README (Portability guidelines): Document assumption about
1861         pointer comparisons, in response to a recent bug-gnulib comment by
1862         Jeffrey Kegler.
1863
1864 2012-04-12  Bruno Haible  <bruno@clisp.org>
1865
1866         Tests for module 'getrusage'.
1867         * modules/getrusage-tests: New file.
1868         * tests/test-getrusage.c: New file.
1869
1870         New module 'getrusage'.
1871         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
1872         warn-on-use.h.
1873         (getrusage): New declaration.
1874         * lib/getrusage.c: New file.
1875         * m4/getrusage.m4: New file.
1876         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
1877         is declared.
1878         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
1879         HAVE_GETRUSAGE.
1880         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
1881         snippet/c++defs, snippet/warn-on-use.
1882         (Makefile.am): Update generation of sys/resource.h. Substitute
1883         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
1884         * modules/getrusage: New file.
1885         * doc/posix-functions/getrusage.texi: Mention the new module.
1886
1887 2012-04-12  Bruno Haible  <bruno@clisp.org>
1888
1889         Tests for module 'sys_resource'.
1890         * modules/sys_resource-tests: New file.
1891         * tests/test-sys_resource.c: New file.
1892
1893         New module 'sys_resource'.
1894         * lib/sys_resource.in.h: New file.
1895         * m4/sys_resource_h.m4: New file.
1896         * modules/sys_resource: New file.
1897         * doc/posix-headers/sys_resource.texi: Mention the new module.
1898
1899 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
1900
1901         ioctl: Fix compilation error on mingw.
1902         * lib/ioctl.c: Include <windows.h>.
1903         Also reported by Ray Satiro <raysatiro@yahoo.com>.
1904
1905 2012-04-04  Jim Meyering  <meyering@redhat.com>
1906
1907         regex: correct #pragma guard expression
1908         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
1909         not 4.3.  Correct its cpp guard expression.
1910
1911 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
1912
1913         regex: remove unnecessary type punning
1914         Problem reported by Vladimir Serbinenko in
1915         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
1916         * lib/regex.h (struct re_pattern_buffer): Change the type of
1917         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
1918         Fix comment to match code.
1919         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
1920         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
1921         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
1922         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
1923         (set_regs):
1924         Omit no-longer-necessary casts.
1925
1926 2012-04-03  Bruno Haible  <bruno@clisp.org>
1927
1928         Tests for module 'ilogbl'.
1929         * modules/ilogbl-tests: New file.
1930         * tests/test-ilogbl.c: New file.
1931
1932         New module 'ilogbl'.
1933         * lib/math.in.h (ilogbl): New declaration.
1934         * lib/ilogbl.c: New file.
1935         * m4/ilogbl.m4: New file.
1936         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
1937         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
1938         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
1939         Split sed invocation, to avoid the limit of 100 substitutions of
1940         HP-UX 'sed'.
1941         * modules/ilogbl: New file.
1942         * tests/test-math-c++.cc: Check the declaration of ilogbl.
1943         * doc/posix-functions/ilogbl.texi: Mention the new module.
1944
1945 2012-04-03  Bruno Haible  <bruno@clisp.org>
1946
1947         Tests for module 'ilogbf'.
1948         * modules/ilogbf-tests: New file.
1949         * tests/test-ilogbf.c: New file.
1950
1951         New module 'ilogbf'.
1952         * lib/math.in.h (ilogbf): New declaration.
1953         * lib/ilogbf.c: New file.
1954         * m4/ilogbf.m4: New file.
1955         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
1956         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
1957         REPLACE_ILOGBF.
1958         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
1959         REPLACE_ILOGBF.
1960         * modules/ilogbf: New file.
1961         * tests/test-math-c++.cc: Check the declaration of ilogbf.
1962         * doc/posix-functions/ilogbf.texi: Mention the new module.
1963
1964 2012-04-03  Bruno Haible  <bruno@clisp.org>
1965
1966         Tests for module 'ilogb'.
1967         * modules/ilogb-tests: New file.
1968         * tests/test-ilogb.c: New file.
1969         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
1970         tests/test-logb-ieee.h.
1971
1972         New module 'ilogb'.
1973         * lib/math.in.h (ilogb): New declaration.
1974         * lib/ilogb.c: New file.
1975         * m4/ilogb.m4: New file.
1976         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
1977         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
1978         REPLACE_ILOGB.
1979         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
1980         REPLACE_ILOGB.
1981         * modules/ilogb: New file.
1982         * tests/test-math-c++.cc: Check the declaration of ilogb.
1983         * doc/posix-functions/ilogb.texi: Mention the new module.
1984
1985 2012-04-03  Bruno Haible  <bruno@clisp.org>
1986
1987         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
1988         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
1989         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
1990         (main): Check their values.
1991         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
1992         problem.
1993
1994 2012-04-03  Bruno Haible  <bruno@clisp.org>
1995
1996         Tests for module 'logbl-ieee'.
1997         * modules/logbl-ieee-tests: New file.
1998         * tests/test-logbl-ieee.c: New file.
1999
2000         New module 'logbl-ieee'.
2001         * modules/logbl-ieee: New file.
2002
2003         Tests for module 'logb-ieee'.
2004         * modules/logb-ieee-tests: New file.
2005         * tests/test-logb-ieee.c: New file.
2006
2007         New module 'logb-ieee'.
2008         * modules/logb-ieee: New file.
2009
2010         Tests for module 'logbf-ieee'.
2011         * modules/logbf-ieee-tests: New file.
2012         * tests/test-logbf-ieee.c: New file.
2013         * tests/test-logb-ieee.h: New file.
2014
2015         New module 'logbf-ieee'.
2016         * modules/logbf-ieee: New file.
2017
2018 2012-04-03  Bruno Haible  <bruno@clisp.org>
2019
2020         Tests for module 'logbl'.
2021         * modules/logbl-tests: New file.
2022         * tests/test-logbl.c: New file.
2023
2024         New module 'logbl'.
2025         * lib/math.in.h (logbl): New declaration.
2026         * lib/logbl.c: New file.
2027         * m4/logbl.m4: New file.
2028         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2029         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2030         REPLACE_LOGBL.
2031         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2032         REPLACE_LOGBL.
2033         * modules/logbl: New file.
2034         * tests/test-math-c++.cc: Check the declaration of logbl.
2035         * doc/posix-functions/logbl.texi: Mention the new module.
2036
2037 2012-04-02  Bruno Haible  <bruno@clisp.org>
2038
2039         Tests for module 'logbf'.
2040         * modules/logbf-tests: New file.
2041         * tests/test-logbf.c: New file.
2042
2043         New module 'logbf'.
2044         * lib/math.in.h (logbf): New declaration.
2045         * lib/logbf.c: New file.
2046         * m4/logbf.m4: New file.
2047         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2048         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2049         REPLACE_LOGBF.
2050         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2051         REPLACE_LOGBF.
2052         * modules/logbf: New file.
2053         * tests/test-math-c++.cc: Check the declaration of logbf.
2054         * doc/posix-functions/logbf.texi: Mention the new module.
2055
2056 2012-04-02  Bruno Haible  <bruno@clisp.org>
2057
2058         logb tests: More tests.
2059         * tests/test-logb.h: New file, based on tests/test-logb.c and
2060         tests/test-frexp.h.
2061         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2062         (main): Just invoke test_function.
2063         * modules/logb-tests (Files): Add tests/test-logb.h,
2064         tests/minus-zero.h, tests/randomd.c.
2065         (Makefile.am): Add randomd.c to test_logb_SOURCES.
2066
2067         logb: Provide replacement and workarounds.
2068         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
2069         is 1.
2070         * lib/logb.c: New file.
2071         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
2072         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
2073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
2074         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
2075         * modules/logb (Files): Add lib/logb.c.
2076         (Depends-on): Add isfinite, frexp, isnand.
2077         (configure.ac): Compile the replacement code logb.c if needed.
2078         * tests/test-math-c++.cc: Check the declaration of logb.
2079         * doc/posix-functions/logb.texi: Mention the replacement and the bug
2080         with subnormal numbers.
2081
2082 2012-04-02  Bruno Haible  <bruno@clisp.org>
2083
2084         log10* tests: Speed up.
2085         * tests/test-log10.h (test_function): Reduce amount of random numbers
2086         to test.
2087
2088 2012-04-01  Bruno Haible  <bruno@clisp.org>
2089
2090         logf-ieee: Fix test whether logf works.
2091         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
2092
2093 2012-04-01  Bruno Haible  <bruno@clisp.org>
2094
2095         log10l: Work around log10l-ieee test failure on IRIX 6.5.
2096         * lib/log10l.c: Include <float.h>
2097         (log10l): On IRIX, normalize the +Infinity value.
2098         * modules/log10l (Depends-on): Add 'float'.
2099         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
2100         +Infinity.
2101
2102         log10f-ieee: Work around test failure on NetBSD 5.1.
2103         * m4/log10f-ieee.m4: New file.
2104         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
2105         test whether log10f works with a negative argument. Replace it if not.
2106         * lib/log10f.c (log10f): For negative arguments, return NaN.
2107         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
2108         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
2109         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
2110
2111         log10f-ieee: Work around test failure on Solaris 9.
2112         * modules/log10f-ieee (Depends-on): Add log10-ieee.
2113         (configure.ac): Require gl_FUNC_LOG10F.
2114
2115         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2116         * m4/log10-ieee.m4: New file.
2117         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
2118         whether log10 works with a negative argument. Replace it if not.
2119         * lib/log10.c (log10): For negative arguments, return NaN.
2120         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
2121         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
2122         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
2123
2124         Tests for module 'log10l-ieee'.
2125         * modules/log10l-ieee-tests: New file.
2126         * tests/test-log10l-ieee.c: New file.
2127
2128         New module 'log10l-ieee'.
2129         * modules/log10l-ieee: New file.
2130
2131         Tests for module 'log10-ieee'.
2132         * modules/log10-ieee-tests: New file.
2133         * tests/test-log10-ieee.c: New file.
2134
2135         New module 'log10-ieee'.
2136         * modules/log10-ieee: New file.
2137
2138         Tests for module 'log10f-ieee'.
2139         * modules/log10f-ieee-tests: New file.
2140         * tests/test-log10f-ieee.c: New file.
2141         * tests/test-log10-ieee.h: New file.
2142
2143         New module 'log10f-ieee'.
2144         * modules/log10f-ieee: New file.
2145
2146 2012-04-01  Bruno Haible  <bruno@clisp.org>
2147
2148         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
2149         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
2150         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
2151         workaround.
2152         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
2153         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
2154         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
2155         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
2156         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
2157         (Depends-on): Update conditions.
2158         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
2159         IRIX 6.5, OSF/1 5.1 problems.
2160
2161 2012-04-01  Bruno Haible  <bruno@clisp.org>
2162
2163         log10f: Work around OSF/1 5.1 bug.
2164         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
2165         * lib/log10f.c (log10f): If logf exists, use it and provide just the
2166         workaround.
2167         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
2168         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
2169         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
2170         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
2171         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
2172         (Depends-on): Update conditions.
2173         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
2174
2175 2012-04-01  Bruno Haible  <bruno@clisp.org>
2176
2177         log10: Work around OSF/1 5.1 bug.
2178         * lib/math.in.h (log10): New declaration.
2179         * lib/log10.c: New file.
2180         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
2181         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
2182         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
2183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
2184         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
2185         * modules/log10 (Files): Add lib/log10.c.
2186         (Depends-on): Add math.
2187         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
2188         * tests/test-math-c++.cc: Check the declaration of log10.
2189         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
2190
2191 2012-03-31  Bruno Haible  <bruno@clisp.org>
2192
2193         log10l tests: More tests.
2194         * modules/log10l-tests (Files): Add tests/test-log10l.h,
2195         tests/minus-zero.h, tests/randoml.c.
2196         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
2197         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
2198         (main): Invoke test_function.
2199
2200         log10f tests: More tests.
2201         * modules/log10f-tests (Files): Add tests/test-log10.h,
2202         tests/minus-zero.h, tests/randomf.c.
2203         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
2204         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
2205         (main): Invoke test_function.
2206
2207         log10 tests: More tests.
2208         * tests/test-log10.h: New file.
2209         * modules/log10-tests (Files): Add tests/test-log10.h,
2210         tests/minus-zero.h, tests/randomd.c.
2211         (Makefile.am): Add randomd.c to test_log10_SOURCES.
2212         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
2213         (main): Invoke test_function.
2214
2215 2012-03-31  Simon Josefsson  <simon@josefsson.org>
2216
2217         fflush: Fix syntax error.
2218         * lib/fflush.c: Include unused-parameter.h, needed for
2219         _GL_UNUSED_PARAMETER.
2220         * modules/fflush (Depends-on): Add snippet/unused-parameter.
2221
2222 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2223
2224         regex: pacify GCC when compiling GRUB
2225         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
2226         a diagnostic.  Reported by Vladimir Serbinenko in
2227         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
2228
2229 2012-03-29  Eric Blake  <eblake@redhat.com>
2230
2231         stdio: don't assume gets any more
2232         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
2233         support.
2234         * modules/stdio (Makefile.am): Likewise.
2235         * lib/stdio-read.c (gets): Likewise.
2236         * tests/test-stdio-c++.cc: Likewise.
2237         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
2238         * lib/stdio.in.h (gets): Make warning occur in more places.
2239         * doc/posix-functions/gets.texi (gets): Update documentation.
2240         Reported by Christer Solskogen.
2241
2242         maint.mk: fix syntax checks without exclusions
2243         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
2244         Reported by Daniel P. Berrange.
2245
2246         strerror_r: avoid compiler warning
2247         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
2248         level.
2249
2250         fflush: avoid compiler warning
2251         * lib/fflush.c (update_fpos_cache): Mark variables that are
2252         potentially unused.
2253
2254 2012-03-25  Bruno Haible  <bruno@clisp.org>
2255
2256         Tests for module 'localeconv'.
2257         * modules/localeconv-tests: New file.
2258         * tests/test-localeconv.c: New file.
2259
2260         New module 'localeconv'.
2261         * lib/locale.in.h (localeconv): New declaration.
2262         * lib/localeconv.c: New file.
2263         * m4/localeconv.m4: New file.
2264         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
2265         REPLACE_LOCALECONV.
2266         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
2267         REPLACE_LOCALECONV.
2268         * modules/localeconv: New file.
2269         * modules/nl_langinfo (Depends-on): Add localeconv.
2270         * modules/human (Depends-on): Likewise.
2271         * doc/posix-functions/localeconv.texi: Mention the new module.
2272
2273 2012-03-25  Bruno Haible  <bruno@clisp.org>
2274
2275         locale: Provide a complete 'struct lconv'.
2276         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2277         'struct lconv' does not contain int_p_cs_precedes.
2278         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2279         * doc/posix-headers/locale.texi: Update.
2280
2281         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
2282         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
2283         * doc/posix-headers/locale.texi: Update.
2284
2285         locale: Provide a working 'struct lconv'.
2286         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
2287         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2288         'struct lconv' does not even contain decimal_point.
2289         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
2290         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
2291         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2292         * doc/posix-headers/locale.texi: Mention the problems with
2293         'struct lconv'.
2294         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2295
2296 2012-03-24  Bruno Haible  <bruno@clisp.org>
2297
2298         Enable common subexpression optimization in GCC.
2299         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
2300         macros.
2301         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
2302         GCC attribute 'const'.
2303         (uc_locale_language): Declare with GCC attribute 'pure'.
2304         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
2305         with GCC attribute 'const'.
2306         * lib/unictype.in.h (uc_is_general_category_withtable,
2307         uc_combining_class, uc_combining_class_name,
2308         uc_combining_class_long_name, uc_bidi_class_name,
2309         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
2310         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
2311         uc_decimal_value, uc_digit_value, uc_numeric_value,
2312         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
2313         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
2314         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
2315         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
2316         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
2317         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
2318         Declare with GCC attribute 'const'.
2319         (uc_general_category_name, uc_general_category_long_name,
2320         uc_general_category_byname, uc_general_category,
2321         uc_is_general_category, uc_combining_class_byname,
2322         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
2323         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
2324         Declare with GCC attribute 'pure'.
2325         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
2326         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
2327         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
2328         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
2329         with GCC attribute 'pure'.
2330         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
2331         'const'.
2332         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
2333         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
2334         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
2335         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
2336         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
2337         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
2338         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
2339         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
2340         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
2341         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
2342         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
2343         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
2344         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
2345         GCC attribute 'pure'.
2346         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
2347         'const'.
2348         * lib/uniwidth.in.h (uc_width): Simplify declaration.
2349         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
2350         u32_strwidth): Declare with GCC attribute 'pure'.
2351
2352         Enable common subexpression optimization in GCC.
2353         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2354         (alphasort): Declare with GCC attribute 'pure'.
2355         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2356         (atoll): Declare with GCC attribute 'pure'.
2357         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2358         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2359         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
2360         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2361         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
2362         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
2363         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
2364
2365 2012-03-24  Bruno Haible  <bruno@clisp.org>
2366
2367         gnulib-tool: Avoid unintended error output from 'cmp'.
2368         * gnulib-tool (func_add_file, func_update_file, func_import): Use
2369         "cmp -s", not "cmp > /dev/null".
2370
2371 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2372
2373         gnulib-tool: fix imprecise comments w.r.t. an automake bug
2374
2375         It's not just Automake versions < 1.9b that creates an empty
2376         pkgdatadir at installation time if pkgdata_DATA is specified
2377         to empty; modern automake versions do this as well, at least
2378         until automake 1.11.4 (not yet released at the moment of writing,
2379         but soon to appear).  That behaviour was generally considered a
2380         feature rather than a bug, at least until this discussion:
2381         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
2382
2383         See also automake bugs #10997 and #11030.
2384
2385         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
2386         reference to relevant automake bug numbers.
2387         (func_emit_tests_Makefile_am): Likewise.
2388
2389 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2390
2391         announce-gen: use Digest::SHA when possible
2392         * build-aux/announce-gen: Use Digest::SHA when possible, falling
2393         back to Digest::SHA1 if necessary.
2394
2395 2012-03-20  Jim Meyering  <meyering@redhat.com>
2396
2397         tests: avoid gcc warnings about argv vs. const initializers
2398         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
2399         warnings about discarding 'const' qualifier from pointer target type.
2400         * tests/test-posix_spawn2.c (main): Likewise.
2401
2402 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2403
2404         README-release: simplify slightly
2405         * top/README-release: Run "git checkout master" only once.
2406
2407 2012-03-15  Mark Wielaard  <mark@klomp.org>
2408
2409         git-merge-changelog: add specific example on how to use with hg.
2410         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
2411
2412 2012-03-18  Mark Wielaard  <mark@klomp.org>
2413
2414         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
2415
2416 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
2417
2418         git-version-gen: don't let "prefix" envvar cause trouble
2419         * build-aux/git-version-gen (prefix): Initialize properly,
2420         so as not to use a value specified via the environment.
2421         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
2422
2423 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2424
2425         regex: diagnose too-large repeat counts in EREs
2426         Previously, the code did not diagnose the too-large repeat count
2427         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
2428         as if it were 'b\{1000000000}', which is unexpected.
2429         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2430         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2431         is a reasonable one for this problem.  Another option would be to
2432         create a new REG_OVERFLOW error for repeat counts that are too large.
2433         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2434         count is too large, so that the caller can distinguish the two cases.
2435         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2436         "Too large" return code, and that repeat counts are one example of this.
2437
2438 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2439
2440         doc: some glibc x32 integer width issues
2441         * doc/posix-headers/sys_types.texi (sys/types.h):
2442         * doc/posix-headers/time.texi (time.h):
2443         Mention that glibc x32 does not conform to POSIX in a couple of
2444         areas related to integer widths.
2445
2446 2012-03-15  Bruno Haible  <bruno@clisp.org>
2447
2448         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2449         * lib/fma.c (VOLATILE): New macro.
2450         (FUNC): Use it to work around a GCC compiler bug.
2451
2452 2012-03-13  Bruno Haible  <bruno@clisp.org>
2453
2454         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2455         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2456         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2457         REPLACE_HYPOTL to 1.
2458         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2459
2460 2012-03-13  Bruno Haible  <bruno@clisp.org>
2461
2462         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2463         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2464         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2465         REPLACE_REMAINDERL to 1.
2466         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2467         bug.
2468
2469 2012-03-13  Bruno Haible  <bruno@clisp.org>
2470
2471         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2472         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2473         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2474         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2475         too big rounding errors.
2476         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2477         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2478         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2479         (Depends-on): Update conditions.
2480         * tests/test-sqrtl.c (my_ldexpl): New function.
2481         (main): Add test of a particular value.
2482         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2483
2484 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2485
2486         doc: Update timer_* platform portability notes.
2487         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2488         that always return ENOSYS.
2489         * doc/posix-functions/timer_delete.texi: Likewise.
2490         * doc/posix-functions/timer_gettime.texi: Likewise.
2491         * doc/posix-functions/timer_settime.texi: Likewise.
2492
2493 2012-03-13  Bruno Haible  <bruno@clisp.org>
2494
2495         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2496         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2497         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2498         REPLACE_CBRTL to 1.
2499         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2500
2501 2012-03-13  Bruno Haible  <bruno@clisp.org>
2502
2503         remainderl: Avoid compilation error on AIX >= 5.2.
2504         * lib/math.in.h (remainderl): Undefine macro from the system header.
2505
2506 2012-03-13  Bruno Haible  <bruno@clisp.org>
2507
2508         Avoid compilation errors with MSVC option -fp:strict.
2509         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2510         * lib/cbrtf.c: Likewise.
2511         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2512
2513 2012-03-12  Bruno Haible  <bruno@clisp.org>
2514
2515         uninorm: Don't crash in out-of-memory conditions.
2516         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2517         gracefully.
2518         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2519         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2520
2521 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2522
2523         quote: fix syntax-check
2524         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2525         also exports quote_quoting_options.
2526
2527 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2528
2529         Collapse list of copyright years to ranges.  See
2530         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2531         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2532         build-aux/csharpexec.sh.in, build-aux/gnupload,
2533         build-aux/install-reloc, build-aux/javacomp.sh.in,
2534         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2535         build-aux/move-if-change, build-aux/reloc-ldflags,
2536         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2537
2538 2012-03-11  Bruno Haible  <bruno@clisp.org>
2539
2540         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2541         * m4/log2f-ieee.m4: New file.
2542         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2543         whether log2f works with a minus zero argument. Replace it if not.
2544         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2545         (Depends-on): Add log2-ieee.
2546         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2547         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2548
2549         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2550         * m4/log2-ieee.m4: New file.
2551         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2552         whether log2 works with a minus zero argument. Replace it if not.
2553         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2554         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2555         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2556
2557         Tests for module 'log2l-ieee'.
2558         * modules/log2l-ieee-tests: New file.
2559         * tests/test-log2l-ieee.c: New file.
2560
2561         New module 'log2l-ieee'.
2562         * modules/log2l-ieee: New file.
2563
2564         Tests for module 'log2-ieee'.
2565         * modules/log2-ieee-tests: New file.
2566         * tests/test-log2-ieee.c: New file.
2567
2568         New module 'log2-ieee'.
2569         * modules/log2-ieee: New file.
2570
2571         Tests for module 'log2f-ieee'.
2572         * modules/log2f-ieee-tests: New file.
2573         * tests/test-log2f-ieee.c: New file.
2574         * tests/test-log2-ieee.h: New file.
2575
2576         New module 'log2f-ieee'.
2577         * modules/log2f-ieee: New file.
2578
2579 2012-03-11  Bruno Haible  <bruno@clisp.org>
2580
2581         Tests for module 'log2l'.
2582         * modules/log2l-tests: New file.
2583         * tests/test-log2l.c: New file.
2584
2585         New module 'log2l'.
2586         * lib/math.in.h (log2l): New declaration.
2587         * lib/log2l.c: New file.
2588         * m4/log2l.m4: New file.
2589         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2590         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2591         REPLACE_LOG2L.
2592         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2593         REPLACE_LOG2L.
2594         * modules/log2l: New file.
2595         * tests/test-math-c++.cc: Check the declaration of log2l.
2596         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2597         and OSF/1 problems.
2598
2599 2012-03-11  Bruno Haible  <bruno@clisp.org>
2600
2601         Tests for module 'log2f'.
2602         * modules/log2f-tests: New file.
2603         * tests/test-log2f.c: New file.
2604
2605         New module 'log2f'.
2606         * lib/math.in.h (log2f): New declaration.
2607         * lib/log2f.c: New file.
2608         * m4/log2f.m4: New file.
2609         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
2610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
2611         REPLACE_LOG2F.
2612         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
2613         REPLACE_LOG2F.
2614         * modules/log2f: New file.
2615         * tests/test-math-c++.cc: Check the declaration of log2f.
2616         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
2617         and OSF/1 and Cygwin problems.
2618
2619 2012-03-11  Bruno Haible  <bruno@clisp.org>
2620
2621         Tests for module 'log2'.
2622         * modules/log2-tests: New file.
2623         * tests/test-log2.c: New file.
2624         * tests/test-log2.h: New file.
2625
2626         New module 'log2'.
2627         * lib/math.in.h (log2): New declaration.
2628         * lib/log2.c: New file.
2629         * m4/log2.m4: New file.
2630         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
2631         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
2632         REPLACE_LOG2.
2633         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
2634         REPLACE_LOG2.
2635         * modules/log2: New file.
2636         * tests/test-math-c++.cc: Check the declaration of log2.
2637         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
2638         and OSF/1 and Cygwin problems.
2639
2640 2012-03-11  Bruno Haible  <bruno@clisp.org>
2641
2642         exp2* tests: More tests.
2643         * tests/test-exp2.h (test_function): Test all integral arguments that
2644         don't need to overflow or denormalized numbers.
2645         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2646         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2647         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2648
2649 2012-03-10  Bruno Haible  <bruno@clisp.org>
2650
2651         log1pl-ieee: Work around test failure on AIX 7.1.
2652         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2653
2654         log1pl-ieee: Work around test failure on IRIX 6.5.
2655         * m4/log1pl-ieee.m4: New file.
2656         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2657         test whether log1pl works with a minus zero argument. Replace it if
2658         not.
2659         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2661         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2662         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
2663         (Depends-on): Update conditions.
2664         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2665         m4/signbit.m4.
2666         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
2667         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
2668
2669         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
2670         * m4/log1pf-ieee.m4: New file.
2671         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
2672         test whether log1pf works with a minus zero argument. Replace it if
2673         not.
2674         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
2675         m4/signbit.m4.
2676         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
2677         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
2678
2679         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
2680         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
2681         (configure.ac): Require gl_FUNC_LOG1PF.
2682
2683         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
2684         * m4/log1p-ieee.m4: New file.
2685         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
2686         whether log1p works with a minus zero argument. Replace it if not.
2687         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
2688         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
2689         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
2690         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
2691         (Depends-on): Update conditions.
2692         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2693         m4/signbit.m4.
2694         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
2695         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
2696
2697         Tests for module 'log1pl-ieee'.
2698         * modules/log1pl-ieee-tests: New file.
2699         * tests/test-log1pl-ieee.c: New file.
2700
2701         New module 'log1pl-ieee'.
2702         * modules/log1pl-ieee: New file.
2703
2704         Tests for module 'log1p-ieee'.
2705         * modules/log1p-ieee-tests: New file.
2706         * tests/test-log1p-ieee.c: New file.
2707
2708         New module 'log1p-ieee'.
2709         * modules/log1p-ieee: New file.
2710
2711         Tests for module 'log1pf-ieee'.
2712         * modules/log1pf-ieee-tests: New file.
2713         * tests/test-log1pf-ieee.c: New file.
2714         * tests/test-log1p-ieee.h: New file.
2715
2716         New module 'log1pf-ieee'.
2717         * modules/log1pf-ieee: New file.
2718
2719 2012-03-10  Bruno Haible  <bruno@clisp.org>
2720
2721         Tests for module 'log1pl'.
2722         * modules/log1pl-tests: New file.
2723         * tests/test-log1pl.c: New file.
2724
2725         New module 'log1pl'.
2726         * lib/math.in.h (log1pl): New declaration.
2727         * lib/log1pl.c: New file.
2728         * m4/log1pl.m4: New file.
2729         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
2730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
2731         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
2732         * modules/log1pl: New file.
2733         * tests/test-math-c++.cc: Check the declaration of log1pl.
2734         * doc/posix-functions/log1pl.texi: Mention the new module.
2735
2736 2012-03-10  Bruno Haible  <bruno@clisp.org>
2737
2738         Tests for module 'log1pf'.
2739         * modules/log1pf-tests: New file.
2740         * tests/test-log1pf.c: New file.
2741
2742         New module 'log1pf'.
2743         * lib/math.in.h (log1pf): New declaration.
2744         * lib/log1pf.c: New file.
2745         * m4/log1pf.m4: New file.
2746         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
2747         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
2748         REPLACE_LOG1PF.
2749         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
2750         REPLACE_LOG1PF.
2751         * modules/log1pf: New file.
2752         * tests/test-math-c++.cc: Check the declaration of log1pf.
2753         * doc/posix-functions/log1pf.texi: Mention the new module.
2754
2755 2012-03-10  Bruno Haible  <bruno@clisp.org>
2756
2757         log1p tests: More tests.
2758         * tests/test-log1p.h: New file.
2759         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
2760         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
2761         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
2762         (main): Invoke test_function.
2763
2764         log1p: Provide replacement for Minix and MSVC.
2765         * lib/math.in.h (log1p): New declaration.
2766         * lib/log1p.c: New file.
2767         * m4/log1p.m4: New file.
2768         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
2769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
2770         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
2771         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
2772         (Depends-on): Add math, isnand, log, round.
2773         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
2774         HAVE_LOG1P is 0.
2775         * tests/test-math-c++.cc: Check the declaration of log1p.
2776         * doc/posix-functions/log1p.texi: Mention the replacement.
2777
2778 2012-03-10  Bruno Haible  <bruno@clisp.org>
2779
2780         math tests: Small simplification.
2781         * tests/test-exp.h (test_function): Use the same err_bound for
2782         'double' on platforms with sizeof (long double) == sizeof (double)
2783         than on platforms with sizeof (long double) > sizeof (double).
2784         * tests/test-exp2.h (test_function): Likewise.
2785         * tests/test-expm1.h (test_function): Likewise.
2786         * tests/test-log.h (test_function): Likewise.
2787
2788 2012-03-10  Bruno Haible  <bruno@clisp.org>
2789
2790         Fix some comments.
2791         * lib/expl.c: Fix an ambiguous comment.
2792         * lib/expm1.c: Likewise.
2793         * lib/expm1l.c: Likewise.
2794         * lib/exp2.c: Likewise.
2795         * lib/exp2l.c: Likewise.
2796
2797 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
2798
2799         regex: allow inclusion of <regex.h> before <limits.h>
2800         Without this patch, portable programs had to include <limits.h> before
2801         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
2802         I ran into this problem with a test version of GNU grep on Solaris 8.
2803         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
2804         This is done conditionally so that this change can be merged
2805         back to glibc.
2806         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
2807         using the included regex.
2808
2809         fts: depend on fdopendir
2810         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
2811         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
2812         problem was introduced when fdopendir was split out.
2813
2814 2012-03-10  Bruno Haible  <bruno@clisp.org>
2815
2816         Remove unused variables.
2817         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
2818         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2819
2820 2012-03-10  Bruno Haible  <bruno@clisp.org>
2821
2822         isnanf-nolibm: Fix last commit.
2823         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
2824
2825         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
2826         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
2827
2828 2012-03-10  Bruno Haible  <bruno@clisp.org>
2829
2830         logf-ieee: Work around test failure on NetBSD 5.1.
2831         * m4/logf-ieee.m4: New file.
2832         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
2833         whether logf works with a negative argument. Replace it if not.
2834         * lib/logf.c (logf): For negative arguments, return NaN.
2835         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
2836         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
2837         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
2838
2839         logf-ieee: Work around test failure on Solaris 9.
2840         * modules/logf-ieee (Depends-on): Add log-ieee.
2841         (configure.ac): Require gl_FUNC_LOGF.
2842
2843         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2844         * m4/log-ieee.m4: New file.
2845         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
2846         log works with a negative argument. Replace it if not.
2847         * lib/log.c (log): For negative arguments, return NaN.
2848         * modules/log-ieee (Files): Add m4/log-ieee.m4.
2849         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
2850         * doc/posix-functions/log.texi: Mention the log-ieee module.
2851
2852         Tests for module 'logl-ieee'.
2853         * modules/logl-ieee-tests: New file.
2854         * tests/test-logl-ieee.c: New file.
2855
2856         New module 'logl-ieee'.
2857         * modules/logl-ieee: New file.
2858
2859         Tests for module 'log-ieee'.
2860         * modules/log-ieee-tests: New file.
2861         * tests/test-log-ieee.c: New file.
2862
2863         New module 'log-ieee'.
2864         * modules/log-ieee: New file.
2865
2866         Tests for module 'logf-ieee'.
2867         * modules/logf-ieee-tests: New file.
2868         * tests/test-logf-ieee.c: New file.
2869         * tests/test-log-ieee.h: New file.
2870
2871         New module 'logf-ieee'.
2872         * modules/logf-ieee: New file.
2873
2874 2012-03-10  Bruno Haible  <bruno@clisp.org>
2875
2876         log: Fix bug introduced on 2012-03-09.
2877         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2878
2879 2012-03-10  Pádraig Brady  <P@draigBrady.com>
2880
2881         timer-time: link explicitly with pthreads on glibc
2882         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2883         to support static linking, when newer glibc is
2884         detected, as that contains pthread emulation of
2885         POSIX timer functions where required.
2886         * modules/timer-time: Depend on threadlib to
2887         pull in the appropriate library to link.
2888
2889 2012-03-10  Bruno Haible  <bruno@clisp.org>
2890
2891         log* tests: More tests.
2892         * tests/test-log.h: New file.
2893         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
2894         (main): Invoke test_function.
2895         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
2896         (main): Invoke test_function.
2897         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
2898         (main): Invoke test_function.
2899         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2900         tests/randomd.c.
2901         (Makefile.am): Add randomd.c to test_log_SOURCES.
2902         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2903         tests/randomf.c.
2904         (Makefile.am): Add randomf.c to test_logf_SOURCES.
2905         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2906         tests/randoml.c.
2907         (Depends-on): Add 'float'.
2908         (Makefile.am): Add randoml.c to test_logl_SOURCES.
2909
2910 2012-03-09  Bruno Haible  <bruno@clisp.org>
2911
2912         logl: Work around OSF/1 5.1 bug.
2913         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
2914         * lib/logl.c (logl): If logl exists, use it and provide just the
2915         workaround.
2916         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
2917         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
2918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
2919         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
2920         * modules/logl (configure.ac): Consider REPLACE_LOGL.
2921         (Depends-on): Update conditions.
2922         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2923
2924 2012-03-09  Bruno Haible  <bruno@clisp.org>
2925
2926         logf: Work around OSF/1 5.1 bug.
2927         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
2928         * lib/logf.c (logf): If logf exists, use it and provide just the
2929         workaround.
2930         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
2931         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
2932         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
2933         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
2934         * modules/logf (configure.ac): Consider REPLACE_LOGF.
2935         (Depends-on): Update conditions.
2936         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2937
2938 2012-03-09  Bruno Haible  <bruno@clisp.org>
2939
2940         log: Work around OSF/1 5.1 bug.
2941         * lib/math.in.h (log): New declaration.
2942         * lib/log.c: New file.
2943         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
2944         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
2945         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
2946         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
2947         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
2948         * modules/log (Files): Add lib/log.c.
2949         (Depends-on): Add math.
2950         (configure.ac): If REPLACE_LOG is 1, compile an override.
2951         * tests/test-math-c++.cc: Check the declaration of log.
2952         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2953
2954 2012-03-09  Jim Meyering  <meyering@redhat.com>
2955
2956         readtokens.c: adjust wording in a comment
2957         * lib/readtokens.c: Insert omitted "that" in a comment.
2958
2959 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2960
2961         modechange: add notations +40, 00440, etc.
2962         * lib/modechange.c (mode_compile): Support new notations
2963         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
2964
2965 2012-03-08  Bruno Haible  <bruno@clisp.org>
2966
2967         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
2968         * m4/exp2l-ieee.m4: New file.
2969         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
2970         test whether exp2l works with a NaN argument and with a negative
2971         infinity argument. Replace it if not.
2972         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
2973         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
2974         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
2975         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
2976         (Depends-on): Update conditions.
2977         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
2978         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
2979         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
2980
2981         Tests for module 'exp2l-ieee'.
2982         * modules/exp2l-ieee-tests: New file.
2983         * tests/test-exp2l-ieee.c: New file.
2984
2985         New module 'exp2l-ieee'.
2986         * modules/exp2l-ieee: New file.
2987
2988         Tests for module 'exp2-ieee'.
2989         * modules/exp2-ieee-tests: New file.
2990         * tests/test-exp2-ieee.c: New file.
2991
2992         New module 'exp2-ieee'.
2993         * modules/exp2-ieee: New file.
2994
2995         Tests for module 'exp2f-ieee'.
2996         * modules/exp2f-ieee-tests: New file.
2997         * tests/test-exp2f-ieee.c: New file.
2998         * tests/test-exp2-ieee.h: New file.
2999
3000         New module 'exp2f-ieee'.
3001         * modules/exp2f-ieee: New file.
3002
3003 2012-03-08  Bruno Haible  <bruno@clisp.org>
3004
3005         Tests for module 'exp2l'.
3006         * modules/exp2l-tests: New file.
3007         * tests/test-exp2l.c: New file.
3008
3009         New module 'exp2l'.
3010         * lib/math.in.h (exp2l): New declaration.
3011         * lib/exp2l.c: New file.
3012         * lib/expl-table.c: New file, extracted from lib/expl.c.
3013         * lib/expl.c (gl_expl_table): New declaration.
3014         (expl): Remove expl_table. Update reference.
3015         * m4/exp2l.m4: New file.
3016         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3018         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3019         * modules/exp2l: New file.
3020         * modules/expl (Files): Add lib/expl-table.c.
3021         (configure.ac): Compile also expl-table.c.
3022         * tests/test-math-c++.cc: Check the declaration of exp2l.
3023         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3024         problem.
3025
3026 2012-03-08  Bruno Haible  <bruno@clisp.org>
3027
3028         Tests for module 'exp2f'.
3029         * modules/exp2f-tests: New file.
3030         * tests/test-exp2f.c: New file.
3031
3032         New module 'exp2f'.
3033         * lib/math.in.h (exp2f): New declaration.
3034         * lib/exp2f.c: New file.
3035         * m4/exp2f.m4: New file.
3036         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3038         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3039         * modules/exp2f: New file.
3040         * tests/test-math-c++.cc: Check the declaration of exp2f.
3041         * doc/posix-functions/exp2f.texi: Mention the new module and the
3042         IRIX problem.
3043
3044 2012-03-08  Bruno Haible  <bruno@clisp.org>
3045
3046         Tests for module 'exp2'.
3047         * modules/exp2-tests: New file.
3048         * tests/test-exp2.c: New file.
3049         * tests/test-exp2.h: New file.
3050
3051         New module 'exp2'.
3052         * lib/math.in.h (exp2): New declaration.
3053         * lib/exp2.c: New file.
3054         * m4/exp2.m4: New file.
3055         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3057         REPLACE_EXP2.
3058         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3059         REPLACE_EXP2.
3060         * modules/exp2: New file.
3061         * tests/test-math-c++.cc: Check the declaration of exp2.
3062         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3063         and OpenBSD problems.
3064
3065 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3066
3067         savedir: fix comment typo
3068         * lib/savedir.c (savedirstream): Fix typo in comment.
3069
3070 2012-03-08  Bruno Haible  <bruno@clisp.org>
3071
3072         test-readtokens.c: use const; remove unwarranted cast
3073         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
3074
3075 2012-03-08  Bruno Haible  <bruno@clisp.org>
3076
3077         fmal: Avoid compilation error on AIX.
3078         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
3079         AIX 5.2..7.1.
3080
3081 2012-03-08  Bruno Haible  <bruno@clisp.org>
3082
3083         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
3084         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
3085         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
3086         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
3087         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
3088         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
3089         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
3090
3091 2012-03-08  Bruno Haible  <bruno@clisp.org>
3092
3093         remainderf: Override buggy system function on IRIX 6.5.
3094         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
3095         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
3096         when it exists.
3097         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
3098
3099 2012-03-08  Jim Meyering  <meyering@redhat.com>
3100
3101         test-readtokens.c: avoid const-related compilation warnings
3102         * tests/test-readtokens.c: Avoid const-related compilation warnings.
3103
3104 2012-03-07  Jim Meyering  <meyering@redhat.com>
3105             Bruno Haible  <bruno@clisp.org>
3106
3107         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
3108         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
3109         tests/randomd.c.
3110         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
3111         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
3112         tests/randoml.c.
3113         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
3114
3115 2012-03-07  Bruno Haible  <bruno@clisp.org>
3116
3117         expm1l: Avoid compilation error on AIX.
3118         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
3119         AIX 5.2..7.1.
3120
3121 2012-03-07  Bruno Haible  <bruno@clisp.org>
3122
3123         expm1l: Don't override undeclared system function on IRIX 6.5.
3124         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
3125         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
3126         it exists. Set HAVE_DECL_EXPM1L.
3127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
3128         HAVE_EXPM1L.
3129         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
3130         HAVE_EXPM1L.
3131         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
3132
3133 2012-03-07  Bruno Haible  <bruno@clisp.org>
3134
3135         remainderl: Don't override undeclared system function on IRIX 6.5.
3136         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
3137         HAVE_REMAINDERL.
3138         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
3139         declared when it exists. Set HAVE_DECL_REMAINDERL.
3140         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
3141         not HAVE_REMAINDERL.
3142         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
3143         HAVE_REMAINDERL.
3144         * doc/posix-functions/remainderl.texi: Mention missing declaration
3145         problem.
3146
3147 2012-03-07  Bruno Haible  <bruno@clisp.org>
3148
3149         rintf: Don't override undeclared system function on IRIX 6.5.
3150         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
3151         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
3152         exists. Set HAVE_DECL_RINTF.
3153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
3154         HAVE_RINTF.
3155         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
3156         HAVE_RINTF.
3157         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
3158
3159 2012-03-07  Bruno Haible  <bruno@clisp.org>
3160
3161         roundl: Avoid compilation error on AIX.
3162         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
3163         AIX 5.2..7.1.
3164
3165 2012-03-07  Bruno Haible  <bruno@clisp.org>
3166
3167         roundl: Don't override undeclared system function on IRIX 6.5.
3168         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
3169         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
3170         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3171         * modules/roundl (configure.ac): For replacement code, test
3172         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3173         (Depends-on): Update conditions.
3174         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
3175
3176 2012-03-07  Bruno Haible  <bruno@clisp.org>
3177
3178         roundf: Don't override undeclared system function on IRIX 6.5.
3179         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
3180         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
3181         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3182         * modules/roundf (configure.ac): For replacement code, test
3183         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3184         (Depends-on): Update conditions.
3185         * modules/roundf-ieee (Depends-on): Update conditions.
3186         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
3187
3188 2012-03-07  Bruno Haible  <bruno@clisp.org>
3189
3190         round: Don't override undeclared system function on IRIX 6.5.
3191         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
3192         argument.
3193         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
3194         also when it is not declared. Set HAVE_ROUND. For replacement code,
3195         test HAVE_ROUND, not HAVE_DECL_ROUND.
3196         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
3197         not HAVE_DECL_ROUND.
3198         (Depends-on): Update conditions.
3199         * modules/round-ieee (Depends-on): Update conditions.
3200         * doc/posix-functions/round.texi: Mention the IRIX problem.
3201
3202 2012-03-07  Bruno Haible  <bruno@clisp.org>
3203
3204         copysignf: Don't override undeclared system function on IRIX 6.5.
3205         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
3206         HAVE_COPYSIGNF.
3207         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
3208         declared when it exists. Set HAVE_DECL_COPYSIGNF.
3209         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
3210         not HAVE_COPYSIGNF.
3211         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
3212         HAVE_COPYSIGNF.
3213         * doc/posix-functions/copysignf.texi: Mention missing declaration
3214         problem.
3215
3216 2012-03-07  Jim Meyering  <meyering@redhat.com>
3217
3218         readtokens: add tests
3219         * modules/readtokens-tests: New file.
3220         * tests/test-readtokens.c: New file.
3221
3222 2012-03-07  Jim Meyering  <meyering@redhat.com>
3223
3224         quotearg: the module must now include quote.h
3225         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
3226         So must the module.
3227         * modules/quotearg (Files): Add quote.h.
3228
3229 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
3230
3231         readtokens: avoid core dumps with unusual calling patterns
3232         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
3233         * lib/readtokens.c: Include limits.h.
3234         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
3235         (readtoken): Don't cache the delimiters; the cache code was buggy
3236         if !delim && saved_delim, or if the new n_delim differs from the old.
3237         Also, it wasn't thread-safe.
3238
3239 2012-03-07  Bruno Haible  <bruno@clisp.org>
3240
3241         quote: Adhere to common module description layout.
3242         * modules/quote (Makefile.am): Add back empty section.
3243
3244 2012-03-06  Akim Demaille  <demaille@gostai.com>
3245
3246         quote: fuse into quotearg
3247         This patch is made for the benefit of Bison.
3248         quote does not leave the choice of the quoting style to the user.
3249         quoting_style provides poor customizability, yet quoting_options,
3250         which is very rich, is hidden inside quotearg.c.  So in order to
3251         allow quote customization, move its implementation to quotearg.c.
3252         * lib/quote.c: Remove.
3253         * modules/quote: Adjust.
3254         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
3255         warning: provide all the members of literal structs.
3256         (quote_quoting_options): New.
3257         (quote, quote_n): Import implementation from quote.c.
3258         * lib/quote.h: Import the comments from quote.c.
3259         (quote_quoting_options): New.
3260
3261 2012-03-06  Bruno Haible  <bruno@clisp.org>
3262
3263         Tests for module 'expm1l-ieee'.
3264         * modules/expm1l-ieee-tests: New file.
3265         * tests/test-expm1l-ieee.c: New file.
3266
3267         New module 'expm1l-ieee'.
3268         * modules/expm1l-ieee: New file.
3269
3270         Tests for module 'expm1f-ieee'.
3271         * modules/expm1f-ieee-tests: New file.
3272         * tests/test-expm1f-ieee.c: New file.
3273
3274         New module 'expm1f-ieee'.
3275         * modules/expm1f-ieee: New file.
3276
3277         Tests for module 'expm1-ieee'.
3278         * modules/expm1-ieee-tests: New file.
3279         * tests/test-expm1-ieee.c: New file.
3280         * tests/test-expm1-ieee.h: New file.
3281
3282         New module 'expm1-ieee'.
3283         * modules/expm1-ieee: New file.
3284         * m4/expm1-ieee.m4: New file.
3285         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
3286         whether expm1 works with a minus zero argument. Replace it if not.
3287         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
3288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
3289         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
3290         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
3291         (Depends-on): Update conditions.
3292         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
3293         AIX problem.
3294
3295 2012-03-06  Bruno Haible  <bruno@clisp.org>
3296
3297         Work around expm1f bug on IRIX 6.5.
3298         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
3299         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
3300         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
3301         not work.
3302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
3303         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
3304         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
3305         (Depends-on): Update conditions.
3306         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
3307
3308 2012-03-06  Bruno Haible  <bruno@clisp.org>
3309
3310         Tests for module 'expm1l'.
3311         * modules/expm1l-tests: New file.
3312         * tests/test-expm1l.c: New file.
3313
3314         New module 'expm1l'.
3315         * lib/math.in.h (expm1l): New declaration.
3316         * lib/expm1l.c: New file.
3317         * m4/expm1l.m4: New file.
3318         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
3319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
3320         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
3321         * modules/expm1l: New file.
3322         * tests/test-math-c++.cc: Check the declaration of expm1l.
3323         * doc/posix-functions/expm1l.texi: Mention the new module.
3324
3325 2012-03-06  Bruno Haible  <bruno@clisp.org>
3326
3327         Tests for module 'expm1f'.
3328         * modules/expm1f-tests: New file.
3329         * tests/test-expm1f.c: New file.
3330
3331         New module 'expm1f'.
3332         * lib/math.in.h (expm1f): New declaration.
3333         * lib/expm1f.c: New file.
3334         * m4/expm1f.m4: New file.
3335         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
3336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
3337         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
3338         * modules/expm1f: New file.
3339         * tests/test-math-c++.cc: Check the declaration of expm1f.
3340         * doc/posix-functions/expm1f.texi: Mention the new module.
3341
3342 2012-03-06  Bruno Haible  <bruno@clisp.org>
3343
3344         Tests for module 'expm1'.
3345         * modules/expm1-tests: New file.
3346         * tests/test-expm1.c: New file.
3347         * tests/test-expm1.h: New file.
3348
3349         New module 'expm1'.
3350         * lib/math.in.h (expm1): New declaration.
3351         * lib/expm1.c: New file.
3352         * m4/expm1.m4: New file.
3353         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
3354         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
3355         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
3356         * modules/expm1: New file.
3357         * tests/test-math-c++.cc: Check the declaration of expm1.
3358         * doc/posix-functions/expm1.texi: Mention the new module.
3359
3360 2012-03-06  Bruno Haible  <bruno@clisp.org>
3361
3362         math: Ensure declarations of math functions.
3363         * modules/acosf (Depends-on): Add 'extensions'.
3364         * modules/asinf (Depends-on): Likewise.
3365         * modules/atan2f (Depends-on): Likewise.
3366         * modules/atanf (Depends-on): Likewise.
3367         * modules/cbrt (Depends-on): Likewise.
3368         * modules/cbrtf (Depends-on): Likewise.
3369         * modules/cbrtl (Depends-on): Likewise.
3370         * modules/copysignf (Depends-on): Likewise.
3371         * modules/copysignl (Depends-on): Likewise.
3372         * modules/cosf (Depends-on): Likewise.
3373         * modules/coshf (Depends-on): Likewise.
3374         * modules/expf (Depends-on): Likewise.
3375         * modules/fabsf (Depends-on): Likewise.
3376         * modules/fabsl (Depends-on): Likewise.
3377         * modules/fmaf (Depends-on): Likewise.
3378         * modules/fmal (Depends-on): Likewise.
3379         * modules/fmodf (Depends-on): Likewise.
3380         * modules/fmodl (Depends-on): Likewise.
3381         * modules/frexpf (Depends-on): Likewise.
3382         * modules/frexpl (Depends-on): Likewise.
3383         * modules/hypot (Depends-on): Likewise.
3384         * modules/hypotf (Depends-on): Likewise.
3385         * modules/hypotl (Depends-on): Likewise.
3386         * modules/ldexpf (Depends-on): Likewise.
3387         * modules/ldexpl (Depends-on): Likewise.
3388         * modules/log10f (Depends-on): Likewise.
3389         * modules/log10l (Depends-on): Likewise.
3390         * modules/log1p (Depends-on): Likewise.
3391         * modules/logb (Depends-on): Likewise.
3392         * modules/logf (Depends-on): Likewise.
3393         * modules/modff (Depends-on): Likewise.
3394         * modules/modfl (Depends-on): Likewise.
3395         * modules/powf (Depends-on): Likewise.
3396         * modules/remainderf (Depends-on): Likewise.
3397         * modules/remainderl (Depends-on): Likewise.
3398         * modules/rintf (Depends-on): Likewise.
3399         * modules/rintl (Depends-on): Likewise.
3400         * modules/sinf (Depends-on): Likewise.
3401         * modules/sinhf (Depends-on): Likewise.
3402         * modules/sqrtf (Depends-on): Likewise.
3403         * modules/tanf (Depends-on): Likewise.
3404         * modules/tanhf (Depends-on): Likewise.
3405         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
3406         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
3407         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
3408         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
3409         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
3410         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
3411         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
3412         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
3413         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
3414         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
3415         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
3416         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
3417         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
3418         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
3419         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
3420         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
3421         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
3422         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3423         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
3424         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
3425         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
3426         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
3427         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
3428         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
3429         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3430         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3431         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3432         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3433         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3434         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3435         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3436         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3437         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3438         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3439         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3440         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3441         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3442         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3443         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3444         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3445         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3446
3447 2012-03-06  Bruno Haible  <bruno@clisp.org>
3448
3449         math: Update module names in warnings.
3450         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3451         tanl): Use specific module name in warn-on-use warning.
3452
3453 2012-03-06  Bruno Haible  <bruno@clisp.org>
3454
3455         expl: Simplify computation.
3456         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3457
3458 2012-03-05  Bruno Haible  <bruno@clisp.org>
3459
3460         exp* tests: More tests.
3461         * tests/test-exp.h: New file.
3462         * tests/test-exp.c: Include <float.h> and test-exp.h.
3463         (main): Invoke test_function.
3464         * tests/test-expf.c: Include <float.h> and test-exp.h.
3465         (main): Invoke test_function.
3466         * tests/test-expl.c: Include <float.h> and test-exp.h.
3467         (main): Invoke test_function.
3468         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3469         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3470         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3471         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3472         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3473         (Depends-on): Add 'float'.
3474         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3475
3476         expl: Fix precision of computed result.
3477         * lib/expl.c: Completely rewritten.
3478         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3479         (Maintainer): Add me.
3480         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3481
3482 2012-03-05  Bruno Haible  <bruno@clisp.org>
3483
3484         cbrt* tests: More tests.
3485         * tests/test-cbrt.h: New file.
3486         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3487         (main): Invoke test_function.
3488         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3489         (main): Invoke test_function.
3490         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3491         (main): Invoke test_function.
3492         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3493         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3494         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3495         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3496         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3497         (Depends-on): Add 'float'.
3498         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3499
3500 2012-03-05  Bruno Haible  <bruno@clisp.org>
3501
3502         hypot* tests: More tests.
3503         * tests/test-hypot.h: New file, partially extracted from
3504         tests/test-hypotl.c.
3505         * tests/test-hypot.c: Include test-hypot.h.
3506         (main): Invoke test_function.
3507         * tests/test-hypotf.c: Include test-hypot.h.
3508         (main): Invoke test_function.
3509         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3510         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3511         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3512         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3513         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3514         tests/randomf.c.
3515         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3516         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3517         tests/randoml.c.
3518         (Depends-on): Add 'fpucw', 'float'.
3519         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3520
3521 2012-03-05  Bruno Haible  <bruno@clisp.org>
3522
3523         fpucw: Doc about FreeBSD.
3524         * lib/fpucw.h: Mention FreeBSD in comments.
3525
3526 2012-03-04  Bruno Haible  <bruno@clisp.org>
3527
3528         sqrt* tests: More tests.
3529         * tests/test-sqrt.h: New file.
3530         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3531         (main): Invoke test_function.
3532         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3533         (main): Invoke test_function.
3534         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3535         (main): Invoke test_function.
3536         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3537         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3538         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3539         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3540         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3541         (Depends-on): Add 'float'.
3542         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3543
3544 2012-03-04  Bruno Haible  <bruno@clisp.org>
3545
3546         remainder* tests: More tests.
3547         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3548         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3549         (main): Invoke test_function.
3550         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3551         (main): Invoke test_function.
3552         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3553         (main): Invoke test_function.
3554         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3555         tests/randomd.c.
3556         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3557         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3558         tests/randomf.c.
3559         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3560         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3561         tests/randoml.c.
3562         (Depends-on): Add 'float'.
3563         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3564
3565 2012-03-04  Bruno Haible  <bruno@clisp.org>
3566
3567         remainder, remainderf, remainderl: Fix computation for large quotients.
3568         * lib/remainder.c: Completely rewritten.
3569         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3570         USE_FLOAT.
3571         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3572         USE_LONG_DOUBLE.
3573         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3574         isnand, isinf. Remove round, fma.
3575         * modules/remainderf (Files): Add lib/remainder.c.
3576         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3577         Remove roundf, fmaf.
3578         * modules/remainderl (Files): Add lib/remainder.c.
3579         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3580         isinf. Remove roundl, fmal.
3581         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3582         REMAINDER_LIBM.
3583         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3584         REMAINDERF_LIBM.
3585         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3586         REMAINDERL_LIBM.
3587
3588 2012-03-04  Bruno Haible  <bruno@clisp.org>
3589
3590         fmod* tests: More tests.
3591         * tests/test-fmod.h (my_ldexp): New function.
3592         (test_function): Reduce amount of random numbers to test. Add tests
3593         of very large quotients x / y.
3594         * tests/test-fmod.c (MAX_EXP): New macro.
3595         * tests/test-fmodf.c (MAX_EXP): Likewise.
3596         * tests/test-fmodl.c (MAX_EXP): Likewise.
3597
3598 2012-03-04  Bruno Haible  <bruno@clisp.org>
3599
3600         fmod, fmodl: Fix computation for large quotients x / y.
3601         * lib/fmod.c: Completely rewritten.
3602         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
3603         USE_LONG_DOUBLE.
3604         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
3605         isnand. Remove fma.
3606         * modules/fmodl (Files): Add lib/fmod.c.
3607         (Depends-on): Add float, isfinite, signbit, fabsl,
3608         frexpl, ldexpl, isnanl. Remove fma.
3609         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
3610         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
3611
3612 2012-03-03  Bruno Haible  <bruno@clisp.org>
3613
3614         fmod* tests: More tests.
3615         * tests/test-fmod.h: New file.
3616         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
3617         (main): Invoke test_function.
3618         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
3619         (main): Invoke test_function.
3620         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
3621         (main): Invoke test_function.
3622         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
3623         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
3624         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
3625         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
3626         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
3627         (Depends-on): Add 'float'.
3628         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
3629
3630 2012-03-03  Bruno Haible  <bruno@clisp.org>
3631
3632         rint* tests: More tests.
3633         * tests/test-rint.h: New file, partially extracted from
3634         tests/test-rintl.c.
3635         * tests/test-rint.c: Include test-rint.h.
3636         (main): Invoke test_function.
3637         * tests/test-rintf.c: Include test-rint.h.
3638         (main): Invoke test_function.
3639         * tests/test-rintl.c: Include test-rint.h.
3640         (main): Invoke test_function.
3641         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3642         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3643         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3644         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3645         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3646         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3647
3648 2012-03-03  Bruno Haible  <bruno@clisp.org>
3649
3650         modf* tests: More tests.
3651         * tests/test-modf.h: New file.
3652         * tests/test-modf.c: Include <float.h> and test-modf.h.
3653         (main): Invoke test_function.
3654         * tests/test-modff.c: Include <float.h> and test-modf.h.
3655         (main): Invoke test_function.
3656         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3657         (main): Invoke test_function.
3658         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3659         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3660         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3661         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3662         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
3663         (Depends-on): Add 'float'.
3664         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
3665
3666 2012-03-03  Bruno Haible  <bruno@clisp.org>
3667
3668         fabs* tests: More tests.
3669         * tests/test-fabs.h: New file, partially extracted from
3670         tests/test-fabsl.c.
3671         * tests/test-fabs.c (RANDOM): New macro.
3672         * tests/test-fabsf.c (RANDOM): New macro.
3673         * tests/test-fabsl.c (RANDOM): New macro.
3674         * modules/fabs-tests (Files): Add tests/randomd.c.
3675         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
3676         * modules/fabsf-tests (Files): Add tests/randomf.c.
3677         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
3678         * modules/fabsl-tests (Files): Add tests/randoml.c.
3679         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
3680
3681 2012-03-03  Bruno Haible  <bruno@clisp.org>
3682
3683         ldexp* tests: More tests.
3684         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
3685         * tests/test-ldexp.c (RANDOM): New macro.
3686         * tests/test-ldexpf.c (RANDOM): New macro.
3687         * tests/test-ldexpl.c (RANDOM): New macro.
3688         * modules/ldexp-tests (Files): Add tests/randomd.c.
3689         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
3690         * modules/ldexpf-tests (Files): Add tests/randomf.c.
3691         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
3692         * modules/ldexpl-tests (Files): Add tests/randoml.c.
3693         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
3694
3695 2012-03-03  Bruno Haible  <bruno@clisp.org>
3696
3697         frexp* tests: More tests.
3698         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
3699         * tests/test-frexp.c (RANDOM): New macro.
3700         * tests/test-frexpf.c (RANDOM): New macro.
3701         * tests/test-frexpl.c (RANDOM): New macro.
3702         * modules/frexp-tests (Files): Add tests/randomd.c.
3703         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
3704         * modules/frexpf-tests (Files): Add tests/randomf.c.
3705         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
3706         * modules/frexpl-tests (Files): Add tests/randoml.c.
3707         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
3708
3709 2012-03-03  Bruno Haible  <bruno@clisp.org>
3710
3711         Support for pseudo-random numbers in tests.
3712         * tests/randomf.c: New file.
3713         * tests/randomd.c: New file.
3714         * tests/randoml.c: New file.
3715         * tests/macros.h (randomf, randomd, randoml): New declarations.
3716
3717 2012-03-03  Bruno Haible  <bruno@clisp.org>
3718
3719         frexp* tests: Refactor.
3720         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
3721         * tests/test-frexp.c: Include and use it.
3722         * tests/test-frexpf.c: Likewise.
3723         * tests/test-frexpl.c: Likewise.
3724         * modules/frexp-tests (Files): Add tests/test-frexp.h.
3725         * modules/frexpf-tests (Files): Likewise.
3726         * modules/frexpl-tests (Files): Likewise.
3727
3728 2012-03-02  Jim Meyering  <meyering@redhat.com>
3729
3730         maint: don't specify XZ_OPT=-9ev in dist-related rule
3731         Using xz's -9 option is warranted only if you have a very large
3732         tarball (see xz's documentation for the sizes vs. presets), and
3733         requires 64MiB of memory at decompression time.
3734         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
3735         Automake's default of just "-e" is fine.  Override on a
3736         per-package basis by setting XZ_OPT e.g., in cfg.mk.
3737
3738 2012-03-01  Eric Blake  <eblake@redhat.com>
3739
3740         maint.mk: allow announcement for non-gnulib project
3741         * maint.mk (announcement): Skip gnulib version if not used.
3742
3743 2012-03-01  Jim Meyering  <meyering@redhat.com>
3744
3745         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
3746         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
3747         envvar settings cannot interfere.  Otherwise, setting envvars like
3748         prohibit=foo require=bar, etc. would cause spurious test failures.
3749
3750 2012-03-01  Eric Blake  <eblake@redhat.com>
3751
3752         maint.mk: add per-line exclusions to prohibitions
3753         * maint.mk (_sc_search_regexp): Add $exclude parameter.
3754         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3755         (sc_const_long_option): Use it.
3756
3757 2012-03-01  Bruno Haible  <bruno@clisp.org>
3758
3759         Tests for module 'expl-ieee'.
3760         * modules/expl-ieee-tests: New file.
3761         * tests/test-expl-ieee.c: New file.
3762
3763         New module 'expl-ieee'.
3764         * modules/expl-ieee: New file.
3765
3766         Tests for module 'exp-ieee'.
3767         * modules/exp-ieee-tests: New file.
3768         * tests/test-exp-ieee.c: New file.
3769
3770         New module 'exp-ieee'.
3771         * modules/exp-ieee: New file.
3772
3773         Tests for module 'expf-ieee'.
3774         * modules/expf-ieee-tests: New file.
3775         * tests/test-expf-ieee.c: New file.
3776         * tests/test-exp-ieee.h: New file.
3777
3778         New module 'expf-ieee'.
3779         * modules/expf-ieee: New file.
3780
3781 2012-02-29  Bruno Haible  <bruno@clisp.org>
3782
3783         cbrtl-ieee: Work around test failure on IRIX 6.5.
3784         * m4/cbrtl-ieee.m4: New file.
3785         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
3786         test whether cbrtl works with a minus zero argument. Replace it if not.
3787         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
3788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
3789         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
3790         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
3791         (Depends-on): Update conditions.
3792         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
3793         m4/signbit.m4.
3794         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
3795         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
3796         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
3797
3798         Tests for module 'cbrtl-ieee'.
3799         * modules/cbrtl-ieee-tests: New file.
3800         * tests/test-cbrtl-ieee.c: New file.
3801
3802         New module 'cbrtl-ieee'.
3803         * modules/cbrtl-ieee: New file.
3804
3805         Tests for module 'cbrt-ieee'.
3806         * modules/cbrt-ieee-tests: New file.
3807         * tests/test-cbrt-ieee.c: New file.
3808
3809         New module 'cbrt-ieee'.
3810         * modules/cbrt-ieee: New file.
3811
3812         Tests for module 'cbrtf-ieee'.
3813         * modules/cbrtf-ieee-tests: New file.
3814         * tests/test-cbrtf-ieee.c: New file.
3815         * tests/test-cbrt-ieee.h: New file.
3816
3817         New module 'cbrtf-ieee'.
3818         * modules/cbrtf-ieee: New file.
3819
3820 2012-02-29  Bruno Haible  <bruno@clisp.org>
3821
3822         cbrtf: Work around bug in IRIX 6.5 system function.
3823         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
3824         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
3825         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
3826         work.
3827         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
3828         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
3829         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
3830         (Depends-on): Update conditions.
3831         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
3832
3833 2012-02-29  Bruno Haible  <bruno@clisp.org>
3834
3835         Tests for module 'cbrtl'.
3836         * modules/cbrtl-tests: New file.
3837         * tests/test-cbrtl.c: New file.
3838
3839         New module 'cbrtl'.
3840         * lib/math.in.h (cbrtl): New declaration.
3841         * lib/cbrtl.c: New file.
3842         * m4/cbrtl.m4: New file.
3843         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
3844         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
3845         HAVE_DECL_CBRTL.
3846         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
3847         HAVE_DECL_CBRTL.
3848         * modules/cbrtl: New file.
3849         * tests/test-math-c++.cc: Check the declaration of cbrtl.
3850         * doc/posix-functions/cbrtl.texi: Mention the new module.
3851
3852 2012-02-29  Bruno Haible  <bruno@clisp.org>
3853
3854         Tests for module 'cbrtf'.
3855         * modules/cbrtf-tests: New file.
3856         * tests/test-cbrtf.c: New file.
3857
3858         New module 'cbrtf'.
3859         * lib/math.in.h (cbrtf): New declaration.
3860         * lib/cbrtf.c: New file.
3861         * m4/cbrtf.m4: New file.
3862         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
3863         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
3864         HAVE_DECL_CBRTF.
3865         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
3866         HAVE_DECL_CBRTF.
3867         * modules/cbrtf: New file.
3868         * tests/test-math-c++.cc: Check the declaration of cbrtf.
3869         * doc/posix-functions/cbrtf.texi: Mention the new module.
3870
3871 2012-02-29  Bruno Haible  <bruno@clisp.org>
3872
3873         cbrt: Provide replacement on MSVC and Minix.
3874         * lib/math.in.h (cbrt): New declaration.
3875         * lib/cbrt.c: New file.
3876         * m4/cbrt.m4: New file.
3877         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
3878         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
3879         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
3880         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
3881         (Depends-on): Add dependencies.
3882         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
3883         * tests/test-math-c++.cc: Check the declaration of cbrt.
3884         * doc/posix-functions/cbrt.texi: Mention that the module provides a
3885         replacement.
3886
3887 2012-02-29  Bruno Haible  <bruno@clisp.org>
3888
3889         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
3890         * m4/hypotl-ieee.m4: New file.
3891         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
3892         test whether hypotl works with mixed NaN and Infinity arguments.
3893         Replace it if not.
3894         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
3895         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
3896         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
3897         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
3898         (Depends-on): Update conditions.
3899         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
3900         (Depends-on): Add hypot-ieee.
3901         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
3902         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
3903
3904         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
3905         * m4/hypotf-ieee.m4: New file.
3906         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
3907         test whether hypotf works with mixed NaN and Infinity arguments.
3908         Replace it if not.
3909         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
3910         (Depends-on): Add hypot-ieee.
3911         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
3912         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
3913
3914         hypot-ieee: Work around test failure on OSF/1 and native Windows.
3915         * lib/math.in.h (hypot): New declaration.
3916         * lib/hypot.c: New file.
3917         * m4/hypot-ieee.m4: New file.
3918         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
3919         whether hypot works with mixed NaN and Infinity arguments. Replace it
3920         if not.
3921         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
3922         REPLACE_HYPOT.
3923         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
3924         * modules/hypot (Files): Add lib/hypot.c.
3925         (Depends-on): Add dependencies.
3926         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
3927         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
3928         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
3929         * tests/test-math-c++.cc: Check the declaration of hypot.
3930         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
3931
3932         Tests for module 'hypotl-ieee'.
3933         * modules/hypotl-ieee-tests: New file.
3934         * tests/test-hypotl-ieee.c: New file.
3935
3936         New module 'hypotl-ieee'.
3937         * modules/hypotl-ieee: New file.
3938
3939         Tests for module 'hypot-ieee'.
3940         * modules/hypot-ieee-tests: New file.
3941         * tests/test-hypot-ieee.c: New file.
3942
3943         New module 'hypot-ieee'.
3944         * modules/hypot-ieee: New file.
3945
3946         Tests for module 'hypotf-ieee'.
3947         * modules/hypotf-ieee-tests: New file.
3948         * tests/test-hypotf-ieee.c: New file.
3949         * tests/test-hypot-ieee.h: New file.
3950
3951         New module 'hypotf-ieee'.
3952         * modules/hypotf-ieee: New file.
3953
3954 2012-02-29  Bruno Haible  <bruno@clisp.org>
3955
3956         Remove unused variables.
3957         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
3958         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3959         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
3960         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3961
3962 2012-02-29  Eric Blake  <eblake@redhat.com>
3963
3964         termios: fix pid_t always, not just for tcgetsid
3965         * doc/posix-headers/termios.texi (termios.h): Mention problem.
3966         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
3967         just when building tcgetsid.
3968
3969 2012-02-29  Bruno Haible  <bruno@clisp.org>
3970
3971         Tests for module 'hypotl'.
3972         * modules/hypotl-tests: New file.
3973         * tests/test-hypotl.c: New file.
3974
3975         New module 'hypotl'.
3976         * lib/math.in.h (hypotl): New declaration.
3977         * lib/hypotl.c: New file.
3978         * m4/hypotl.m4: New file.
3979         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
3981         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
3982         * modules/hypotl: New file.
3983         * tests/test-math-c++.cc: Check the hypotl declaration.
3984         * doc/posix-functions/hypotl.texi: Mention the new module.
3985
3986 2012-02-29  Eric Blake  <eblake@redhat.com>
3987
3988         tcgetsid: fix cygwin header bug
3989         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
3990
3991         docs: update cygwin progress
3992         * doc/posix-functions/llround.texi (llround): Added in cygwin
3993         1.7.8.
3994         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
3995         * doc/glibc-functions/program_invocation_name.texi
3996         (program_invocation_name): Likewise.
3997         * doc/glibc-functions/program_invocation_short_name.texi
3998         (program_invocation_short_name): Likewise.
3999         * doc/glibc-functions/madvise.texi (madvise): Likewise.
4000         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
4001         Likewise.
4002         * doc/posix-functions/pthread_spin_destroy.texi
4003         (pthread_spin_destroy): Added in cygwin 1.7.10.
4004         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
4005         Likewise.
4006         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4007         Likewise.
4008         * doc/posix-functions/pthread_spin_trylock.texi
4009         (pthread_spin_trylock): Likewise.
4010         * doc/posix-functions/pthread_spin_unlock.texi
4011         (pthread_spin_unlock): Likewise.
4012         * doc/posix-functions/pthread_setschedprio.texi
4013         (pthread_setschedprio): Likewise.
4014         * doc/posix-functions/pthread_attr_getstack.texi
4015         (pthread_attr_getstack): Likewise.
4016         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4017         (pthread_attr_getstackaddr): Likewise.
4018         * doc/glibc-functions/pthread_getattr_np.texi
4019         (pthread_getattr_np): Likewise.
4020         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4021         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4022         * doc/posix-functions/clock_settime.texi (clock_settime):
4023         Likewise.
4024         * doc/posix-functions/pthread_attr_getguardsize.texi
4025         (pthread_attr_getguardsize): Likewise.
4026         * doc/posix-functions/pthread_attr_setguardsize.texi
4027         (pthread_attr_setguardsize): Likewise.
4028         * doc/posix-functions/pthread_attr_setstack.texi
4029         (pthread_attr_setstack): Likewise.
4030         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4031         (pthread_attr_setstackaddr): Likewise.
4032         * doc/posix-functions/clock_getcpuclockid.texi
4033         (clock_getcpuclockid): Likewise.
4034         * doc/posix-functions/pthread_getcpuclockid.texi
4035         (pthread_getcpuclockid): Likewise.
4036         * doc/glibc-functions/error.texi (error): Likewise.
4037         * doc/glibc-functions/error_at_line.texi (error_at_line):
4038         Likewise.
4039         * doc/glibc-functions/error_message_count.texi
4040         (error_message_count): Likewise.
4041         * doc/glibc-functions/error_one_per_line.texi
4042         (error_one_per_line): Likewise.
4043         * doc/glibc-functions/error_print_progname.texi
4044         (error_print_progname): Likewise.
4045         * doc/posix-functions/pthread_condattr_getclock.texi
4046         (pthread_condattr_getclock): Likewise.
4047         * doc/posix-functions/pthread_condattr_setclock.texi
4048         (pthread_condattr_setclock): Likewise.
4049         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4050         Likewise.
4051         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4052         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4053         * doc/glibc-functions/get_current_dir_name.texi
4054         (get_current_dir_name): Likewise.
4055         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4056         Likewise.
4057         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4058         wrong return type.
4059         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4060         1.7.11.
4061
4062 2012-02-29  Bruno Haible  <bruno@clisp.org>
4063
4064         Tests for module 'hypotf'.
4065         * modules/hypotf-tests: New file.
4066         * tests/test-hypotf.c: New file.
4067
4068         New module 'hypotf'.
4069         * lib/math.in.h (hypotf): New declaration.
4070         * lib/hypotf.c: New file.
4071         * m4/hypotf.m4: New file.
4072         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
4074         REPLACE_HYPOTF.
4075         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
4076         REPLACE_HYPOTF.
4077         * modules/hypotf: New file.
4078         * tests/test-math-c++.cc: Check the hypotf declaration.
4079         * doc/posix-functions/hypotf.texi: Mention the new module.
4080
4081         hypot: Prepare for hypotf module.
4082         * m4/hypot.m4: New file.
4083         * modules/hypot (Files): Add m4/hypot.m4.
4084         (configure.ac): Invoke gl_FUNC_HYPOT.
4085
4086 2012-02-29  Bruno Haible  <bruno@clisp.org>
4087
4088         hypot tests: More tests.
4089         * tests/test-hypot.c: Include <float.h>.
4090         (main): Add tests about overflow and underflow.
4091
4092 2012-02-29  Bruno Haible  <bruno@clisp.org>
4093
4094         math code: Add comments.
4095         * lib/acosl.c: Add comment about related glibc source files.
4096         * lib/asinl.c: Likewise.
4097         * lib/atanl.c: Likewise.
4098         * lib/expl.c: Likewise.
4099         * lib/logl.c: Likewise.
4100         * lib/sincosl.c: Likewise.
4101         * lib/sinl.c: Likewise.
4102         * lib/tanl.c: Likewise.
4103         * lib/trigl.c: Likewise.
4104         * lib/cosl.c: Likewise. Fix comments.
4105
4106 2012-02-28  Bruno Haible  <bruno@clisp.org>
4107
4108         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
4109         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
4110         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
4111         HUGE_VALL are defined.
4112         (numeric_equald): Renamed from numeric_equal.
4113         (numeric_equalf, numeric_equall): New functions.
4114         (main): Check also HUGE_VALF, HUGE_VALL.
4115         * modules/math-tests (Files): Add tests/macros.h.
4116         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
4117         HUGE_VALL.
4118
4119 2012-02-28  Bruno Haible  <bruno@clisp.org>
4120
4121         doc: Move ISO C11 feature notes into POSIX chapters.
4122         * doc/posix-functions/aligned_alloc.texi: Renamed from
4123         doc/glibc-functions/aligned_alloc.texi.
4124         * doc/posix-functions/quick_exit.texi: Renamed from
4125         doc/glibc-functions/quick_exit.texi.
4126         * doc/posix-headers/uchar.texi: Renamed from
4127         doc/glibc-headers/uchar.texi.
4128         * doc/posix-functions/c16rtomb.texi: Renamed from
4129         doc/glibc-functions/c16rtomb.texi.
4130         * doc/posix-functions/c32rtomb.texi: Renamed from
4131         doc/glibc-functions/c32rtomb.texi.
4132         * doc/posix-functions/mbrtoc16.texi: Renamed from
4133         doc/glibc-functions/mbrtoc16.texi.
4134         * doc/posix-functions/mbrtoc32.texi: Renamed from
4135         doc/glibc-functions/mbrtoc32.texi.
4136         * doc/gnulib.texi: Update.
4137         (Glibc uchar.h): Remove section.
4138         Suggested by Eric Blake.
4139
4140 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
4141
4142         stdnoreturn: port to MSVC better
4143         MSVC standard headers use __declspec(noreturn), so #define noreturn
4144         to empty on that platform.  Reported by Bruno Haible in
4145         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
4146         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
4147         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
4148
4149 2012-02-28  Bruno Haible  <bruno@clisp.org>
4150
4151         doc: Mention new glibc headers and functions.
4152         * doc/glibc-headers/uchar.texi: New file.
4153         * doc/glibc-functions/aligned_alloc.texi: New file.
4154         * doc/glibc-functions/c16rtomb.texi: New file.
4155         * doc/glibc-functions/c32rtomb.texi: New file.
4156         * doc/glibc-functions/clock_adjtime.texi: New file.
4157         * doc/glibc-functions/fanotify_init.texi: New file.
4158         * doc/glibc-functions/fanotify_mark.texi: New file.
4159         * doc/glibc-functions/inet6_opt_append.texi: New file.
4160         * doc/glibc-functions/inet6_opt_find.texi: New file.
4161         * doc/glibc-functions/inet6_opt_finish.texi: New file.
4162         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
4163         * doc/glibc-functions/inet6_opt_init.texi: New file.
4164         * doc/glibc-functions/inet6_opt_next.texi: New file.
4165         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
4166         * doc/glibc-functions/inet6_rth_add.texi: New file.
4167         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
4168         * doc/glibc-functions/inet6_rth_init.texi: New file.
4169         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
4170         * doc/glibc-functions/inet6_rth_segments.texi: New file.
4171         * doc/glibc-functions/inet6_rth_space.texi: New file.
4172         * doc/glibc-functions/login.texi: New file.
4173         * doc/glibc-functions/mbrtoc16.texi: New file.
4174         * doc/glibc-functions/mbrtoc32.texi: New file.
4175         * doc/glibc-functions/name_to_handle_at.texi: New file.
4176         * doc/glibc-functions/ntp_gettimex.texi: New file.
4177         * doc/glibc-functions/open_by_handle_at.texi: New file.
4178         * doc/glibc-functions/prlimit.texi: New file.
4179         * doc/glibc-functions/process_vm_readv.texi: New file.
4180         * doc/glibc-functions/process_vm_writev.texi: New file.
4181         * doc/glibc-functions/recvmmsg.texi: New file.
4182         * doc/glibc-functions/scandirat.texi: New file.
4183         * doc/glibc-functions/sendmmsg.texi: New file.
4184         * doc/glibc-functions/setns.texi: New file.
4185         * doc/glibc-functions/timespec_get.texi: New file.
4186         * doc/gnulib.texi: Include them.
4187         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
4188         sections.
4189         Reported by Eric Blake.
4190
4191 2012-02-28  Bruno Haible  <bruno@clisp.org>
4192
4193         Avoid compilation errors with MSVC option -fp:strict.
4194         * lib/floor.c: Use MSVC specific pragma fenv_access.
4195         * lib/ceil.c: Likewise.
4196         * lib/trunc.c: Likewise.
4197         * lib/round.c: Likewise.
4198         * lib/rint.c: Likewise.
4199         * lib/fma.c: Likewise.
4200         * lib/integer_length.c: Likewise.
4201         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4202         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4203         * tests/test-floor2.c: Likewise.
4204         * tests/test-floorf2.c: Likewise.
4205         * tests/test-ceil2.c: Likewise.
4206         * tests/test-ceilf2.c: Likewise.
4207         * tests/test-trunc2.c: Likewise.
4208         * tests/test-truncf2.c: Likewise.
4209         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4210
4211 2012-02-27  Bruno Haible  <bruno@clisp.org>
4212
4213         Tests for module 'sqrtl-ieee'.
4214         * modules/sqrtl-ieee-tests: New file.
4215         * tests/test-sqrtl-ieee.c: New file.
4216
4217         New module 'sqrtl-ieee'.
4218         * modules/sqrtl-ieee: New file.
4219
4220         Tests for module 'sqrt-ieee'.
4221         * modules/sqrt-ieee-tests: New file.
4222         * tests/test-sqrt-ieee.c: New file.
4223
4224         New module 'sqrt-ieee'.
4225         * modules/sqrt-ieee: New file.
4226
4227         Tests for module 'sqrtf-ieee'.
4228         * modules/sqrtf-ieee-tests: New file.
4229         * tests/test-sqrtf-ieee.c: New file.
4230         * tests/test-sqrt-ieee.h: New file.
4231
4232         New module 'sqrtf-ieee'.
4233         * modules/sqrtf-ieee: New file.
4234
4235 2012-02-27  Bruno Haible  <bruno@clisp.org>
4236
4237         remainderl-ieee: Work around test failure on OSF/1.
4238         * m4/remainderl-ieee.m4: New file.
4239         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
4240         present, test whether remainderl works with a zero second argument.
4241         Replace it if not.
4242         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
4243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
4244         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
4245         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
4246         (Depends-on): Update conditions.
4247         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
4248         (Depends-on): Add remainder-ieee.
4249         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
4250         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
4251         module.
4252
4253         remainderf-ieee: Work around test failure on OSF/1.
4254         * m4/remainderf-ieee.m4: New file.
4255         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
4256         present, test whether remainderf works with a zero second argument.
4257         Replace it if not.
4258         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
4259         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
4260         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
4261         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
4262         (Depends-on): Update conditions.
4263         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
4264         (Depends-on): Add remainder-ieee.
4265         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
4266         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
4267         module.
4268
4269         remainder-ieee: Work around test failure on OSF/1.
4270         * m4/remainder-ieee.m4: New file.
4271         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
4272         present, test whether remainder works with a zero second argument.
4273         Replace it if not.
4274         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
4275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
4276         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
4277         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
4278         (Depends-on): Update dependencies.
4279         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
4280         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
4281         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
4282
4283         Tests for module 'remainderl-ieee'.
4284         * modules/remainderl-ieee-tests: New file.
4285         * tests/test-remainderl-ieee.c: New file.
4286
4287         New module 'remainderl-ieee'.
4288         * modules/remainderl-ieee: New file.
4289
4290         Tests for module 'remainder-ieee'.
4291         * modules/remainder-ieee-tests: New file.
4292         * tests/test-remainder-ieee.c: New file.
4293
4294         New module 'remainder-ieee'.
4295         * modules/remainder-ieee: New file.
4296
4297         Tests for module 'remainderf-ieee'.
4298         * modules/remainderf-ieee-tests: New file.
4299         * tests/test-remainderf-ieee.c: New file.
4300         * tests/test-remainder-ieee.h: New file.
4301
4302         New module 'remainderf-ieee'.
4303         * modules/remainderf-ieee: New file.
4304
4305 2012-02-27  Bruno Haible  <bruno@clisp.org>
4306
4307         modff, modfl: Fix configure syntax error.
4308         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
4309         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4310
4311 2012-02-27  Bruno Haible  <bruno@clisp.org>
4312
4313         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
4314         * m4/fmodl-ieee.m4: New file.
4315         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
4316         whether fmodl works with zero arguments. Replace it if not.
4317         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
4318         (Depends-on): Add fmod-ieee.
4319         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
4320         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
4321
4322         fmodf-ieee: Work around test failure on OSF/1.
4323         * m4/fmodf-ieee.m4: New file.
4324         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
4325         whether fmodf works with zero arguments. Replace it if not.
4326         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
4327         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
4328         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
4329         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
4330         (Depends-on): Update dependencies.
4331         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
4332         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
4333         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
4334
4335         fmodf-ieee: Work around test failure on MSVC 9.
4336         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
4337         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
4338
4339         fmod-ieee: Work around test failures on OSF/1, mingw.
4340         * m4/fmod-ieee.m4: New file.
4341         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
4342         whether fmod works with zero arguments. Replace it if not.
4343         * lib/math.in.h (fmod): New declaration.
4344         * lib/fmod.c: New file.
4345         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
4346         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
4347         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
4348         * modules/fmod (Files): Add lib/fmod.c.
4349         (Depends-on): Add math, isinf, trunc, fma.
4350         (configure.ac): Arrange to compile lib/fmod.c if needed.
4351         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
4352         m4/signbit.m4.
4353         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
4354         * tests/test-math-c++.cc: Check the declaration of fmod.
4355         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
4356
4357         fmodl-ieee: Fix test failures.
4358         * lib/fmodl.c (fmodl): Treat Inf specially.
4359         * modules/fmodl (Depends-on): Add isinf.
4360
4361         Tests for module 'fmodl-ieee'.
4362         * modules/fmodl-ieee-tests: New file.
4363         * tests/test-fmodl-ieee.c: New file.
4364
4365         New module 'fmodl-ieee'.
4366         * modules/fmodl-ieee: New file.
4367
4368         Tests for module 'fmod-ieee'.
4369         * modules/fmod-ieee-tests: New file.
4370         * tests/test-fmod-ieee.c: New file.
4371
4372         New module 'fmod-ieee'.
4373         * modules/fmod-ieee: New file.
4374
4375         Tests for module 'fmodf-ieee'.
4376         * modules/fmodf-ieee-tests: New file.
4377         * tests/test-fmodf-ieee.c: New file.
4378         * tests/test-fmod-ieee.h: New file.
4379
4380         New module 'fmodf-ieee'.
4381         * modules/fmodf-ieee: New file.
4382
4383 2012-02-27  Bruno Haible  <bruno@clisp.org>
4384
4385         Tests for module 'rintl-ieee'.
4386         * modules/rintl-ieee-tests: New file.
4387         * tests/test-rintl-ieee.c: New file.
4388
4389         New module 'rintl-ieee'.
4390         * modules/rintl-ieee: New file.
4391
4392         Tests for module 'rint-ieee'.
4393         * modules/rint-ieee-tests: New file.
4394         * tests/test-rint-ieee.c: New file.
4395
4396         New module 'rint-ieee'.
4397         * modules/rint-ieee: New file.
4398
4399         Tests for module 'rintf-ieee'.
4400         * modules/rintf-ieee-tests: New file.
4401         * tests/test-rintf-ieee.c: New file.
4402         * tests/test-rint-ieee.h: New file.
4403
4404         New module 'rintf-ieee'.
4405         * modules/rintf-ieee: New file.
4406
4407 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
4408
4409         regex: re_search etc. should return -2 when memory exhausted
4410         This bug was uncovered when testing 'grep'.  Without the fix,
4411         re_search and friends return -1 when memory is exhausted, but -1
4412         means no match, and this causes grep to falsely report no-match
4413         instead of memory-exhaustion.  See
4414         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
4415         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
4416         trouble; this can occur if re_search_internal ran out of memory.
4417
4418 2012-02-26  Bruno Haible  <bruno@clisp.org>
4419
4420         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
4421         * m4/modfl-ieee.m4: New file.
4422         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
4423         whether modfl works with Inf. Replace it if not.
4424         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
4425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
4426         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
4427         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
4428         (Depends-on): Update dependencies.
4429         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4430         m4/signbit.m4.
4431         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4432         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4433
4434         modfl-ieee: Fix dependencies.
4435         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4436
4437         modfl-ieee: Fix test failures.
4438         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4439         * modules/modfl (Depends-on): Add isfinite, isinf.
4440
4441         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4442         * m4/modff-ieee.m4: New file.
4443         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4444         whether modff works with NaN and Inf. Replace it if not.
4445         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4446         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4447         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4448         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4449         (Depends-on): Update dependencies.
4450         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4451         m4/signbit.m4.
4452         (Depends-on): Add modf-ieee.
4453         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4454         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4455
4456         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4457         * m4/modf-ieee.m4: New file.
4458         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4459         whether modf works with NaN and Inf. Replace it if not.
4460         * lib/math.in.h (modf): New declaration.
4461         * lib/modf.c: New file.
4462         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4464         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4465         * modules/modf (Files): Add lib/modf.c.
4466         (Depends-on): Add math, isfinite, trunc, isinf.
4467         (configure.ac): Addrange to compile lib/modf.c if needed.
4468         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4469         m4/signbit.m4.
4470         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4471         * tests/test-math-c++.cc: Check the declaration of modf.
4472         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4473
4474         Tests for module 'modfl-ieee'.
4475         * modules/modfl-ieee-tests: New file.
4476         * tests/test-modfl-ieee.c: New file.
4477
4478         New module 'modfl-ieee'.
4479         * modules/modfl-ieee: New file.
4480
4481         Tests for module 'modf-ieee'.
4482         * modules/modf-ieee-tests: New file.
4483         * tests/test-modf-ieee.c: New file.
4484
4485         New module 'modf-ieee'.
4486         * modules/modf-ieee: New file.
4487
4488         Tests for module 'modff-ieee'.
4489         * modules/modff-ieee-tests: New file.
4490         * tests/test-modff-ieee.c: New file.
4491         * tests/test-modf-ieee.h: New file.
4492
4493         New module 'modff-ieee'.
4494         * modules/modff-ieee: New file.
4495
4496 2012-02-26  Bruno Haible  <bruno@clisp.org>
4497
4498         Tests for module 'fabsl-ieee'.
4499         * modules/fabsl-ieee-tests: New file.
4500         * tests/test-fabsl-ieee.c: New file.
4501
4502         New module 'fabsl-ieee'.
4503         * modules/fabsl-ieee: New file.
4504
4505         Tests for module 'fabs-ieee'.
4506         * modules/fabs-ieee-tests: New file.
4507         * tests/test-fabs-ieee.c: New file.
4508
4509         New module 'fabs-ieee'.
4510         * modules/fabs-ieee: New file.
4511
4512         Tests for module 'fabsf-ieee'.
4513         * modules/fabsf-ieee-tests: New file.
4514         * tests/test-fabsf-ieee.c: New file.
4515         * tests/test-fabs-ieee.h: New file.
4516
4517         New module 'fabsf-ieee'.
4518         * modules/fabsf-ieee: New file.
4519
4520 2012-02-26  Bruno Haible  <bruno@clisp.org>
4521
4522         Tests for module 'fmal-ieee'.
4523         * modules/fmal-ieee-tests: New file.
4524         * tests/test-fmal-ieee.c: New file.
4525
4526         New module 'fmal-ieee'.
4527         * modules/fmal-ieee: New file.
4528
4529         Tests for module 'fma-ieee'.
4530         * modules/fma-ieee-tests: New file.
4531         * tests/test-fma-ieee.c: New file.
4532
4533         New module 'fma-ieee'.
4534         * modules/fma-ieee: New file.
4535
4536         Tests for module 'fmaf-ieee'.
4537         * modules/fmaf-ieee-tests: New file.
4538         * tests/test-fmaf-ieee.c: New file.
4539         * tests/test-fma-ieee.h: New file.
4540
4541         New module 'fmaf-ieee'.
4542         * modules/fmaf-ieee: New file.
4543
4544 2012-02-26  Bruno Haible  <bruno@clisp.org>
4545
4546         Tests for module 'ldexpl-ieee'.
4547         * modules/ldexpl-ieee-tests: New file.
4548         * tests/test-ldexpl-ieee.c: New file.
4549
4550         New module 'ldexpl-ieee'.
4551         * modules/ldexpl-ieee: New file.
4552
4553         Tests for module 'ldexp-ieee'.
4554         * modules/ldexp-ieee-tests: New file.
4555         * tests/test-ldexp-ieee.c: New file.
4556
4557         New module 'ldexp-ieee'.
4558         * modules/ldexp-ieee: New file.
4559
4560         Tests for module 'ldexpf-ieee'.
4561         * modules/ldexpf-ieee-tests: New file.
4562         * tests/test-ldexpf-ieee.c: New file.
4563         * tests/test-ldexp-ieee.h: New file.
4564
4565         New module 'ldexpf-ieee'.
4566         * modules/ldexpf-ieee: New file.
4567
4568 2012-02-26  Bruno Haible  <bruno@clisp.org>
4569
4570         Refactor frexp*-ieee tests.
4571         * tests/test-frexp-ieee.h: New file.
4572         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4573         (main): Just call test_function.
4574         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4575         (main): Just call test_function.
4576         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4577         (main): Just call test_function.
4578         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4579         * modules/frexp-ieee-tests (Files): Likewise.
4580         * modules/frexpl-ieee-tests (Files): Likewise.
4581
4582         Tests for module 'frexpl-ieee'.
4583         * modules/frexpl-ieee-tests: New file.
4584         * tests/test-frexpl-ieee.c: New file.
4585
4586         New module 'frexpl-ieee'.
4587         * modules/frexpl-ieee: New file.
4588
4589         Tests for module 'frexp-ieee'.
4590         * modules/frexp-ieee-tests: New file.
4591         * tests/test-frexp-ieee.c: New file.
4592
4593         New module 'frexp-ieee'.
4594         * modules/frexp-ieee: New file.
4595
4596         Tests for module 'frexpf-ieee'.
4597         * modules/frexpf-ieee-tests: New file.
4598         * tests/test-frexpf-ieee.c: New file.
4599
4600         New module 'frexpf-ieee'.
4601         * modules/frexpf-ieee: New file.
4602
4603 2012-02-26  Bruno Haible  <bruno@clisp.org>
4604
4605         roundl-ieee tests: More tests.
4606         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4607         (main): Add tests for [MX] shaded specification in POSIX.
4608         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4609         (Depends-on): Add isnanl-nolibm.
4610
4611         round-ieee tests: More tests.
4612         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4613         (main): Add tests for [MX] shaded specification in POSIX.
4614         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4615         (Depends-on): Add isnand-nolibm.
4616
4617         roundf-ieee tests: More tests.
4618         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4619         (main): Add tests for [MX] shaded specification in POSIX.
4620         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4621         (Depends-on): Add isnanf-nolibm.
4622
4623         truncl-ieee tests: More tests.
4624         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4625         (main): Add tests for [MX] shaded specification in POSIX.
4626         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4627         (Depends-on): Add isnanl-nolibm.
4628
4629         trunc-ieee tests: More tests.
4630         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4631         (main): Add tests for [MX] shaded specification in POSIX.
4632         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4633         (Depends-on): Add isnand-nolibm.
4634
4635         truncf-ieee tests: More tests.
4636         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4637         (main): Add tests for [MX] shaded specification in POSIX.
4638         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4639         (Depends-on): Add isnanf-nolibm.
4640
4641         ceill-ieee tests: More tests.
4642         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4643         (main): Add tests for [MX] shaded specification in POSIX.
4644         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4645         (Depends-on): Add isnanl-nolibm.
4646
4647         ceil-ieee tests: More tests.
4648         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4649         (main): Add tests for [MX] shaded specification in POSIX.
4650         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4651         (Depends-on): Add isnand-nolibm.
4652
4653         ceilf-ieee tests: More tests.
4654         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4655         (main): Add tests for [MX] shaded specification in POSIX.
4656         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4657         (Depends-on): Add isnanf-nolibm.
4658
4659         floorl-ieee tests: More tests.
4660         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4661         (main): Add tests for [MX] shaded specification in POSIX.
4662         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4663         (Depends-on): Add isnanl-nolibm.
4664
4665         floor-ieee tests: More tests.
4666         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4667         (main): Add tests for [MX] shaded specification in POSIX.
4668         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4669         (Depends-on): Add isnand-nolibm.
4670
4671         floorf-ieee tests: More tests.
4672         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4673         (main): Add tests for [MX] shaded specification in POSIX.
4674         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4675         (Depends-on): Add isnanf-nolibm.
4676
4677 2012-02-26  Bruno Haible  <bruno@clisp.org>
4678
4679         fpieee: More comments.
4680         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
4681
4682 2012-02-25  Bruno Haible  <bruno@clisp.org>
4683
4684         Tests for module 'log10l'.
4685         * modules/log10l-tests: New file.
4686         * tests/test-log10l.c: New file.
4687         * tests/test-math-c++.cc: Check the declaration of log10l.
4688
4689         New module 'log10l'.
4690         * lib/math.in.h (log10l): New declaration.
4691         * lib/log10l.c: New file.
4692         * m4/log10l.m4: New file.
4693         * modules/log10l: New file.
4694         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
4695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
4696         HAVE_DECL_LOG10L.
4697         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
4698         HAVE_DECL_LOG10L.
4699         * doc/posix-functions/log10l.texi: Mention the new module.
4700
4701 2012-02-25  Bruno Haible  <bruno@clisp.org>
4702
4703         fmodl, remainder*: Avoid wrong results due to rounding errors.
4704         * lib/fmodl.c (fmodl): Correct the result if it is not within the
4705         expected bounds.
4706         * lib/remainderf.c (remainderf): Likewise.
4707         * lib/remainder.c (remainder): Likewise.
4708         * lib/remainderl.c (remainderl): Likewise.
4709
4710 2012-02-25  Bruno Haible  <bruno@clisp.org>
4711
4712         Tests for module 'remainderl'.
4713         * modules/remainderl-tests: New file.
4714         * tests/test-remainderl.c: New file.
4715         * tests/test-math-c++.cc: Check the declaration of remainderl.
4716
4717         New module 'remainderl'.
4718         * lib/math.in.h (remainderl): New declaration.
4719         * lib/remainderl.c: New file.
4720         * m4/remainderl.m4: New file.
4721         * modules/remainderl: New file.
4722         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
4723         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
4724         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
4725         HAVE_REMAINDERL.
4726         * doc/posix-functions/remainderl.texi: Mention the new module.
4727
4728 2012-02-25  Bruno Haible  <bruno@clisp.org>
4729
4730         Tests for module 'remainderf'.
4731         * modules/remainderf-tests: New file.
4732         * tests/test-remainderf.c: New file.
4733         * tests/test-math-c++.cc: Check the declaration of remainderf.
4734
4735         New module 'remainderf'.
4736         * lib/math.in.h (remainderf): New declaration.
4737         * lib/remainderf.c: New file.
4738         * m4/remainderf.m4: New file.
4739         * modules/remainderf: New file.
4740         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
4741         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
4742         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
4743         HAVE_REMAINDERF.
4744         * doc/posix-functions/remainderf.texi: Mention the new module.
4745
4746 2012-02-25  Bruno Haible  <bruno@clisp.org>
4747
4748         remainder: Support for MSVC.
4749         * lib/math.in.h (remainder): New declaration.
4750         * lib/remainder.c: New file.
4751         * m4/remainder.m4: New file.
4752         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
4753         (Depends-on): Add math, round, fma.
4754         (configure.ac): Use results of gl_FUNC_REMAINDER.
4755         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
4756         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
4757         HAVE_DECL_REMAINDER.
4758         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
4759         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
4760         * tests/test-math-c++.cc: Check the declaration of remainder.
4761         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
4762         problems are fixed.
4763
4764 2012-02-25  Bruno Haible  <bruno@clisp.org>
4765
4766         Tests for module 'fmodl'.
4767         * modules/fmodl-tests: New file.
4768         * tests/test-fmodl.c: New file.
4769         * tests/test-math-c++.cc: Check the declaration of fmodl.
4770
4771         New module 'fmodl'.
4772         * lib/math.in.h (fmodl): New declaration.
4773         * lib/fmodl.c: New file.
4774         * m4/fmodl.m4: New file.
4775         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
4776         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
4777         REPLACE_FMODL.
4778         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
4779         REPLACE_FMODL.
4780         * modules/fmodl: New file.
4781         * doc/posix-functions/fmodl.texi: Mention the new module.
4782
4783 2012-02-25  Bruno Haible  <bruno@clisp.org>
4784
4785         Tests for module 'modfl'.
4786         * modules/modfl-tests: New file.
4787         * tests/test-modfl.c: New file.
4788         * tests/test-math-c++.cc: Check the declaration of modfl.
4789
4790         New module 'modfl'.
4791         * lib/math.in.h (modfl): New declaration.
4792         * lib/modfl.c: New file.
4793         * m4/modfl.m4: New file.
4794         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
4795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
4796         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
4797         * modules/modfl: New file.
4798         * doc/posix-functions/modfl.texi: Mention the new module.
4799
4800 2012-02-25  Bruno Haible  <bruno@clisp.org>
4801
4802         Tests for module 'fabsl'.
4803         * modules/fabsl-tests: New file.
4804         * tests/test-fabsl.c: New file.
4805         * tests/test-math-c++.cc: Check the declaration of fabsl.
4806
4807         New module 'fabsl'.
4808         * lib/math.in.h (fabsl): New declaration.
4809         * lib/fabsl.c: New file.
4810         * m4/fabsl.m4: New file.
4811         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
4812         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
4813         REPLACE_FABSL.
4814         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
4815         REPLACE_FABSL.
4816         * modules/fabsl: New file.
4817         * doc/posix-functions/fabsl.texi: Mention the new module.
4818
4819 2012-02-25  Bruno Haible  <bruno@clisp.org>
4820
4821         fabs tests: More tests.
4822         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
4823         (zero): New variable.
4824         (main): Add tests for signed zero.
4825         * modules/fabs-tests (Files): Add tests/minus-zero.h.
4826
4827         fabsf tests: More tests.
4828         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
4829         (zero): New variable.
4830         (main): Add tests for signed zero.
4831         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
4832
4833 2012-02-24  Bruno Haible  <bruno@clisp.org>
4834
4835         atanl: Provide function definition on MSVC.
4836         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
4837         function pointer.
4838         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
4839
4840 2012-02-24  Bruno Haible  <bruno@clisp.org>
4841
4842         acosl: Provide function definition on MSVC.
4843         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
4844         function pointer.
4845         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
4846
4847 2012-02-24  Bruno Haible  <bruno@clisp.org>
4848
4849         asinl: Provide function definition on MSVC.
4850         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
4851         function pointer.
4852         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
4853
4854 2012-02-24  Bruno Haible  <bruno@clisp.org>
4855
4856         tanl: Provide function definition on MSVC.
4857         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
4858         function pointer.
4859         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
4860
4861 2012-02-24  Bruno Haible  <bruno@clisp.org>
4862
4863         cosl: Provide function definition on MSVC.
4864         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
4865         function pointer.
4866         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
4867
4868 2012-02-24  Bruno Haible  <bruno@clisp.org>
4869
4870         sinl: Provide function definition on MSVC.
4871         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
4872         function pointer.
4873         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
4874
4875 2012-02-24  Bruno Haible  <bruno@clisp.org>
4876
4877         logl: Provide function definition on MSVC.
4878         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
4879         function pointer.
4880         * lib/math.in.h (logl): Undefine if it does not exist as a function.
4881
4882 2012-02-24  Bruno Haible  <bruno@clisp.org>
4883
4884         expl: Provide function definition on MSVC.
4885         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
4886         function pointer.
4887         * lib/math.in.h (expl): Undefine if it does not exist as a function.
4888
4889 2012-02-24  Bruno Haible  <bruno@clisp.org>
4890
4891         sqrtl: Provide function definition on MSVC.
4892         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
4893         a function pointer.
4894         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
4895
4896 2012-02-24  Bruno Haible  <bruno@clisp.org>
4897
4898         ceill: Provide function definition on MSVC.
4899         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
4900         used as a function pointer.
4901         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
4902
4903 2012-02-24  Bruno Haible  <bruno@clisp.org>
4904
4905         floorl: Provide function definition on MSVC.
4906         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
4907         used as a function pointer.
4908         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
4909
4910 2012-02-24  Bruno Haible  <bruno@clisp.org>
4911
4912         ceilf: Provide function definition on MSVC.
4913         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
4914         used as a function pointer.
4915         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
4916
4917 2012-02-24  Bruno Haible  <bruno@clisp.org>
4918
4919         floorf: Provide function definition on MSVC.
4920         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
4921         used as a function pointer.
4922         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
4923
4924 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4925
4926         stdnoreturn: new module
4927         This implements a replacement for C11's <stdnoreturn.h>.
4928         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
4929         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
4930         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4931         * tests/test-stdnoreturn.c: New files.
4932
4933 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
4934
4935         regex: fix false multibyte matches in some regular expressions
4936         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
4937         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
4938         * lib/regex_internal.c (re_string_skip_chars):
4939         Fix miscomputation of remain_len that may cause incomplete
4940         multi-byte character and false match.
4941
4942 2012-02-24  Jim Meyering  <meyering@redhat.com>
4943
4944         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
4945         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
4946         uses with "==" *before* the call, e.g., 0 == strcmp (...)
4947         Remove now-unnecessary str''cmp obfuscation.
4948         Suggested by Akim Demaille.
4949
4950 2012-02-24  Bruno Haible  <bruno@clisp.org>
4951
4952         streq: Rename macro.
4953         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
4954         * NEWS: Mention the change.
4955         * lib/mbrtowc.c (mbrtowc): Update.
4956         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
4957         * lib/wcwidth.c (wcwidth): Update.
4958         Suggested by Akim Demaille and Jim Meyering.
4959
4960 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4961
4962         regex: fix typo in definition of MIN
4963         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
4964         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
4965
4966 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4967             Bruno Haible  <bruno@clisp.org>
4968
4969         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
4970         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
4971         entries into a stack-allocated buffer directly.
4972         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
4973
4974 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4975             Bruno Haible  <bruno@clisp.org>
4976
4977         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
4978
4979          - There were several instances of this pattern:
4980
4981              for (;;) {
4982                n = acl (f, GETACLCNT, 0, NULL);
4983                [ allocate an array A of size N ]
4984                if (acl (f, GETACL, n, a) == n)
4985                  break;
4986              }
4987
4988            This loop might never terminate if some other process is constantly
4989            manipulating the file's ACL.  The loop should be rewritten to
4990            terminate.
4991
4992          - The acl (... GETACLNT ...) call is merely an optimization; its value
4993            is merely a hint as to how big to make the array.  A better
4994            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
4995            and just guess a reasonably-big size, growing the size and trying
4996            again if it's not large enough.  This guarantees termination, and
4997            saves a system call.
4998
4999         * lib/acl-internal.h: Include <limits.h>.
5000         (MIN, SIZE_MAX): New macros.
5001         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
5002         a stack-allocated buffer, and use malloc if it does not fit. Don't
5003         use GETACLCNT.
5004         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5005
5006 2012-02-19  Bruno Haible  <bruno@clisp.org>
5007
5008         acl: Fix endless loop on Solaris with vxfs.
5009         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5010         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5011         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5012         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5013         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5014         Reported by Bill Jones in
5015         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5016
5017 2012-02-19  Bruno Haible  <bruno@clisp.org>
5018
5019         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5020         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5021         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5022         that this function returns 0 in some more cases.
5023
5024 2012-02-19  Bruno Haible  <bruno@clisp.org>
5025
5026         acl: Update doc references.
5027         * doc/acl-resources.txt: Update links to Solaris documentation.
5028
5029 2012-02-19  Bruno Haible  <bruno@clisp.org>
5030
5031         Fix test failure in many locales on Solaris 11.
5032         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5033         'tr' arguments.
5034         * tests/test-pipe-filter-ii1.c (main): Likewise.
5035         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5036         expressions in the C locale.
5037         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5038         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5039
5040 2012-02-19  Bruno Haible  <bruno@clisp.org>
5041
5042         gnulib-tool: Improve usage message.
5043         * gnulib-tool (func_usage): Move doc of --help and --version to the
5044         section "Operation modes".
5045
5046 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5047
5048         README-release: make it easier to execute commands
5049         * top/README-release: break commands out on to separate lines.
5050
5051 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5052
5053         GNUmakefile: simplify detection of unconfigured trees
5054         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5055         whether the tree make is being run from is already configured or
5056         not.  Related simplifications.
5057
5058 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5059
5060         * gnulib-tool (func_usage): Document --help and --version.
5061
5062 2012-02-11  Jim Meyering  <meyering@redhat.com>
5063
5064         bootstrap: don't exit 0 upon gnulib-tool failure
5065         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
5066         its exit status, not 0.
5067
5068 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
5069
5070         README-release: various improvements
5071         * top/README-release: Give a command to push changes for the
5072         release.  Add "distcheck" to list of other pre-release checks.
5073         Fix instance of "make stable" which should be "make TYPE".
5074
5075 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5076
5077         maint: replace FSF snail-mail addresses with URLs
5078         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
5079         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
5080         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
5081         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
5082         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
5083         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
5084         * lib/check-version.c, lib/check-version.h, lib/config.charset:
5085         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
5086         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
5087         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
5088         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
5089         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
5090         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
5091         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
5092         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
5093         * lib/glthread/thread.c, lib/glthread/thread.h:
5094         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
5095         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
5096         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
5097         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
5098         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
5099         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
5100         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
5101         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
5102         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
5103         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
5104         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
5105         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
5106         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
5107         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
5108         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
5109         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
5110         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
5111         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
5112         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
5113         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
5114         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
5115         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
5116         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
5117         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
5118         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
5119         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
5120         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
5121         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
5122         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
5123         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
5124         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
5125         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
5126         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
5127         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
5128         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
5129         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
5130         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
5131         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
5132         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
5133         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
5134         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
5135         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
5136         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
5137         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
5138         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
5139         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
5140         * tests/test-poll.c, tests/test-quotearg-simple.c:
5141         * tests/test-quotearg.c, tests/test-quotearg.h:
5142         * tests/test-round-ieee.c, tests/test-round1.c:
5143         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
5144         * tests/test-roundl-ieee.c, tests/test-roundl.c:
5145         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
5146         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
5147         * tests/test-strerror.c, tests/test-strerror_r.c:
5148         * tests/test-strsignal.c, tests/test-strverscmp.c:
5149         * tests/test-xmemdup0.c:
5150         Replace FSF snail mail addresses with URLs, as per GNU coding
5151         standards.  See glibc bug
5152         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
5153
5154 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5155
5156         README-release: capitalize a word and split a line
5157         * top/README-release: Fix punctuation and spacing.
5158
5159 2012-02-08  Akim Demaille  <demaille@gostai.com>
5160
5161         fatal-signal: use C prototypes (with explicit void).
5162         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
5163         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
5164
5165 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5166
5167         regex: spelling fix
5168         * lib/regexec.c: spelling fix
5169
5170         regex: rely on stdint.h for SIZE_MAX
5171         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
5172
5173 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5174
5175         regex: merge glibc changes
5176
5177         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
5178         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
5179         (init_word_char): Work even if bitset words are not exactly 32 or
5180         64 bits wide.  Don't assume there are no padding bits.
5181         * lib/regex.c [_LIBC]: Do not include <config.h>.
5182         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
5183         and -Wtype-limits.
5184         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
5185         needless disagreement with glibc.  All uses changed.  Define it to
5186         1 only if _GNU_SOURCE, to match glibc.
5187         (_REG_RM_NAME): Remove; no longer needed, since the names in
5188         question are now all protected by __USE_GNU.
5189         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
5190         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
5191         * lib/regex_internal.h (MIN): New macro.
5192
5193         2012-01-03 Ulrich Drepper <drepper@gmail.com>
5194         * lib/regcomp.c (init_word_char): Optimize regex a bit.
5195
5196         2011-12-30 Jakub Jelinek <jakub@redhat.com>
5197         * lib/regex_internal.c (re_string_fetch_byte_case):
5198         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
5199         is miscompiled, and it turns out it is because of an incorrect
5200         attribute on re_string_fetch_byte_case.  Unlike
5201         re_string_peek_byte_case, this one is really not pure, it modifies
5202         memory (increments pstr->cur_idx), and with the pure attribute GCC
5203         assumed it doesn't and it cached the presumed value of
5204         regexp->cur_idx in a variable across the
5205          for (;; ++i)
5206            {
5207              if (i >= BRACKET_NAME_BUF_SIZE)
5208                return REG_EBRACK;
5209              if (token->type == OP_OPEN_CHAR_CLASS)
5210                ch = re_string_fetch_byte_case (regexp);
5211              else
5212                ch = re_string_fetch_byte (regexp);
5213              if (re_string_eoi(regexp))
5214                return REG_EBRACK;
5215              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
5216                break;
5217              elem->opr.name[i] = ch;
5218            }
5219
5220         2011-11-29 Andreas Schwab <schwab@redhat.com>
5221         * lib/regcomp.c (build_equiv_class):
5222         Fix access after end of search string in regex matcher.
5223
5224         2011-11-12 Ulrich Drepper <drepper@redhat.com>
5225         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
5226
5227         2011-10-12 Ulrich Drepper <drepper@redhat.com>
5228         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
5229
5230         2011-10-11 Ulrich Drepper <drepper@redhat.com>
5231         * lib/regcomp.c (parse_branch, parse_sub_exp):
5232         More regex memory leak fixes and tests.
5233         (parse_sub_exp, parse_bracket_exp):
5234         Fix memory leak for some invalid regular expressions.
5235
5236         2011-05-28 Ulrich Drepper <drepper@gmail.com>
5237         * lib/regex_internal.c, lib/regexec.c:
5238         Fix unnecessary overallocation due to incomplete character.  When
5239         incomplete characters are found at the end of a string the code
5240         ran amok and allocated lots of memory.  Stricter limits are now in
5241         place.
5242
5243         2011-05-20 Reuben Thomas <rrt@sc3d.org>
5244         * lib/regex.h: Update documentation.
5245
5246         2011-05-16 Aharon Robbins <arnold@skeeve.com>
5247         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
5248
5249         2010-05-05 Andreas Schwab <schwab@redhat.com>
5250         * lib/regexec.c (find_collation_sequence_value):
5251         Fix lookup of collation sequence value during regexp matching.
5252
5253         2010-01-22 Ulrich Drepper <drepper@redhat.com>
5254         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
5255
5256         2008-01-16 Ulrich Drepper <drepper@redhat.com>
5257         * lib/regex.h: Cleanup namespace.
5258
5259         2007-11-26 Ulrich Drepper <drepper@redhat.com>
5260         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
5261
5262         2007-08-26 Ulrich Drepper <drepper@redhat.com>
5263         * lib/regex_internal.h: Prevent some declarations and definitions
5264         to be seen when used in tests.
5265
5266         2005-05-06 Ulrich Drepper <drepper@redhat.com>
5267         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
5268         __libc_lock_* macros if not _LIBC.
5269         (struct re_dfa_t): Add lock.
5270
5271 2012-02-07  Eric Blake  <eblake@redhat.com>
5272
5273         maint.mk: also prohibit lower-case @var@
5274         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
5275         lower case, like @top_srcdir@.
5276
5277 2012-02-04  Eric Blake  <eblake@redhat.com>
5278
5279         canonicalize: avoid uninitialized memory use
5280         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
5281         random '/' left in dest.
5282         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
5283
5284 2012-02-04  Bruno Haible  <bruno@clisp.org>
5285
5286         isatty: Fix test failure of ptsname_r on native Windows.
5287         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
5288         and don't set errno.
5289         (isatty): Test first whether fd is valid. Set errno when returning 0.
5290
5291 2012-02-04  Bruno Haible  <bruno@clisp.org>
5292
5293         spawn-pipe tests: Fix a NULL program name in a diagnostic.
5294         * tests/test-spawn-pipe-main.c: Include progname.h.
5295         (main): Invoke set_program_name.
5296         * modules/spawn-pipe-tests (Depends-on): Add progname.
5297
5298         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
5299         * tests/test-nonblocking-socket-main.c: Include progname.h.
5300         (main): Invoke set_program_name.
5301         * modules/nonblocking-socket-tests (Depends-on): Add progname.
5302
5303         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
5304         * tests/test-nonblocking-pipe-main.c: Include progname.h.
5305         (main): Invoke set_program_name.
5306         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
5307
5308 2012-02-04  Eric Blake  <eblake@redhat.com>
5309
5310         canonicalize-lgpl: fix // handling
5311         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
5312
5313         canonicalize: fix // handling
5314         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
5315         /// to //, since only // is special.
5316
5317 2012-02-04  Bruno Haible  <bruno@clisp.org>
5318
5319         ioctl: Fix test failure on native Windows.
5320         * lib/ioctl.c: Include msvc-nothrow.h.
5321         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
5322
5323 2012-02-04  Bruno Haible  <bruno@clisp.org>
5324
5325         fsync: Avoid test failure on native Windows.
5326         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
5327         read-only.
5328
5329 2012-02-04  Bruno Haible  <bruno@clisp.org>
5330
5331         sys_select: Avoid syntax error on OpenBSD 5.0.
5332         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
5333         currently being included, just include the system's <sys/select.h>.
5334
5335 2012-02-04  Bruno Haible  <bruno@clisp.org>
5336
5337         sys_select: Avoid syntax error on OpenBSD 5.0.
5338         * lib/sys_select.in.h: Include <signal.h> only after the include_next
5339         <sys/select.h>, not before.
5340         Reported by Jiri B <jirib@devio.us>.
5341
5342 2012-02-04  Bruno Haible  <bruno@clisp.org>
5343
5344         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
5345         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
5346         global variables.
5347         * tests/test-get-rusage-data.c (main): Likewise.
5348         Reported by Jim Meyering.
5349
5350 2012-02-04  Bruno Haible  <bruno@clisp.org>
5351
5352         stdioext: Fix last commit.
5353         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
5354
5355 2012-02-03  Bruno Haible  <bruno@clisp.org>
5356
5357         stdioext: Add tentative support for Plan9.
5358         * lib/stdio-impl.h: Include <errno.h>.
5359         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
5360         * lib/freadable.c (freadable): Likewise.
5361         * lib/fwritable.c (fwritable): Likewise.
5362         * lib/fbufmode.c (fbufmode): Likewise.
5363         * lib/freading.c (freading): Likewise.
5364         * lib/fwriting.c (fwriting): Likewise.
5365         * lib/freadptr.c (freadptr): Likewise.
5366         * lib/freadseek.c (freadptrinc): Likewise.
5367         * lib/freadahead.c (freadahead): Likewise.
5368         * lib/fpurge.c (fpurge): Likewise.
5369         * lib/fseeko.c (rpl_fseeko): Likewise.
5370         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
5371         Reported by Jens Staal <staal1978@gmail.com>.
5372
5373 2012-02-02  Jim Meyering  <meyering@redhat.com>
5374
5375         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
5376         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
5377         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
5378         not even to try to add the attribute.  Instead, add a pragma to suppress
5379         the suggestion/warning.
5380
5381 2012-01-31  Karl Berry  <karl@gnu.org>
5382
5383         setstate doc: typo.
5384         * doc/posix-functions/setstate.texi (setstate): { not (.
5385
5386 2012-01-31  Bruno Haible  <bruno@clisp.org>
5387
5388         popen: Make more robust on Windows.
5389         * lib/popen.c: On native Windows, use the _popen based code even if
5390         HAVE_POPEN is set.
5391         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
5392         environment variable on native Windows.
5393
5394 2012-01-30  Bruno Haible  <bruno@clisp.org>
5395
5396         pclose: Fix typo.
5397         * lib/stdio.in.h (pclose): Fix typo in warning message.
5398
5399 2012-01-30  Bruno Haible  <bruno@clisp.org>
5400
5401         doc about getlogin_r, setstate.
5402         * doc/posix-functions/getlogin_r.texi: List the incompatible
5403         declaration problem under "not fixed by gnulib".
5404         * doc/posix-functions/setstate.texi: Mention incompatible declaration
5405         problem on Solaris 11 and other platforms.
5406
5407 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
5408             Bruno Haible  <bruno@clisp.org>
5409
5410         poll tests: Make test more robust.
5411         * tests/test-poll.c: Include macros.h.
5412         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
5413         return value of various I/O operations.
5414         * modules/poll-tests (Files): Add tests/macros.h.
5415
5416 2012-01-30  Bruno Haible  <bruno@clisp.org>
5417
5418         sys_stat: Fix support for mingw64 and MSVC.
5419         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
5420         header files already do it.
5421         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
5422         stat itself.
5423         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5424
5425 2012-01-30  Bruno Haible  <bruno@clisp.org>
5426
5427         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
5428         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
5429         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5430
5431 2012-01-29  Bruno Haible  <bruno@clisp.org>
5432
5433         quotearg: Fix test failure on MacOS X 10.5.
5434         * tests/test-quotearg-simple.c: Include localcharset.h.
5435         (main): If the locale encoding is not ASCII, bypass the tests of
5436         locale_quoting_style and clocale_quoting_style.
5437         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5438
5439 2012-01-29  Jim Meyering  <meyering@redhat.com>
5440
5441         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5442         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5443         detect uses of canonicalize_file_name.
5444
5445 2012-01-28  Bruno Haible  <bruno@clisp.org>
5446
5447         test-framework-sh: Fix test failure with AIX 7.1 diff.
5448         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5449         in column 1, like 'diff -c' does.
5450         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5451         whether 'diff -u' is used. Instead, test whether the output contains
5452         some '@' character.
5453
5454 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5455
5456         strtoimax: eliminate need for stdint.h, inttypes.h checks
5457         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5458         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5459         the prerequisites for a recently-introduced strtoimax test.
5460         I guess this might cause strtoimax to be replaced when not
5461         strictly necessary on older hosts, but this shouldn't introduce
5462         any bugs and it should make Emacs 'configure' faster on typical
5463         modern hosts.  Problem discovered when importing the latest gnulib
5464         to an Emacs test version.
5465         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5466
5467 2012-01-28  Bruno Haible  <bruno@clisp.org>
5468
5469         sys_time: Override 'struct timeval' on some native Windows platforms.
5470         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5471         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5472         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5473         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5474         needs to be overridden.
5475         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5476         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5477         * tests/test-sys_select.c: Check that the tv_sec member has the same
5478         size as a 'time_t'.
5479         * tests/test-sys_time.c: Likewise.
5480         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5481         is set, set also REPLACE_GETTIMEOFDAY.
5482         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5483         convert the resulting 'struct timeval' before returning.
5484         * lib/select.c: Include <sys/time.h>.
5485         (select, timeval): Undefine at the right place.
5486         * modules/select (Depends-on): Add sys_time.
5487         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5488         some Windows platforms.
5489         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5490
5491 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5492
5493         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5494         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5495         an integer.
5496         * lib/fcntl.c (dupfd): Likewise.
5497         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5498
5499 2012-01-28  Bruno Haible  <bruno@clisp.org>
5500
5501         fcntl: Avoid compilation error on native Windows.
5502         * modules/fcntl (Depends-on): Add 'close'.
5503
5504 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5505
5506         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5507         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5508         pointer to an integer.
5509         * lib/poll.c (IsConsoleHandle): Likewise.
5510         * lib/isatty.c (IsConsoleHandle): Likewise.
5511
5512 2012-01-28  Jim Meyering  <meyering@redhat.com>
5513
5514         doc: clarify README-release
5515         * top/README-release: Clarify: you should make a point to have
5516         the latest stable versions of build tools in your PATH, and the
5517         reference to buildreq is solely for its list of tool names, not
5518         for its minimal-functional version numbers.
5519         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5520
5521         maint.mk: use more readable (yet functionally equivalent) quoting
5522         It is common to quote a single quote in a single quoted string like
5523         this:  '...'\''...'.  Unless you know the idiom, that looks like
5524         gibberish, so prefer to double-quote the string when possible.
5525         Then you can use a more readable, lone single quote: "...'..."
5526         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5527         "don't" is more readable than the equivalent 'don'\''t'.
5528         (sc_cast_of_x_alloc_return_value): Likewise.
5529         (sc_cast_of_alloca_return_value): Likewise.
5530         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5531         rather than '\'':'\''.
5532
5533 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5534
5535         stdalign: relax _Alignof and tighten _Alignas test
5536         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5537         as it was too strict: alignof must divide offsetof, but it need
5538         not equal offsetof.  Inspired by Joseph S. Myers's comment
5539         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5540         Conversely, tighten the _Alignas test a bit, as the resulting
5541         alignment must be exactly 8.
5542
5543 2012-01-27  Bruno Haible  <bruno@clisp.org>
5544
5545         stdalign: Document the last change.
5546         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5547
5548 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5549
5550         stdalign: check that alignof and offsetof are consistent
5551         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5552         Problem reported for gnulib by Richard W.M. Jones in
5553         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5554
5555 2012-01-27  Jim Meyering  <meyering@redhat.com>
5556
5557         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5558         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5559         convert a sequence with gaps to the minimal containing range.
5560         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5561         * tests/test-update-copyright.sh: Test for this.
5562         The FSF confirmed it is ok to do this, assuming there is at
5563         least one significant change per year in the affected range:
5564         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5565
5566 2012-01-26  Bruno Haible  <bruno@clisp.org>
5567
5568         pipe2: refine doc about thread-safety
5569         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5570         multithread-safety problem.
5571         * doc/glibc-functions/accept4.texi: Likewise.
5572
5573 2012-01-26  Bruno Haible  <bruno@clisp.org>
5574
5575         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5576         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5577         In the test program, include <fcntl.h>, for O_RDONLY.
5578
5579 2012-01-26  Eric Blake  <eblake@redhat.com>
5580
5581         pipe2: document lack of thread-safety in replacement
5582         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5583         issue in replacement.
5584         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5585         Based on a report by Eric Wong.
5586
5587 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5588             Bruno Haible  <bruno@clisp.org>
5589
5590         malloca: Avoid warnings on x86_64 mingw64.
5591         * lib/malloca.c: Include <stdint.h>.
5592         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5593         * modules/malloca (Depends-on): Add stdint.
5594         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5595
5596 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5597
5598         obstack: remove __STDC__ conditionals
5599         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5600         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
5601         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
5602         m4/include_next.m4 as the only gnulib-maintained places that still
5603         refer to __STDC__.
5604
5605 2012-01-24  Bruno Haible  <bruno@clisp.org>
5606
5607         havelib: Modern quoting.
5608         * build-aux/config.rpath: Quote 'like this', not `like this', as per
5609         the recent change to the GNU coding standards.
5610
5611 2012-01-24  Bruno Haible  <bruno@clisp.org>
5612
5613         stdint: Improve support for Android.
5614         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
5615         Reported by Simon Josefsson <simon@josefsson.org>.
5616
5617 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5618
5619         doc: omit trailing empty lines from INSTALL etc.
5620         * doc/Makefile (INSTALL): Omit trailing empty lines.
5621         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
5622         omit trailing empty lines.  This simplifies the build procedure.
5623
5624 2012-01-23  Jim Meyering  <meyering@redhat.com>
5625
5626         tests: avoid spurious warnings about gl_sockets_startup
5627         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
5628         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
5629         reporting a "statement with no effect".
5630         * tests/test-accept.c (main): Mark as "(void)".
5631         * tests/test-accept4.c (main): Likewise.
5632         * tests/test-bind.c (main): Likewise.
5633         * tests/test-connect.c (main): Likewise.
5634         * tests/test-getpeername.c (main): Likewise.
5635         * tests/test-getsockname.c (main): Likewise.
5636         * tests/test-getsockopt.c (main): Likewise.
5637         * tests/test-listen.c (main): Likewise.
5638         * tests/test-recv.c (main): Likewise.
5639         * tests/test-recvfrom.c (main): Likewise.
5640         * tests/test-send.c (main): Likewise.
5641         * tests/test-sendto.c (main): Likewise.
5642         * tests/test-setsockopt.c (main): Likewise.
5643         * tests/test-shutdown.c (main): Likewise.
5644
5645 2012-01-21  Bruno Haible  <bruno@clisp.org>
5646
5647         locale-fr.m4: Fix for Android.
5648         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5649         failure of the test program on Bionic libc.
5650
5651 2012-01-21  Jim Meyering  <meyering@redhat.com>
5652
5653         bootstrap: fail when bootstrap_post_import_hook fails
5654         Otherwise, it's far too easy to miss diagnostics emitted
5655         between gnulib-tool's output and that of running configure.
5656         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5657
5658 2012-01-17  Jim Meyering  <meyering@redhat.com>
5659
5660         maint: enable sc_trailing_blank
5661         * build-aux/pmccabe.css: Remove trailing blanks.
5662         * doc/acl-cygwin.txt: Likewise.
5663         * doc/gnu-oids.texi: Likewise
5664         * cfg.mk: Enable sc_trailing_blank.
5665         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
5666
5667 2012-01-17  Jim Meyering  <meyering@redhat.com>
5668
5669         maint: enable sc_prohibit_openat_without_use
5670         * cfg.mk: Enable sc_prohibit_openat_without_use.
5671         Exempt lib/selinux-at.c.
5672
5673 2012-01-17  Jim Meyering  <meyering@redhat.com>
5674
5675         maint: enable sc_prohibit_cloexec_without_use
5676         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
5677         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
5678
5679 2012-01-17  Jim Meyering  <meyering@redhat.com>
5680
5681         maint: enable sc_prohibit_intprops_without_use
5682         * cfg.mk: Enable sc_prohibit_intprops_without_use
5683         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
5684
5685 2012-01-17  Jim Meyering  <meyering@redhat.com>
5686
5687         maint: enable sc_prohibit_hash_pjw_without_use
5688         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
5689         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
5690         to match any use of \<hash_pjw\>, i.e., not necessarily with a
5691         following " (".
5692
5693 2012-01-17  Jim Meyering  <meyering@redhat.com>
5694
5695         maint: enable double-word-prohibiting rule
5696         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
5697         Exempt three files.
5698
5699 2012-01-17  Jim Meyering  <meyering@redhat.com>
5700
5701         maint: remove empty lines at EOF, but excluding modules/*
5702         Apply syntax rules at home as well as abroad.  Most changes
5703         were induced by running this:
5704           make srcdir=. _build-aux=build-aux -f top/maint.mk \
5705             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
5706             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
5707         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
5708         Exempt modules/* and two binary files.
5709         Also exempt doc/INSTALL*, per request from Bruno Haible.
5710         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
5711         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
5712         * doc/Copyright/request-assign.future: Likewise.
5713         * doc/Copyright/request-disclaim.changes: Likewise.
5714         * doc/INSTALL: Likewise.
5715         * doc/INSTALL.ISO: Likewise.
5716         * doc/INSTALL.UTF-8: Likewise.
5717         * doc/acl-cygwin.txt: Likewise.
5718         * doc/acl-resources.txt: Likewise.
5719         * doc/fdl-1.2.texi: Likewise.
5720         * doc/fdl-1.3.texi: Likewise.
5721         * doc/fdl.texi: Likewise.
5722         * lib/argp-pin.c: Likewise.
5723         * lib/round.c: Likewise.
5724         * lib/unicase/u16-totitle.c: Likewise.
5725         * lib/unictype/block_test.c: Likewise.
5726         * lib/uninorm/canonical-decomposition.c: Likewise.
5727         * m4/README: Likewise.
5728         * m4/relocatable-lib.m4: Likewise.
5729         * tests/test-isnand-nolibm.c: Likewise.
5730         * tests/test-isnand.c: Likewise.
5731         * tests/uninorm/NormalizationTest.txt: Likewise.
5732
5733 2012-01-17  Jim Meyering  <meyering@redhat.com>
5734
5735         maint: add framework to run syntax-check rules against gnulib sources
5736         * cfg.mk: New file, to disable all currently-failing tests.
5737         We'll enable them one by one, as they are made to pass.
5738         * Makefile (sc_maint): New rule.
5739
5740 2012-01-21  Bruno Haible  <bruno@clisp.org>
5741
5742         stdint: Add support for Android.
5743         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
5744         include the system's <stdint.h>.
5745         Reported by Simon Josefsson <simon@josefsson.org>.
5746
5747 2012-01-19  Jim Meyering  <meyering@redhat.com>
5748
5749         bootstrap: add bootstrap_post_import_hook
5750         Bison does still need something like the gnulib_mk_hook whose
5751         invocation I had to remove along with slurp in commit 767ccd40.
5752         Technically, we could get along without it, but doing so would
5753         have required living with a warning and a mandatory post-bootstrap
5754         automake rerun.
5755         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
5756         (bootstrap_post_import_hook): New function.
5757         Invoke it after gnulib-tool --import and before autoreconf.
5758
5759 2012-01-18  Jim Meyering  <meyering@redhat.com>
5760
5761         gitlog-to-changelog: don't use "no_"-prefixed variable name
5762         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
5763         to enable both --cluster and --no-cluster.  Change variable name,
5764         s/\$no_cluster/$cluster/, and reverse usage to match.
5765
5766         gitlog-to-changelog: use "||", not "or" in expressions
5767         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
5768         expressions.
5769
5770 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
5771
5772         gitlog-to-changelog: new option --no-cluster
5773         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
5774         clustering of adjacent commit messages.
5775
5776 2012-01-17  Jim Meyering  <meyering@redhat.com>
5777
5778         maint: spell file systems with two words, not one
5779         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
5780         two words, not one.
5781
5782 2012-01-16  Jim Meyering  <meyering@redhat.com>
5783
5784         bootstrap: add a FIXME comment to ensure we eventually remove the hack
5785         * build-aux/bootstrap (gnulib_tool_options): Add comment.
5786
5787 2012-01-16  Eric Blake  <eblake@redhat.com>
5788
5789         bootstrap: cater to autoconf 2.59
5790         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
5791         is not available.
5792
5793         bootstrap: properly check for libtool
5794         * build-aux/bootstrap (libtoolize): Also run libtool when older
5795         usage is detected.
5796
5797 2012-01-15  Bruno Haible  <bruno@clisp.org>
5798
5799         Improve support for MSVC 9.
5800         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5801         clashes on MSVC.
5802         * lib/fcntl.in.h: Likewise.
5803         * lib/stdlib.in.h: Likewise.
5804         * lib/sys_stat.in.h: Likewise.
5805
5806 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5807
5808         gnupload: we hold the master copy of this script now
5809         For motivation and more information, see:
5810         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
5811         * build-aux/gnupload: Make it clear in the heading comments that the
5812         master copy of this file is maintained by gnulib.  Since we are at
5813         it, bump its copyright year and ...
5814         ($scriptversion): ... the date in its version.
5815         ($usage): Patches and bug reports should be sent to the gnulib list,
5816         not the automake one.
5817         * config/srclist.txt: Don't try to sync 'gnupload' from automake
5818         anymore.
5819
5820 2012-01-15  Bruno Haible  <bruno@clisp.org>
5821
5822         Fix module 'random'.
5823         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
5824         initstate, setstate are declared.
5825
5826 2012-01-14  Bruno Haible  <bruno@clisp.org>
5827
5828         Tests for module 'random'.
5829         * modules/random-tests: New file.
5830         * tests/test-random.c: New file, based on tests/test-random_r.c.
5831
5832         New module 'random'.
5833         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
5834         declarations.
5835         * lib/random.c: New file, based on glibc/stdlib/random.c.
5836         * m4/random.m4: New file.
5837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
5838         HAVE_RANDOM.
5839         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
5840         * modules/random: New file.
5841         * config/srclist.txt: Add an entry for random.c.
5842         * doc/posix-functions/random.texi: Mention the 'random' module.
5843         * doc/posix-functions/initstate.texi: Likewise.
5844         * doc/posix-functions/setstate.texi: Likewise.
5845         * doc/posix-functions/srandom.texi: Likewise.
5846
5847 2012-01-12  Bruno Haible  <bruno@clisp.org>
5848
5849         random_r: Use common idioms.
5850         * lib/random_r.c: Include <stdlib.h> first.
5851
5852         random_r: Override incompatible API on AIX, OSF/1.
5853         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
5854         Override the system function if REPLACE_RANDOM_R is 1.
5855         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
5856         and OSF/1, set REPLACE_RANDOM_R.
5857         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
5858         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
5859         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
5860         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
5861         * doc/glibc-functions/random_r.texi: Likewise.
5862         * doc/glibc-functions/setstate_r.texi: Likewise.
5863
5864         random_r: Support for MSVC 9.
5865         * lib/random_r.c: Include stdint.h, not inttypes.h.
5866
5867 2012-01-12  Eric Blake  <eblake@redhat.com>
5868
5869         inet_ntop: guard extra work by IF_LINT
5870         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
5871         better code generation when not checking for warnings.
5872         Suggested by Paul Eggert and Jim Meyering.
5873
5874         strptime: fix regression on mingw
5875         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
5876         Fix regression.  Reported by Bruno Haible.
5877
5878 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
5879             Bruno Haible  <bruno@clisp.org>
5880
5881         copy-file: add error-code-returning variant.
5882         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
5883         (qcopy_file_preserving): New declaration.
5884         * lib/copy-file.c (qcopy_file_preserving): Renamed from
5885         copy_file_preserving. Change return type to 'int'. Don't emit an error
5886         message here.
5887         (copy_file_preserving): New function.
5888         * tests/test-copy-file.c: Include <stdlib.h>.
5889         (main): Test qcopy_file_preserving if the environment variable
5890         NO_STDERR_OUTPUT is set.
5891         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
5892         with NO_STDERR_OUTPUT
5893         * tests/test-copy-file-2.sh: Likewise.
5894
5895 2012-01-10  Bruno Haible  <bruno@clisp.org>
5896
5897         copy-file: Use 'quote' module consistently.
5898         * lib/copy-file.c (copy_file_preserving): Use quote().
5899
5900         copy-file: Refactor.
5901         * lib/copy-file.c: Include quote.h.
5902         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
5903         message here.
5904         * modules/copy-file (Depends-on): Add quote.
5905
5906         acl: Export qcopy_acl.
5907         * lib/acl.h (qcopy_acl): New declaration.
5908         * lib/copy-acl.c (qcopy_acl): Make non-static.
5909
5910         acl: Rename a local variable.
5911         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
5912
5913         acl: Align return values of copy_acl and qcopy_acl.
5914         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
5915         maybe < -1.
5916
5917 2012-01-11  Eric Blake  <eblake@redhat.com>
5918
5919         strptime: silence gcc warnings
5920         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
5921         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
5922         Reported by Daniel P. Berrange.
5923
5924         inet_ntop: silence gcc warning
5925         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
5926         Reported by Daniel P. Berrange.
5927
5928 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
5929
5930         getloadavg test: skip the test on GNU/Linux without /proc mounted
5931         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
5932         file.  When /proc is not mounted, it always fails with ENOENT.
5933         * tests/test-getloadavg.c (main): Treat ENOENT return code from
5934         getloadavg(3) the same way as ENOSYS and ENOTSUP.
5935
5936 2012-01-10  Bruno Haible  <bruno@clisp.org>
5937
5938         regex: Avoid link error on MSVC 9.
5939         * modules/regex (Depends-on): Add wctype.
5940
5941 2012-01-10  Bruno Haible  <bruno@clisp.org>
5942
5943         doc: Mention --with-tests option.
5944         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
5945         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
5946         --with-tests.
5947         Reported by Reuben Thomas.
5948
5949 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
5950
5951         users.txt: order package names lexicographically.
5952         * users.txt: Order package names lexicographically.
5953
5954 2012-01-10  Jim Meyering  <meyering@redhat.com>
5955
5956         maint.mk: fix description in comment
5957         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
5958
5959         ignore-value: remove deprecated ignore_ptr function
5960         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
5961         * NEWS: Note this.
5962
5963 2012-01-09  Jim Meyering  <meyering@redhat.com>
5964
5965         test-init.sh: avoid a subshell
5966         * tests/test-init.sh: Remove protective subshell.
5967         Suggested by Bernhard Voelker.  While a subshell is normally
5968         required to protect against older shells (Solaris, FreeBSD) that
5969         warn about a missing program before performing redirection, the
5970         shell-selection tests performed by init.sh probably exclude any
5971         offending shell.
5972
5973 2012-01-08  Bruno Haible  <bruno@clisp.org>
5974
5975         setlocale tests: Avoid test failure on Solaris 11 2011-11.
5976         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
5977         variable.
5978
5979 2012-01-08  Bruno Haible  <bruno@clisp.org>
5980
5981         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
5982         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5983         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5984         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
5985         macro.
5986         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
5987         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5988         * lib/spawn_faction_addopen.c: Add workaround implementation if
5989         HAVE_WORKING_POSIX_SPAWN.
5990         * modules/spawn (Makefile): Substitute
5991         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5992         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
5993         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
5994         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5995         (Depends-on): Update conditions.
5996         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
5997         the Solaris 11 bug.
5998
5999 2012-01-08  Bruno Haible  <bruno@clisp.org>
6000
6001         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
6002         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6003         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6004         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
6005         macro.
6006         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6007         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6008         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6009         HAVE_WORKING_POSIX_SPAWN.
6010         * modules/spawn (Makefile): Substitute
6011         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6012         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6013         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6014         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6015         (Depends-on): Update conditions.
6016         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6017         the Solaris 11 bug.
6018
6019 2012-01-08  Bruno Haible  <bruno@clisp.org>
6020
6021         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6022         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6023         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6024         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6025         HAVE_WORKING_POSIX_SPAWN.
6026         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6027         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6028         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6029         * lib/spawn_faction_addclose.c: Add workaround implementation if
6030         HAVE_WORKING_POSIX_SPAWN.
6031         * modules/spawn (Makefile): Substitute
6032         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6033         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6034         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6035         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6036         (Depends-on): Update conditions.
6037         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6038         the Solaris 11 bug.
6039
6040 2012-01-08  Bruno Haible  <bruno@clisp.org>
6041
6042         doc: Update for Solaris 11 2011-11.
6043         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6044         * m4/printf.m4: Update comments.
6045
6046 2012-01-08  Bruno Haible  <bruno@clisp.org>
6047
6048         mktime: Avoid compilation error on Solaris 11.
6049         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6050
6051 2012-01-08  Bruno Haible  <bruno@clisp.org>
6052
6053         doc: Small fix.
6054         * doc/posix-headers/nl_types.texi: Correct platforms list.
6055
6056 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6057
6058         Add lgpl-3.0 module.
6059         * MODULES.html.sh (Support for building documentation): Add
6060         lgpl-3.0.
6061         * modules/lgpl-3.0: New file.
6062
6063 2012-01-08  Jim Meyering  <meyering@redhat.com>
6064
6065         select.c: indent with spaces, not TABs
6066         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
6067
6068 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6069
6070         quotearg: do not use grave accent for left quote
6071         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
6072         locale_quoting_style.
6073         (quotearg_buffer_restyled): Fix example.
6074         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
6075
6076 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6077
6078         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
6079         Most programs do not have translation catalogs for English and much
6080         less separate catalogs for British and American English.  Drop the
6081         suggestion to translators about these two, and provide it
6082         automatically for Unicode locales.  Like most programs, even those
6083         using American English, we use single quotation marks.  This conflicts
6084         with the American typographic convention, but works better when you
6085         cite the entire error message within double quotes.  It also tries not
6086         to clash with established practice and with what non-gnulib programs
6087         will usually do.
6088         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
6089         using an UTF-8 or GB-18030 locale.  The list of other locales with
6090         quotes was provided by Bruno Haible.
6091         (quotearg_buffer_restyled): Adjust instructions to translators.
6092         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
6093         text, since this would be wrong when using Unicode.
6094         * modules/quotearg: Depend on c-strcaseeq.
6095
6096 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6097
6098         quotearg: fix Wikipedia link
6099         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
6100
6101 2012-01-07  Simon Josefsson  <simon@josefsson.org>
6102
6103         Fix for mingw with MSVC9.
6104         * m4/ld-version-script.m4: Check that compiler rejects version
6105         scripts with syntax errors.  Reported by Bruno Haible
6106         <bruno@clisp.org>.
6107
6108 2012-01-06  Bruno Haible  <bruno@clisp.org>
6109
6110         Talk about "native Windows API", not "Woe32".
6111         * lib/accept4.c: Update comments to mention native Windows.
6112         * lib/execute.c: Likewise.
6113         * lib/fatal-signal.c: Likewise.
6114         * lib/localcharset.c: Likewise.
6115         * lib/nanosleep.c: Likewise.
6116         * lib/nl_langinfo.c: Likewise.
6117         * lib/pclose.c: Likewise.
6118         * lib/pipe-filter-gi.c: Likewise.
6119         * lib/pipe-filter-ii.c: Likewise.
6120         * lib/pipe.c: Likewise.
6121         * lib/pipe2.c: Likewise.
6122         * lib/popen.c: Likewise.
6123         * lib/progreloc.c: Likewise.
6124         * lib/relocatable.c: Likewise.
6125         * lib/sigaction.c: Likewise.
6126         * lib/sigprocmask.c: Likewise.
6127         * lib/spawn-pipe.h: Likewise.
6128         * lib/spawn-pipe.c: Likewise.
6129         * lib/spawni.c: Likewise.
6130         * lib/stat-time.h: Likewise.
6131         * lib/w32spawn.h: Likewise.
6132         * tests/test-isatty.c: Likewise.
6133         * lib/config.charset: More comments.
6134         * doc/gnulib-intro.texi: Mention native Windows.
6135         * doc/posix-functions/_Exit_C99.texi: Likewise.
6136         * doc/posix-headers/fcntl.texi: Likewise.
6137
6138 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
6139
6140         argp: Avoid crash if translator uses % characters in a translation.
6141         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
6142         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6143
6144 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
6145
6146         doc: C11 and C++11 are now official
6147         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
6148         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
6149         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
6150         * modules/stdalign:
6151         Replace references to draft C1X to C11, and to draft C++0X to C++11.
6152
6153 2012-01-06  Bruno Haible  <bruno@clisp.org>
6154
6155         uc-is-grapheme-break tests: Tweak.
6156         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
6157         message.
6158
6159 2012-01-06  Bruno Haible  <bruno@clisp.org>
6160
6161         test-init.sh: correct the test for diff -u
6162         * tests/test-init.sh: Also redirect stdout to /dev/null.
6163
6164 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6165
6166         Use ', not `, for quoting output.
6167         * build-aux/announce-gen (usage, sizes, print_news_deltas)
6168         (print_changelog_deltas, get_tool_versions, main program):
6169         * build-aux/git-version-gen:
6170         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
6171         * build-aux/move-if-change (help):
6172         * build-aux/useless-if-before-free (usage, main program):
6173         * check-module (parse_module_file, usage)
6174         (find_included_lib_files, check_module):
6175         * lib/argmatch.c (main) [TEST]:
6176         * lib/argp-help.c (_help):
6177         * lib/getopt1.c (main) [TEST]:
6178         * lib/git-merge-changelog.c (usage):
6179         * lib/xstrtol-error.c (xstrtol_error):
6180         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6181         * m4/argz.m4 (gl_FUNC_ARGZ):
6182         * m4/bison.m4 (gl_BISON):
6183         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
6184         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6185         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6186         * m4/fpending.m4 (gl_PREREQ_FPENDING):
6187         * m4/gc-random.m4 (gl_GC_RANDOM):
6188         * m4/intl.m4 (gt_CHECK_DECL):
6189         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
6190         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
6191         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
6192         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
6193         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
6194         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
6195         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
6196         * tests/test-dirname.c (main):
6197         * tests/test-getpass.c (main):
6198         * tests/test-iconvme.c (main):
6199         * tests/test-parse-datetime.c (LOG):
6200         * tests/test-xstrtoimax.sh:
6201         * tests/test-xstrtol.sh:
6202         * tests/test-xstrtoll.sh:
6203         * tests/test-xstrtoumax.sh:
6204         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
6205         * top/GNUmakefile (abort-due-to-no-makefile):
6206         Quote 'like this', not `like this', as per the recent change to
6207         the GNU coding standards.
6208
6209 2012-01-05  Bruno Haible  <bruno@clisp.org>
6210
6211         strtoimax: Don't force a replacement on systems where intmax_t is int.
6212         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
6213         'intmax_t' is not larger than 'int'.
6214         Reported by Pádraig Brady <P@draigBrady.com>.
6215
6216 2012-01-05  Bruno Haible  <bruno@clisp.org>
6217
6218         doc: Mention NetBSD bugs.
6219         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
6220         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
6221
6222 2012-01-05  Bruno Haible  <bruno@clisp.org>
6223
6224         strtoumax tests: Enhance tests.
6225         * tests/test-strtoumax.c (main): Add tests for large values.
6226
6227 2012-01-05  Bruno Haible  <bruno@clisp.org>
6228
6229         strtoimax: Work around AIX 5.1 bug.
6230         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
6231         definition.
6232         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
6233         Set HAVE_STRTOIMAX.
6234         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
6235         REPLACE_STRTOIMAX.
6236         * modules/inttypes-incomplete (Makefile.am): Substitute
6237         REPLACE_STRTOIMAX.
6238         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
6239         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
6240         (Depends-on): Update conditions.
6241         * tests/test-strtoimax.c (main): Add tests for large values.
6242         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
6243
6244 2012-01-05  Bruno Haible  <bruno@clisp.org>
6245
6246         inttypes: Modernize.
6247         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
6248         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
6249         (Makefile.am): Update inttypes.h rule.
6250
6251 2012-01-05  Jim Meyering  <meyering@redhat.com>
6252
6253         init.sh: don't waste a subshell just to redirect stderr
6254         * tests/init.sh: In testing for diff -u and diff -c, use a
6255         stderr-redirecting exec inside `...` rather than a subshell.
6256
6257         test-init.sh: avoid failure on HP-UX 11.00
6258         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
6259         resolves to diff -c or cmp.  Reported by Bruno Haible.
6260
6261 2012-01-05  Bruno Haible  <bruno@clisp.org>
6262
6263         Tests for module 'strtoull'.
6264         * modules/strtoull-tests: New file.
6265         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
6266
6267 2012-01-05  Bruno Haible  <bruno@clisp.org>
6268
6269         Tests for module 'strtoll'.
6270         * modules/strtoll-tests: New file.
6271         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
6272
6273 2012-01-05  Bruno Haible  <bruno@clisp.org>
6274
6275         Tests for module 'strtoul'.
6276         * modules/strtoul-tests: New file.
6277         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
6278
6279 2012-01-05  Bruno Haible  <bruno@clisp.org>
6280
6281         Tests for module 'strtol'.
6282         * modules/strtol-tests: New file.
6283         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
6284
6285 2012-01-04  Jim Meyering  <meyering@redhat.com>
6286
6287         test-init.sh: accommodate Solaris 5.10's different diff -u output
6288         * tests/test-init.sh: Also exempt @@ lines from the comparison
6289         of diff output, since Solaris 5.10 and GNU diff formats differ.
6290         Reported by Stefano Lattarini.
6291
6292 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6293
6294         test-posixtm: don't assume signed integer wraparound
6295         * tests/test-posixtm.c (main): Don't assume wraparound semantics
6296         after signed integer overflow.  Inspired by (though it may not
6297         fix) Bruno Haible's bug report in
6298         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
6299
6300         Spell out "Windows 9x" and "Windows XP".
6301         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
6302         "Windows 9x" and "WinXP" with "Windows XP".
6303
6304 2012-01-04  Jim Meyering  <meyering@redhat.com>
6305
6306         test-vc-list-files-cvs.sh: remove obsolete comment
6307         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
6308         double exit.  Now that's all encapsulated via skip_ and Exit.
6309
6310 2012-01-04  Bruno Haible  <bruno@clisp.org>
6311
6312         Talk about "native Windows API", not "Win32".
6313         * lib/classpath.c: Update comments to mention native Windows.
6314         * lib/csharpexec.c: Likewise.
6315         * lib/dup2.c: Likewise.
6316         * lib/error.c: Likewise.
6317         * lib/fcntl.c: Likewise.
6318         * lib/filename.h: Likewise.
6319         * lib/findprog.c: Likewise.
6320         * lib/get-rusage-as.c: Likewise.
6321         * lib/get-rusage-data.c: Likewise.
6322         * lib/getpagesize.c: Likewise.
6323         * lib/javaexec.c: Likewise.
6324         * lib/msvc-inval.c: Likewise.
6325         * lib/msvc-nothrow.c: Likewise.
6326         * lib/nanosleep.c: Likewise.
6327         * lib/nonblocking.c: Likewise.
6328         * lib/printf-parse.c: Likewise.
6329         * lib/setlocale.c: Likewise.
6330         * lib/sigaction.c: Likewise.
6331         * lib/strerror_r.c: Likewise.
6332         * lib/tmpdir.c: Likewise.
6333         * lib/vasnprintf.c: Likewise.
6334         * lib/w32spawn.h: Likewise.
6335         * lib/waitpid.c: Likewise.
6336         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
6337         * m4/locale-ar.m4: Likewise.
6338         * m4/locale-fr.m4: Likewise.
6339         * m4/locale-ja.m4: Likewise.
6340         * m4/locale-tr.m4: Likewise.
6341         * m4/locale-zh.m4: Likewise.
6342         * m4/printf.m4: Likewise.
6343         * tests/test-cloexec.c: Likewise.
6344         * tests/test-copy-acl.sh: Likewise.
6345         * tests/test-copy-file.sh: Likewise.
6346         * tests/test-file-has-acl.sh: Likewise.
6347         * tests/test-set-mode-acl.sh: Likewise.
6348         * tests/test-dup-safer.c: Likewise.
6349         * tests/test-dup2.c: Likewise.
6350         * tests/test-dup3.c: Likewise.
6351         * tests/test-fcntl.c: Likewise.
6352         * tests/test-nonblocking-pipe.h: Likewise.
6353         * tests/test-nonblocking-socket.h: Likewise.
6354         * tests/test-pipe.c: Likewise.
6355         * tests/test-pipe2.c: Likewise.
6356         * tests/test-spawn-pipe-child.c: Likewise.
6357         * doc/acl-resources.txt: Likewise.
6358         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6359         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
6360         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
6361         * lib/localcharset.c: Update comments to mention native Windows.
6362         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6363         * lib/localename.c: Likewise.
6364         * lib/progreloc.c: Likewise.
6365         * lib/relocatable.c: Likewise.
6366         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6367         (windows_compute_revents): Renamed from win32_compute_revents.
6368         (windows_compute_revents_socket): Renamed from
6369         win32_compute_revents_socket.
6370         * lib/select.c: Update comments to mention native Windows.
6371         (windows_poll_handle): Renamed from win32_poll_handle.
6372         * m4/threadlib.m4: Update comments to mention native Windows.
6373         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
6374         --enable-threads=windows instead of --enable-threads=win32. Set
6375         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
6376         * lib/glthread/lock.h: Update comments to mention native Windows.
6377         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
6378         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
6379         USE_WIN32_THREADS.
6380         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
6381         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
6382         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
6383         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
6384         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
6385         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
6386         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
6387         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
6388         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
6389         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
6390         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
6391         * tests/test-tls.c: Likewise.
6392         Rationale:
6393         Microsoft renamed the "Win32 API" to "Windows API", as it is available
6394         on both 32-bit and 64-bit Windows systems.
6395         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
6396         line of distinction is between "native Windows" on one side and Unix/
6397         POSIX systems on the other side. More details in
6398         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
6399         Suggested by Paul Eggert.
6400
6401 2012-01-03  Bruno Haible  <bruno@clisp.org>
6402
6403         isatty: Support for MSVC 9.
6404         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
6405         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
6406         (_isatty_nothrow): New function.
6407         (isatty): Use it instead of _isatty.
6408         (IsConsoleHandle): Add comment, from Paolo Bonzini.
6409         * lib/poll.c (IsConsoleHandle): Likewise.
6410         * lib/select.c (IsConsoleHandle): Likewise.
6411         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
6412         (gl_PREREQ_ISATTY): New macro.
6413         * modules/isatty (Depends-on): Add msvc-inval.
6414         (configure.ac): Invoke gl_PREREQ_ISATTY.
6415
6416 2012-01-03  Jim Meyering  <meyering@redhat.com>
6417
6418         maint.mk: remove temporary transition aid from over 1.5 years ago
6419         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
6420         purpose was to aid in the transition (avoiding silent malfunction)
6421         from that old name to the new _sc_search_regexp.  This shim was
6422         added by commit 219c504b.
6423
6424         init.sh: do not try to accommodate compare arguments starting with "-"
6425         * tests/init.sh (compare_dev_null_): Do not try to accommodate
6426         compare arguments that start with "-".  Besides, we do not worry
6427         about this when invoking diff or cmp; why start now with sed?
6428         Using "--" to separate options from argument would trigger sed
6429         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6430         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6431
6432 2012-01-02  Bruno Haible  <bruno@clisp.org>
6433
6434         Enhance tests for module 'isatty'.
6435         * modules/isatty-tests (Depends-on): Add pipe-posix.
6436         * tests/test-isatty.c: Include <fcntl.h>.
6437         (DEV_NULL): New macro.
6438         (main): Test the resut of isatty() also on regular files, pipes, and
6439         /dev/null.
6440
6441         New module 'isatty'.
6442         * lib/unistd.in.h (isatty): New declaration.
6443         * lib/isatty.c: New file, based on an idea of
6444         Bastien Roucariès <roucaries.bastien@gmail.com>.
6445         * m4/isatty.m4: New file.
6446         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6447         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6448         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6449         REPLACE_ISATTY.
6450         * modules/isatty: New file.
6451         * doc/posix-functions/isatty.texi: Mention the new module.
6452         Suggested by Paolo Bonzini.
6453
6454 2012-01-02  Bruno Haible  <bruno@clisp.org>
6455
6456         canonicalize: Tweak 2011-12-29 commit.
6457         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6458         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6459
6460 2012-01-02  Jim Meyering  <meyering@redhat.com>
6461
6462         gitlog-to-changelog: describe input syntax in --help output
6463         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6464
6465         gitlog-to-changelog: fix typo in --help: show backslash before email @
6466         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6467         in sources, but not in actual output.
6468
6469 2011-12-30  Jim Meyering  <meyering@redhat.com>
6470
6471         gitlog-to-changelog: don't malfunction when name contains %-directive
6472         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6473         in a name string cause trouble.  E.g., with a user name of "%s",
6474         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6475
6476 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6477
6478         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6479         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6480         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6481         the "  (tiny change)" notation that is appended to the standard
6482         ChangeLog "date  name  email" header line.
6483
6484 2012-01-01  Jim Meyering  <meyering@redhat.com>
6485
6486         test-framework-sh: init.sh: fix "make dist" failure
6487         When using gnulib-tool's --with-tests option and any module that
6488         depends on test-framework-sh, "make dist" would fail due to the
6489         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6490         in the gltests directory, and not in the gllib/ directory.
6491         One way to work around that is to move the EXTRA_DIST += init.sh
6492         from the primary module to the -tests one:
6493         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6494         * modules/test-framework-sh (Makefile.am): ...not here.
6495         Reported by Tom G. Christensen in
6496         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6497
6498         version-etc: update copyright year reported by --version
6499         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6500
6501 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6502
6503         canonicalize: only stat() if required
6504         * lib/canonicalize.c (canonicalize_filename_mode):
6505         Avoid calling l?stat() when both CAN_MISSING,
6506         and CAN_NOLINKS are set, as we neither need
6507         to resolve symlinks or test component existence.
6508
6509 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6510
6511         doc: cover st_ino issues once; add OpenVMS etc.
6512         * doc/posix-functions/stat.texi (stat):
6513         * doc/posix-functions/lstat.texi (lstat):
6514         * doc/posix-functions/fstatat.texi (fstatat):
6515         * doc/posix-functions/fstat.texi (fstat):
6516         Move general 'struct stat' stuff to sys_stat.texi,
6517         leaving behind a pointer.
6518         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6519         Merge duplicate info about 'struct stat' problems into here.
6520         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6521         and suggest partial workarounds.
6522
6523         same-inode: port to OpenVMS
6524         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6525         three st_ino values.
6526
6527 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6528
6529         canonicalize: fix references to stat() and lstat()
6530         * lib/canonicalize.c (canonicalize_filename_mode):
6531         Ensure references always resolve to a replacement
6532         function if required (even via a macro).
6533
6534 2011-12-30  Jim Meyering  <meyering@redhat.com>
6535
6536         gitlog-to-changelog: remove a little duplication
6537         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6538         rather than twice.
6539
6540 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6541
6542         canonicalize: add support for not resolving symlinks
6543         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6544         indicate we don't want to follow symlinks.  Also
6545         provide CAN_MODE_MASK to aid setting these existing
6546         mutually exclusive values.
6547         * lib/canonicalize.c (canonicalize_filename_mode):
6548         Extract the flags from can_mode parameter, which
6549         are currently just used to select between stat()
6550         and lstat().  Also ensure that mutually exclusive
6551         values are flagged immediately as invalid.
6552         * tests/test-canonicalize.c: Verify symlinks are
6553         not followed, and that invalid flag combinations
6554         are diagnosed.
6555
6556 2011-12-25  Jim Meyering  <meyering@redhat.com>
6557
6558         gitlog-to-changelog: do not clump multi-paragraph entries
6559         Identical header lines (date,name,email+coauthors) are suppressed,
6560         thus putting all entries with those same characteristics under
6561         a single header.  However, when a log entry consists of two or
6562         more paragraphs, it may not be clear where it starts and ends.
6563         This change makes it so that such an entry is always separated
6564         from others by a header line, even when that header would
6565         otherwise be suppressed.
6566         * build-aux/gitlog-to-changelog: Implement the above.
6567         Inspired by a related request from Stefano Lattarini in
6568         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6569
6570 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6571
6572         announce-gen: fix `cmd' typo in diagnostic
6573         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6574         diagnostic: a missing '$' meant that the command was not output.
6575
6576 2011-12-23  Jim Meyering  <meyering@redhat.com>
6577
6578         test-framework-sh: distribute init.sh
6579         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6580         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6581         fail due to the lack of init.sh.
6582
6583         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6584         * modules/atexit-tests: Rather than listing tests/init.sh,
6585         now that there's a module for it, simply depend on that new module.
6586         * modules/closein-tests: Likewise.
6587         * modules/exclude-tests: Likewise.
6588         * modules/getcwd-tests: Likewise.
6589         * modules/perror-tests: Likewise.
6590         * modules/pread-tests: Likewise.
6591         * modules/pwrite-tests: Likewise.
6592         * modules/vc-list-files-tests: Likewise.
6593         * modules/verify-tests: Likewise.
6594         * modules/xalloc-die-tests: Likewise.
6595         * modules/xstrtoimax-tests: Likewise.
6596         * modules/xstrtol-tests: Likewise.
6597         * modules/xstrtoll-tests: Likewise.
6598         * modules/xstrtoumax-tests: Likewise.
6599         * modules/yesno-tests: Likewise.
6600
6601 2011-12-22  Jim Meyering  <meyering@redhat.com>
6602
6603         test-framework-sh: add minimal tests of init.sh's compare function
6604         * modules/test-framework-sh-tests: New file.
6605         * tests/test-init.sh: New file.
6606
6607         test-framework-sh: new module
6608         * modules/test-framework-sh: New file.
6609         * MODULES.html.sh (Support for maintaining and releasing projects):
6610         List it.
6611
6612         init.sh: do not emit simulated diff output to stderr
6613         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
6614
6615 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6616
6617         .gitignore: ignore gnulib.dvi and regex.info
6618         * doc/.gitignore:add gnulib.dvi and regex.info
6619
6620 2011-12-22  Jim Meyering  <meyering@redhat.com>
6621
6622         init.sh: correct previous change
6623         * tests/init.sh (compare): My previous change was wrong.
6624         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
6625
6626         init.sh: avoid unwarranted test failure when using "set -e"
6627         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
6628         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
6629         a use like "compare exp out" would get evoke an unconditional failure.
6630
6631 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
6632
6633         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
6634         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
6635         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
6636         autoreconf that did not.
6637         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
6638         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6639
6640 2011-12-17  Jim Meyering  <meyering@redhat.com>
6641
6642         bootstrap: remove some now-unneeded code
6643         This script arose back when gnulib-tool was young.
6644         Since then, it has seen improvements that render much of this
6645         script unnecessary.  In particular, it can now make symlinks
6646         to the files it uses.  Also, I no longer see as much value in
6647         marking files as read-only via comments.
6648         If you relied on the symlink-creation feature of the preceding
6649         version of this script, you can get most of that functionality
6650         by adding the --symlink option to the definition of
6651         gnulib_tool_option_extras in your bootstrap.conf file.
6652         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6653         Run autopoint and libtoolize *before* gnulib-tool.
6654         After it, run an abbreviated autoreconf, rather than a loop around
6655         all tools.
6656         (slirp, bt_mark_as_generated): Remove functions.
6657
6658 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6659
6660         ftoastr: fix typo
6661         * lib/ftoastr.h: Fix misspelling in comment.
6662
6663 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
6664
6665         * top/README-release: fix punctuation.
6666
6667 2011-12-17  Jim Meyering  <meyering@redhat.com>
6668
6669         bootstrap: correct the recent buildreq change
6670         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
6671         had no effect.
6672         * build-aux/bootstrap (buildreq): Bracket each search term with
6673         "*...*", so that the shell "case" statement works as intended.
6674         Add comments.
6675
6676 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
6677
6678         build: let bootstrap resort to wget when downloading .po files
6679         * build-aux/bootstrap (download_po_files): Fallback to wget when
6680         downloading the .po files via rsync fails.  This is necessary to
6681         bootstrap from behind a strict firewall.
6682
6683 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         stdint: don't assume C++11 when compiling with g++
6686         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
6687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
6688         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
6689         work also in C++ before C++11, as that improperly inhibits
6690         generating a substitute stdint.h for that case.
6691
6692 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6693
6694         alloca: protect comment from gnulib-tool
6695         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
6696         that gnulib-tool doesn't think it's a license, and munge it to
6697         say "GCC version 3".
6698
6699 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
6700
6701         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
6702         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
6703         $(abs_top_builddir) instead of $(top_builddir).
6704
6705 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
6706
6707         strftime-tests: also test nanoseconds
6708         * tests/test-strftime.c (T): Add a test of %N.
6709
6710 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6711
6712         inttypes, stdint: add C++11 support
6713         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
6714         when including inttypes.h and stdint.h.  Support this change to
6715         the standard.
6716         * doc/posix-headers/inttypes.texi (inttypes.h):
6717         * doc/posix-headers/stdint.texi (stdint.h): Document this.
6718         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
6719         Define if not defined already, for the benefit of pre-C++11 hosts.
6720         Define the standard format macros (e.g., PRId8) always.
6721         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
6722         Likewise, if __cpluspus.  Define the standard constant and limit
6723         macros (e.g., INT8_C, INT8_MAX) always.
6724         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
6725         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
6726         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
6727         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
6728         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
6729         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
6730         Likewise.
6731
6732 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6733
6734         nonblocking tests: Fix test failure on Linux/PPC.
6735         Suggested by Prerna Saxena in
6736         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
6737         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
6738         Set to 1100000.
6739
6740 2011-12-12  Jim Meyering  <meyering@redhat.com>
6741
6742         argmatch: don't hard-code `' when listing valid option arguments
6743         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
6744         use the quote function to add quotes.  Use fputs rather than
6745         fprintf for the format string with no format directive.
6746
6747 2011-12-07  Eric Blake  <eblake@redhat.com>
6748
6749         bootstrap: detect tools required by gnulib-tool
6750         * build-aux/bootstrap (buildreq): Provide minimum implicit
6751         dependencies.
6752         * DEPENDENCIES: Mention patch as a prereq.
6753
6754 2011-12-04  Bruno Haible  <bruno@clisp.org>
6755
6756         sethostname: Port to Windows platforms.
6757         * lib/sethostname.c: Provide an alternate implementation for Windows
6758         platforms.
6759         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
6760         (main): Skip the test if sethostname() fails with EPERM. On Windows
6761         platforms, don't check the result of gethostname().
6762
6763 2011-12-04  Bruno Haible  <bruno@clisp.org>
6764             Jim Meyering  <meyering@redhat.com>
6765
6766         tests: Avoid spurious error message on platforms without mktemp program.
6767         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
6768
6769 2011-12-04  Bruno Haible  <bruno@clisp.org>
6770
6771         sethostname: Fix documentation.
6772         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
6773         "not fixed" section.
6774
6775 2011-12-03  Bruno Haible  <bruno@clisp.org>
6776
6777         gnulib-tool: Verify that the License field is present and non-empty.
6778         * gnulib-tool (func_get_license_raw): New function, extracted from
6779         func_get_license.
6780         (func_get_license): Use it. Warn if the module is not a test module and
6781         has no license.
6782         Suggested by Jim Meyering.
6783
6784 2011-12-03  Bruno Haible  <bruno@clisp.org>
6785
6786         sethostname tests: Fix link error on mingw.
6787         * tests/test-sethostname1.c: New file, extracted from
6788         tests/test-sethostname.c.
6789         * tests/test-sethostname2.c: New file, extracted from
6790         tests/test-sethostname.c.
6791         * tests/test-sethostname.c: Remove file.
6792         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
6793         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
6794         (Depends-on): Add gethostname.
6795         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
6796         Link the latter with $(GETHOSTNAME_LIB).
6797
6798         sethostname tests: Fix compilation error on mingw.
6799         * tests/test-sethostname.c: Don't include <sys/types.h>.
6800         (geteuid): Use a dummy value without uid_t.
6801         * modules/sethostname-tests (Depends-on): Remove sys_types.
6802
6803         sethostname tests: Avoid a gcc warning.
6804         * tests/test-sethostname.c (main): Remove an unused variable.
6805
6806         Tweak last commit.
6807         * modules/sethostname-tests (Files): Sort by decreasing importance.
6808         (configure.ac): Check for geteuid.
6809         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
6810         the test when there's nothing to test. Drop an unnecessary cast.
6811         Improve an error message. Verify that the final sethostname() call
6812         succeeds.
6813
6814 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6815
6816         Add a test suite for the sethostname module.
6817         * modules/sethostname-tests: New file.  A test program
6818         for the sethostname module.
6819         * tests/test-sethostname.c: Likewise.
6820
6821 2011-12-03  Bruno Haible  <bruno@clisp.org>
6822
6823         Tweak last commit.
6824         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
6825         Fix preprocessor directives indentation. Fix typos.
6826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
6827         * modules/unistd (Makefile): Likewise.
6828
6829 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6830
6831         Integrate the sethostname module into unistd.
6832         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
6833         into the unistd.h header.
6834         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
6835         preprocessor directives.
6836         * modules/unistd: Setup the Makefile substitutions of the
6837         SETHOSTNAME preprocessor directives.
6838
6839 2011-12-03  Bruno Haible  <bruno@clisp.org>
6840
6841         Tweak last commit.
6842         * lib/sethostname.c: Don't include <string.h>.
6843         (sethostname): No need to copy the argument string to the stack. Don't
6844         call clearerr. Preserve errno when fprintf failed.
6845         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
6846         Don't invoke AC_REPLACE_FUNCS.
6847         * modules/sethostname (Link): Remove empty section.
6848         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
6849         failure problem.
6850
6851 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6852
6853         New module 'sethostname'.
6854         * lib/sethostname.c (sethostname): New file.  Provide sethostname
6855         for systems that lack it.
6856         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
6857         sethostname declaration and function.
6858         * modules/sethostname: New file.  Define the sethostname module.
6859
6860 2011-12-03  Bruno Haible  <bruno@clisp.org>
6861
6862         Tweak last commit.
6863         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
6864
6865 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6866
6867         Split the HOST_NAME_MAX detection into a separate m4 macro.
6868         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
6869         macro so it can be used by the pending sethostname module.
6870
6871 2011-12-03  Bruno Haible  <bruno@clisp.org>
6872
6873         Fix module descriptions syntax.
6874         * modules/argv-iter (License): Fix syntax.
6875         * modules/di-set (License): Likewise.
6876         * modules/ino-map (License): Likewise.
6877         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
6878
6879 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6880
6881         stdalign: port to Clang 3.0
6882         Problem reported by Simon Josefsson in
6883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
6884         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
6885         which has <stdalign.h> but which does not define alignof.
6886         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
6887
6888 2011-12-01  Eric Blake  <eblake@redhat.com>
6889
6890         mktempd: silence dd usage
6891         * build-aux/mktempd (rand_bytes): Silence dd.
6892
6893 2011-11-30  Simon Josefsson  <simon@josefsson.org>
6894
6895         manywarnings: Don't mention gcc version in docstring.
6896         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
6897         Jim Meyering <meyering@redhat.com>.
6898
6899 2011-11-30  Jim Meyering  <meyering@redhat.com>
6900
6901         hash: mark a few floating point constants with "f" suffix
6902         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
6903         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
6904         floating point constants with "f", since they're destined to be
6905         saved/used as "float"s.
6906
6907 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
6908
6909         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
6910         * tests/test-float.c (test_long_double): Correct and re-enable the
6911         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
6912
6913 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
6914
6915         Avoid subtracting two pointers that don't point into the same block.
6916         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
6917         only pointers into the same memory block are subtracted. We cannot
6918         assume that sizeof (ptrdiff_t) == sizeof (void *).
6919
6920 2011-11-29  Eric Blake  <eblake@redhat.com>
6921
6922         maint.mk: add syntax check for use of compare from init.sh
6923         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
6924         moved here from coreutils.
6925
6926         manywarnings: drop -Wunsuffixed-float-constants
6927         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
6928         '1.0D', which is the only way to silence this warning for 'double'.
6929
6930 2011-11-29  Jim Meyering  <meyering@redhat.com>
6931
6932         hash: mark compute_bucket_size with the pure attribute
6933         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
6934
6935         quotearg, propername: correct pragma guard expression
6936         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
6937         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
6938
6939 2011-11-28  Jim Meyering  <meyering@redhat.com>
6940
6941         propername: do not mark proper_name with the const attribute
6942         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
6943         since it examines data pointed to by its parameter.
6944         * lib/propername.c (proper_name): Instead, add a pragma to suppress
6945         the suggestion from -Wsuggest-attribute=const.
6946
6947         propername: mark one more function as const
6948         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
6949
6950 2011-11-27  Jim Meyering  <meyering@redhat.com>
6951
6952         mark functions with const and pure attributes
6953
6954         Mark functions per suggestions from gcc-4.6 when using these options:
6955         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
6956         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
6957         Follow these guidelines: when possible, apply the attribute to
6958         an extern declaration, not to its definition.  Apply it to the
6959         definition only when the definition is static.
6960         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
6961         * lib/argv-iter.h (argv_iter_n_args): Likewise.
6962         * lib/base64.h (isbase64): Likewise.
6963         * lib/basename-lgpl.c (last_component, base_len): Likewise.
6964         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
6965         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
6966         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
6967         (c_tolower, c_toupper): Likewise.
6968         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
6969         * lib/chdir-long.c (find_non_slash): Likewise.
6970         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
6971         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
6972         * lib/file-type.h (file_type): Likewise.
6973         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
6974         * lib/filevercmp.c (verrevcmp): Likewise.
6975         * lib/freadahead.h (freadahead): Likewise.
6976         * lib/fts.c (fts_maxarglen): Likewise.
6977         * lib/hash-pjw.h (hash_pjw): Likewise.
6978         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
6979         * lib/hash.c (is_prime, next_prime): Likewise.
6980         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
6981         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
6982         (hash_table_ok, hash_get_first, hash_string): Likewise.
6983         (compute_bucket_size): Likewise.
6984         * lib/i-ring.h (i_ring_empty): Likewise.
6985         * lib/isnan.c (isnanl): Likewise.
6986         * lib/math.h (isnanl, rpl_isnanl): Likewise.
6987         * lib/memcasecmp.h (memcasecmp): Likewise.
6988         * lib/memchr2.h (memchr2): Likewise.
6989         * lib/memcmp2.h (memcmp2): Likewise.
6990         * lib/parse-datetime.y (lookup_zone): Likewise.
6991         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
6992         [!WINDOWS_SOCKETS]: Likewise.
6993         * lib/strnlen1.h (strnlen1): Likewise.
6994         * lib/uniwidth.in.h (uc_width): Likewise.
6995         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
6996         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
6997         (quoting_options_from_style): Add a comment.
6998         * lib/propername.h (proper_name): Add a comment.
6999
7000 2011-11-27  Bruno Haible  <bruno@clisp.org>
7001
7002         Remove unused macros from !_LIBC code in glibc-borrowed files.
7003         * lib/fnmatch.c (STRCOLL): Remove macro.
7004         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
7005         * lib/glob.c (__stat, __readdir64): Remove macros.
7006         * lib/tempname.c (__open64, __xstat64): Remove macros.
7007         Suggested by Paul Eggert.
7008
7009 2011-11-27  Bruno Haible  <bruno@clisp.org>
7010
7011         getcwd: Fix link error on MSVC 9.
7012         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7013
7014 2011-11-27  Bruno Haible  <bruno@clisp.org>
7015
7016         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7017         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7018         HAVE_OPENDIR is 0.
7019         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7020         HAVE_CLOSEDIR is 0.
7021         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7022         is 0.
7023         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7024
7025 2011-11-27  Bruno Haible  <bruno@clisp.org>
7026
7027         getcwd: Fix bug from 2011-08-17.
7028         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7029         platforms that need it.
7030         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7031         code of 4 to be a failure, not a success. This ensures that
7032         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7033
7034 2011-11-27  Bruno Haible  <bruno@clisp.org>
7035
7036         binary-io tests: Avoid test failure on mingw when libtool is used.
7037         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7038         Don't verify the size of t-bin-out1.tmp here.
7039         * tests/test-binary-io.sh: Verify it here.
7040         Reported by Simon Josefsson.
7041
7042 2011-11-26  Bruno Haible  <bruno@clisp.org>
7043
7044         Fix conflict between two instantiations of module 'unistd'.
7045         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7046         ${include_guard_prefix} also in the autoconf snippet.
7047         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7049         GNULIB_UNISTD_H_GETOPT.
7050         * modules/getopt-posix (configure.ac): Set the
7051         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7052         * modules/getopt-gnu (configure.ac): Likewise.
7053         * modules/unistd (Makefile.am): Change the substitution value of
7054         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7055         Reported by Simon Josefsson.
7056
7057 2011-11-25  Bruno Haible  <bruno@clisp.org>
7058
7059         pagealign_alloc: Doc and comments.
7060         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7061         module.
7062         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7063
7064 2011-11-25  Jim Meyering  <meyering@redhat.com>
7065
7066         test-update-copyright.sh: avoid false-positive failure
7067         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
7068         around false positive failure on Cygwin/Windows.  The latter was
7069         matching erroneously-created files with names like
7070         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
7071
7072 2011-11-25  Simon Josefsson  <simon@josefsson.org>
7073
7074         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
7075         * m4/valgrind-tests.m4: Check that the parameters that will be
7076         used works, not just a subset of them.  Reported by Bruno Haible
7077         <bruno@clisp.org>.
7078
7079 2011-11-24  Jim Meyering  <meyering@redhat.com>
7080
7081         test-stdalign.c: comment out long double tests
7082         * tests/test-stdalign.c: Don't try to reduce alignment of long double
7083         variables.  That provokes errors like this from gcc-4.7.0 20111124:
7084         error: '_Alignas' specifiers cannot reduce alignment of \
7085         'static_longdouble_alignas'.
7086
7087 2011-11-22  Jim Meyering  <meyering@redhat.com>
7088
7089         init.sh: make "compare /dev/null FILE" output more readable
7090         * tests/init.sh (compare_): Document the preferred order of arguments.
7091         (emit_diff_u_header_): New function.
7092         (compare_dev_null_): Emit a simulated diff, rather than just the
7093         contents of the unexpected file.  Suggestion from Bruno Haible.
7094
7095 2011-11-21  Jim Meyering  <meyering@redhat.com>
7096             Eric Blake  <eblake@redhat.com>
7097
7098         init.sh: work around OSF/1 5.1's mishandling of /dev/null
7099         * tests/init.sh: Make our compare function slightly more portable.
7100         Reported by Bruno Haible in
7101         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
7102
7103 2011-11-21  Simon Josefsson  <simon@josefsson.org>
7104
7105         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
7106         before using it, in code that ends up in config.h.
7107
7108 2011-11-20  Bruno Haible  <bruno@clisp.org>
7109
7110         getcwd: Work around getcwd bug on AIX 5..7.
7111         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
7112         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
7113         Use a different value for gl_cv_func_getcwd_path_max. Move the
7114         definition of HAVE_PARTLY_WORKING_GETCWD from here...
7115         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
7116         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
7117         Define HAVE_MINIMALLY_WORKING_GETCWD.
7118         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
7119         where it is not even minimally working, that is, on AIX.
7120         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
7121         m4/getcwd-path-max.m4.
7122         (main): Update exit code computation.
7123         * doc/posix-functions/getcwd.texi: Mention list of platforms where
7124         getcwd does not handle long file names.
7125
7126 2011-11-20  Bruno Haible  <bruno@clisp.org>
7127
7128         getcwd: Fix bug from 2009-09-10.
7129         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
7130         like "no".
7131
7132 2011-11-20  Simon Josefsson  <simon@josefsson.org>
7133
7134         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
7135
7136 2011-11-20  Bruno Haible  <bruno@clisp.org>
7137
7138         fma tests: Avoid shadowing local variables.
7139         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
7140         expected.
7141
7142 2011-11-20  Bruno Haible  <bruno@clisp.org>
7143
7144         copysignf tests: Fix.
7145         * tests/test-copysignf.c: Fix signature check.
7146
7147 2011-11-20  Bruno Haible  <bruno@clisp.org>
7148
7149         fma: Remove unused code.
7150         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
7151         unused macros.
7152
7153 2011-11-20  Bruno Haible  <bruno@clisp.org>
7154
7155         sethostname: Fix doc about AIX.
7156         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
7157         sethostname; it has it.
7158
7159         sethostname: Mention more portability problems.
7160         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
7161         problem.
7162         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7163
7164 2011-11-19  Bruno Haible  <bruno@clisp.org>
7165
7166         Depend on module fcntl-h when AT_FDCWD is used.
7167         * modules/utimens (Depends-on): Add fcntl-h.
7168         * modules/areadlinkat (Depends-on): Likewise.
7169         * modules/areadlinkat-with-size (Depends-on): Likewise.
7170         * modules/faccessat (Depends-on): Likewise.
7171         * modules/fchmodat (Depends-on): Likewise.
7172         * modules/fchownat (Depends-on): Likewise.
7173         * modules/getcwd (Depends-on): Likewise.
7174         * modules/mkdirat (Depends-on): Likewise.
7175         * modules/mkfifoat (Depends-on): Likewise.
7176         * modules/readlinkat (Depends-on): Likewise.
7177         * modules/symlinkat (Depends-on): Likewise.
7178         * modules/dup2-tests (Depends-on): Likewise.
7179         * modules/fdutimensat-tests (Depends-on): Likewise.
7180         * modules/futimens-tests (Depends-on): Likewise.
7181
7182 2011-11-19  Bruno Haible  <bruno@clisp.org>
7183
7184         euidaccess: Update a comment.
7185         * lib/euidaccess.c: Update comment about platforms with faccessat.
7186
7187 2011-11-19  Bruno Haible  <bruno@clisp.org>
7188
7189         openat: Fix file list.
7190         * modules/openat (Files): Remove lib/at-func.c.
7191
7192 2011-11-19  Bruno Haible  <bruno@clisp.org>
7193
7194         fstatat: Simplify.
7195         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
7196         gnulib should define rpl_fstatat, there is a
7197         "#define fstatat rpl_fstatat" in <sys/stat.h>.
7198
7199 2011-11-19  Bruno Haible  <bruno@clisp.org>
7200
7201         Ensure 'inline' can be used in tests/test-utimens-common.h.
7202         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
7203         * modules/futimens-tests (configure.ac): Likewise.
7204         * modules/utimens-tests (configure.ac): Likewise.
7205         * modules/utimensat-tests (configure.ac): Likewise.
7206
7207 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7208
7209         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
7210         not hash_insert0.
7211         (hash_insert_if_absent): Doc fix.
7212
7213 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7214
7215         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
7216
7217 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7218
7219         test-getcwd: disambiguate exit status
7220         * tests/test-getcwd.c (test_long_name): Return 0..7.
7221         (main): Exit with an unambiguous exit status.  The old
7222         code yielded a mysterious mixture of two failure codes.
7223
7224         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
7225         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
7226         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
7227         rpl_fstatat or fstatat.  This should fix the other problem
7228         reported by Kai Habel in
7229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7230         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
7231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
7232         and I reproduced it on a Solaris 8 host we still have in production.
7233
7234 2011-11-18  Jim Meyering  <meyering@redhat.com>
7235
7236         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
7237         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
7238         Add a sentence to the comment.
7239         (hash_insert0): New function that simply calls hash_insert_if_absent.
7240         * lib/hash.h (hash_insert_if_absent): Declare it.
7241         (hash_insert0): Add deprecation attribute.
7242         (_GL_ATTRIBUTE_DEPRECATED): Define.
7243         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
7244         not hash_insert0.
7245         * NEWS: Mention it, even though it's not really an incompatible change.
7246
7247 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
7248
7249         openat: avoid compilation failure due to lack of <errno.h> inclusion
7250         * lib/openat.c: Include <errno.h>.
7251
7252 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7253
7254         * modules/getcwd (Depends-on): Add fdopendir.
7255         This fixes one of the two problems reported by Kai Habel in
7256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7257
7258         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
7259         stdalign problem reported by Ian Beckwith in
7260         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
7261         * modules/crypto/gc-arcfour (Depends-on):
7262         Depend conditionally on crypto/arcfour.
7263         * modules/crypto/gc-arctwo (Depends-on):
7264         Depend conditionally on crypto/arctwo.
7265         * modules/crypto/gc-des (Depends-on):
7266         Depend conditionally on crypto/des.
7267         * modules/crypto/gc-hmac-md5 (Depends-on):
7268         Depend conditionally on crypto/hmac-md5.
7269         * modules/crypto/gc-hmac-sha1 (Depends-on):
7270         Depend conditionally on crypto/hmac-sha1.
7271         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
7272         * modules/crypto/gc-md4 (Depends-on):
7273         Depend conditionally on crypto/md4.
7274         * modules/crypto/gc-md5 (Depends-on):
7275         Depend conditionally on crypto/md5.
7276         * modules/crypto/gc-rijndael (Depends-on):
7277         Depend conditionally on crypto/rijndael.
7278         * modules/crypto/gc-sha1 (Depends-on):
7279         Depend conditionally on crypto/sha1.
7280         * modules/crypto/gc-arcfour:
7281         * modules/crypto/gc-arctwo:
7282         * modules/crypto/gc-des:
7283         * modules/crypto/gc-hmac-md5:
7284         * modules/crypto/gc-hmac-sha1:
7285         * modules/crypto/gc-md2:
7286         * modules/crypto/gc-md4:
7287         * modules/crypto/gc-md5:
7288         * modules/crypto/gc-rijndael:
7289         * modules/crypto/gc-sha1:
7290         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
7291         now that the conditional dependencies do the work for us.
7292
7293 2011-11-17  Jim Meyering  <meyering@redhat.com>
7294
7295         tests: factor st_ctime-comparison out of two headers
7296         * tests/test-utimens-common.h (ctime_compare): Define.
7297         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
7298         * tests/test-lutimens.h (test_lutimens): Likewise.
7299         * tests/test-utimens.h (test_utimens): Likewise.
7300
7301         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
7302         Invoke the test program via an init.sh-using wrapper.
7303         * tests/test-getcwd.sh: New file.
7304         * modules/getcwd-tests (Files): Add it.
7305         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
7306
7307 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
7308
7309         gitlog-to-changelog: support multi-author commits.
7310         The FSF cares about keeping track of all authors of patches to its
7311         projects, but Git doesn't provide obvious support for multi-author
7312         changesets. Consensus seems to be forming around the use of extra
7313         Signed-off-by inspired lines in the log message formatted as
7314         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
7315         multi-author commits between version control systems.
7316         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
7317         log message and output in standard ChangeLog multi-author format.
7318         Reported by Peter Rosin <peda@lysator.liu.se>
7319
7320 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
7321             Bruno Haible  <bruno@clisp.org>
7322
7323         Fix some modules' file list.
7324         * modules/fstatat (Files): Add m4/lstat.m4.
7325         * modules/openat (Files): Likewise.
7326         * modules/unlinkat (Files): Likewise.
7327
7328 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
7329
7330         maint.mk: fix tight-scope.mk generation in VPATH builds.
7331         * top/maint.mk (tight-scope.mk): Make sure to prefix file
7332         reference with $(srcdir) so that the file is found correctly even
7333         when running `make syntax-check' in a VPATH build.
7334
7335 2011-11-13  Bruno Haible  <bruno@clisp.org>
7336             Jim Meyering  <meyering@redhat.com>
7337
7338         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
7339         * tests/init.sh (compare): Remove "No differences encountered" or
7340         synonymous output from the 'diff' program.
7341
7342 2011-11-13  Bruno Haible  <bruno@clisp.org>
7343
7344         Makefile: Tweak indentation.
7345         * Makefile: Use tab as first character in every line that contains rule
7346         commands.
7347
7348 2011-11-13  Bruno Haible  <bruno@clisp.org>
7349
7350         Syntax check for copyright statements.
7351         * check-copyright: New file.
7352         * Makefile (sc_check_copyright): New rule.
7353
7354 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7355
7356         * build-aux/git-version-gen: Add --prefix to configure the tag
7357         match string.
7358
7359 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7360
7361         * build-aux/git-version-gen: Add --help and --version.
7362
7363 2011-11-12  Jim Meyering  <meyering@redhat.com>
7364
7365         revamp the other test-exclude?.sh scripts to use init.sh, too
7366         * tests/test-exclude1.sh: Use init.sh.
7367         * tests/test-exclude2.sh: Likewise.
7368         * tests/test-exclude3.sh: Likewise.
7369         * tests/test-exclude4.sh: Likewise.
7370         * tests/test-exclude5.sh: Likewise.
7371         * tests/test-exclude6.sh: Likewise.
7372         * tests/test-exclude7.sh: Likewise.
7373         * tests/test-exclude8.sh: Likewise.
7374         * modules/exclude-tests (Files): List init.sh.
7375
7376         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
7377         These shell scripts ignored failure of the binary test-exclude,
7378         so making the latter return 77 didn't cause them to be skipped.
7379         * tests/test-exclude5.sh: Exit with test-exclude's error status
7380         when that program fails.  Revamp to use init.sh.
7381         * tests/test-exclude2.sh: Likewise.
7382
7383         test-exclude: fix a typo
7384         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
7385
7386 2011-11-11  Bruno Haible  <bruno@clisp.org>
7387
7388         obstack: Fix compilation error on MSVC 9.
7389         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
7390
7391 2011-11-11  Jim Meyering  <meyering@redhat.com>
7392
7393         test-exclude: skip tests rather than failing on deficient systems
7394         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
7395         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
7396         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
7397         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
7398
7399 2011-11-10  Bruno Haible  <bruno@clisp.org>
7400
7401         ptsname_r test: Avoid gcc warning on glibc systems.
7402         * tests/test-ptsname_r.c (null_ptr): New function.
7403         (test_errors): Use it.
7404
7405 2011-11-10  Bruno Haible  <bruno@clisp.org>
7406
7407         ptsname_r: Avoid compilation error on OSF/1 5.1.
7408         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
7409         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
7410         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
7411         function is not declared or incompatibly declared.
7412         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
7413         * modules/ptsname_r (Depends-on, configure.ac): Update.
7414         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
7415
7416 2011-11-10  Bruno Haible  <bruno@clisp.org>
7417
7418         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
7419         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
7420         When cross-compiling, guess yes on all platforms except AIX.
7421         Reported by Ludovic Courtès <ludo@gnu.org>.
7422
7423 2011-11-09  Bruno Haible  <bruno@clisp.org>
7424
7425         ptsname_r tests: Fix bugs.
7426         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
7427         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
7428
7429 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7430
7431         fstatat: work with cross-compilation
7432         Problem reported by Ludovic Courtès in
7433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7434         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7435         "cross-compiling" and assume the bug is present.  Replace
7436         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7437         an inverted sense, to be more conservative about our assumptions.
7438         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7439
7440 2011-11-09  Bruno Haible  <bruno@clisp.org>
7441
7442         Improve MODULES.html output.
7443         * modules/mkfifoat (Description): Use the word "function".
7444         * modules/readlinkat (Description): Likewise.
7445         * modules/symlinkat (Description): Likewise.
7446
7447 2011-11-09  Eric Blake  <eblake@redhat.com>
7448
7449         ptsname_r-tests: new test module
7450         * modules/ptsname_r-tests: New module.
7451         * tests/test-ptsname_r.c: New file.
7452
7453         ptsname_r: new module
7454         * modules/ptsname_r: New module.
7455         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7456         * lib/ptsname.c (__ptsname_r): Split...
7457         * lib/ptsname_r.c: ...into new file.
7458         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7459         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7460         * modules/stdlib (Makefile.am): Substitute witnesses.
7461         * lib/stdlib.in.h (ptsname_r): Declare it.
7462         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7463         * MODULES.html.sh (Misc): Likewise.
7464         * modules/ptsname (Depends-on): Alter dependency.
7465         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7466
7467 2011-11-09  Jim Meyering  <meyering@redhat.com>
7468
7469         announce-gen: be more concise when there's only one URL+tarball
7470         * build-aux/announce-gen (get_tool_versions): When you distribute
7471         only one type of tarball, combine the first two "Here are..."
7472         sections and make the key-checking grammar independent of
7473         how many tarballs there are.
7474
7475 2011-11-09  Eric Blake  <eblake@redhat.com>
7476
7477         openpty: provide a stub on mingw
7478         * lib/pty.in.h (includes): Provide forward declarations.
7479         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7480
7481         raise: fix mingw handling of SIGPIPE
7482         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7483
7484 2011-11-08  Bruno Haible  <bruno@clisp.org>
7485
7486         More conditional dependencies.
7487         * modules/faccessat (Depends-on): Add conditions.
7488         * modules/fchmodat (Depends-on): Likewise.
7489         * modules/fchownat (Depends-on): Likewise.
7490         * modules/fstatat (Depends-on): Likewise.
7491         * modules/mkfifoat (Depends-on): Likewise.
7492         * modules/readlinkat (Depends-on): Likewise.
7493         * modules/symlinkat (Depends-on): Likewise.
7494         * modules/unlinkat (Depends-on): Likewise.
7495         * modules/utimensat (Depends-on): Likewise.
7496         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7497         * modules/linkat (Depends-on): Refine the conditions.
7498         * modules/renameat (Depends-on): Likewise.
7499
7500 2011-11-08  Bruno Haible  <bruno@clisp.org>
7501
7502         faccessat: Move AC_LIBOBJ invocation to module description.
7503         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7504         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7505         invocation from here...
7506         * modules/faccessat (configure.ac): ... to here. Invoke
7507         gl_PREREQ_FACCESSAT.
7508
7509 2011-11-08  Bruno Haible  <bruno@clisp.org>
7510
7511         faccessat: Simplify autoconf macro.
7512         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7513         gl_FUNC_EUIDACCESS.
7514
7515 2011-11-08  Bruno Haible  <bruno@clisp.org>
7516
7517         renameat: Fix dependencies.
7518         * modules/renameat (Depends-on): Add stdbool.
7519
7520 2011-11-08  Bruno Haible  <bruno@clisp.org>
7521
7522         mkfifoat: Fix module description.
7523         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7524         not gl_UNISTD_MODULE_INDICATOR.
7525
7526 2011-11-08  Bruno Haible  <bruno@clisp.org>
7527
7528         fstatat: Remove unused dependency.
7529         * modules/fstatat (Depends-on): Remove fstat.
7530
7531 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7532
7533         GNUmakefile: behave when Makefile is missing.
7534         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7535
7536 2011-11-08  Bruno Haible  <bruno@clisp.org>
7537
7538         openat: Conditionalize dependencies.
7539         * lib/openat.c: Reduce the scope of some #includes.
7540         * modules/openat (Depends-on): Add conditions.
7541
7542 2011-11-07  Jim Meyering  <meyering@redhat.com>
7543
7544         maint.mk: extract GPG key ID without using a temporary file
7545         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7546         without using a temporary file.  Based on a suggestion from Werner Koch
7547         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7548
7549 2011-11-07  Eric Blake  <eblake@redhat.com>
7550
7551         grantpt: fix typo
7552         * lib/stdlib.in.h (grantpt): Check correct function.
7553
7554         maint.mk: silence new syntax check
7555         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7556
7557 2011-11-06  Bruno Haible  <bruno@clisp.org>
7558
7559         Doc about floating-point and math API.
7560         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7561         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7562
7563 2011-11-06  Bruno Haible  <bruno@clisp.org>
7564
7565         stdalign tests: Skip the test when compiled by Sun C.
7566         * tests/test-stdalign.c (main): Skip the test on Sun C.
7567
7568 2011-11-06  Bruno Haible  <bruno@clisp.org>
7569
7570         ansi-c++-opt: Complete the 2011-06-05 change.
7571         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7572         does not support namespaces, set the variable to "no", not to ":".
7573
7574 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7575
7576         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7577
7578 2011-11-06  Bruno Haible  <bruno@clisp.org>
7579
7580         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7581         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7582         (minus_zerol) [HP-UX]: New macro.
7583         (unary_minus) [HP-UX]: New function.
7584         (copysignl) [HP-UX]: Use unary_minus function.
7585
7586 2011-11-06  Bruno Haible  <bruno@clisp.org>
7587
7588         ldexp, ldexpf, ldexpl: Enhance tests.
7589         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7590         and tests/test-ldexpl.c.
7591         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7592         LDEXP, MIN_EXP, MAX_EXP): New macros.
7593         Include test-ldexp.h.
7594         (main): Just call test_function.
7595         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7596         infinity.h, nan.h.
7597         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7598         MAX_EXP): New macros.
7599         Include test-ldexp.h.
7600         (x, y): Remove variables.
7601         (main): Just call test_function.
7602         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
7603         infinity.h, nan.h.
7604         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7605         MAX_EXP): New macros.
7606         Include test-ldexp.h.
7607         (x, y): Remove variables.
7608         (main): Just call test_function.
7609         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
7610         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
7611         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7612         (Depends-on): Add isnand-nolibm, signbit, float.
7613         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
7614         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7615         (Depends-on): Add isnanf-nolibm, signbit, float.
7616
7617 2011-11-06  Bruno Haible  <bruno@clisp.org>
7618
7619         math tests: Cosmetics.
7620         * tests/test-math-c++.cc: Reorder declarations.
7621
7622 2011-11-05  Bruno Haible  <bruno@clisp.org>
7623
7624         fma*: Simplify test.
7625         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
7626         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
7627
7628         Tests for module 'fmal'.
7629         * modules/fmal-tests: New file.
7630         * tests/test-fmal1.c: New file.
7631         * tests/test-fmal2.c: New file.
7632
7633         New module 'fmal'.
7634         * lib/math.in.h (fmal): New declaration.
7635         * lib/fmal.c: New file.
7636         * m4/fmal.m4: New file.
7637         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
7638         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
7639         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
7640         REPLACE_FMAL.
7641         * modules/fmal: New file.
7642         * doc/posix-functions/fmal.texi: Mention the new module and the various
7643         bugs.
7644
7645         Tests for module 'fmaf'.
7646         * modules/fmaf-tests: New file.
7647         * tests/test-fmaf1.c: New file.
7648         * tests/test-fmaf2.c: New file.
7649
7650         New module 'fmaf'.
7651         * lib/math.in.h (fmaf): New declaration.
7652         * lib/fmaf.c: New file.
7653         * m4/fmaf.m4: New file.
7654         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7655         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7656         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7657         REPLACE_FMAF.
7658         * modules/fmaf: New file.
7659         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7660         bugs.
7661
7662         Tests for module 'fma'.
7663         * modules/fma-tests: New file.
7664         * tests/test-fma1.c: New file.
7665         * tests/test-fma1.h: New file.
7666         * tests/test-fma2.c: New file.
7667         * tests/test-fma2.h: New file.
7668
7669         New module 'fma'.
7670         * lib/math.in.h (fma): New declaration.
7671         * lib/fma.c: New file.
7672         * m4/fma.m4: New file.
7673         * m4/fegetround.m4: New file.
7674         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
7675         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
7676         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
7677         REPLACE_FMA.
7678         * modules/fma: New file.
7679         * doc/posix-functions/fma.texi: Mention the new module and the various
7680         bugs.
7681
7682         Extend gl_MATHFUNC.
7683         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
7684         Support 'void' as argument type.
7685         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
7686
7687 2011-11-05  Jim Meyering  <meyering@redhat.com>
7688
7689         maint.mk: also prohibit inclusion of dirent.h without use
7690         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
7691
7692 2011-11-05  Bruno Haible  <bruno@clisp.org>
7693
7694         ldexpl tests: Avoid test failure on MSVC 9.
7695         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
7696         value. Needed in order to enforce the conversion from a value greater
7697         than LDBL_MAX to Infinity.
7698
7699 2011-11-05  Bruno Haible  <bruno@clisp.org>
7700
7701         New modules 'at-internal', 'openat-h', split off from module 'openat'.
7702         * modules/at-internal: New file, extracted from modules/openat.
7703         * modules/openat-h: New file.
7704         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
7705         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
7706         * modules/openat (Description): Add reference to POSIX function.
7707         (Files): Remove lib/openat.h, lib/openat-proc.c.
7708         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
7709         intprops, unistd.
7710         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
7711         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
7712         gl_FCNTL_MODULE_INDICATOR.
7713         (Include): Remove unistd.h, openat.h.
7714         * modules/areadlinkat (Files): Add lib/at-func.c.
7715         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7716         openat-die, openat-h, save-cwd.
7717         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
7718         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7719         openat-die, openat-h, save-cwd, unistd.
7720         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
7721         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7722         openat-h, save-cwd. Remove fcntl-h, openat.
7723         * modules/fchmodat (Files): Remove lib/openat.h.
7724         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7725         openat, stdbool, unistd.
7726         * modules/fchownat (Files): Remove lib/openat.h.
7727         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7728         openat, stdbool, sys_stat.
7729         * modules/fdopendir (Files): Remove lib/openat-priv.h,
7730         lib/openat-proc.c.
7731         (Depends-on): Add at-internal.
7732         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
7733         * modules/fstatat (Files): Remove lib/openat.h.
7734         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7735         stdbool, unistd.
7736         * modules/fts (Depends-on): Add openat-h.
7737         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
7738         openat.
7739         * modules/mkdirat (Files): Remove lib/openat.h.
7740         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7741         openat, stdbool, sys_stat.
7742         * modules/mkfifoat (Files): Add lib/at-func.c.
7743         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7744         openat-h, save-cwd. Remove fcntl-h, openat.
7745         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
7746         * modules/readlinkat (Files): Add lib/at-func.c.
7747         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7748         openat-h, save-cwd. Remove fcntl-h, openat.
7749         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
7750         openat.
7751         * modules/selinux-at (Files): Add lib/at-func.c.
7752         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7753         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
7754         * modules/symlinkat (Files): Add lib/at-func.c.
7755         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7756         openat-h, save-cwd. Remove fcntl-h, openat.
7757         * modules/unlinkat (Files): Remove lib/openat.h.
7758         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7759         stdbool.
7760         * modules/utimensat (Files): Add lib/at-func.c.
7761         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
7762         openat-die, openat-h, save-cwd.
7763         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
7764         * modules/fdutimensat-tests (Depends-on): Add openat.
7765         * modules/fstatat-tests (Depends-on): Add openat-h.
7766         * modules/readlinkat-tests (Depends-on): Add openat.
7767         * modules/symlinkat-tests (Depends-on): Add openat.
7768
7769 2011-11-05  Bruno Haible  <bruno@clisp.org>
7770
7771         openat: Include <stdbool.h>.
7772         * lib/openat.c: Include <stdbool.h>.
7773
7774 2011-11-04  Bruno Haible  <bruno@clisp.org>
7775
7776         fchownat, renameat, unlinkat: Fix dependencies.
7777         * modules/fchownat (Depends-on): Add fstatat.
7778         * modules/renameat (Depends-on): Likewise.
7779         * modules/unlinkat (Depends-on): Likewise.
7780
7781 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7782
7783         openat: remove direct dependency on dirent
7784         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
7785         and hasn't been needed ever since fdopendir was split into its own
7786         module on 2009-08-31.
7787         * modules/openat (Depends-on): Remove dirent.
7788
7789 2011-11-04  Bruno Haible  <bruno@clisp.org>
7790
7791         renameat: Optimize code size.
7792         * modules/renameat (configure.ac): Don't compile at-func2.c if
7793         REPLACE_RENAMEAT is 1.
7794
7795 2011-11-04  Bruno Haible  <bruno@clisp.org>
7796
7797         openat tests: Fix file list.
7798         * modules/openat-tests (Files): Add tests/test-open.h.
7799
7800 2011-11-04  Bruno Haible  <bruno@clisp.org>
7801
7802         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
7803         * modules/fchmodat (Depends-on): Add openat-die.
7804         * modules/fchownat (Depends-on): Likewise.
7805         * modules/linkat (Depends-on): Likewise.
7806         * modules/renameat (Depends-on): Likewise.
7807         * modules/openat (Depends-on): Add dirent.
7808
7809 2011-11-04  Jim Meyering  <meyering@redhat.com>
7810
7811         at-func*.c: fix comments
7812         * lib/at-func2.c: Correct/improve first-line comment.
7813         * lib/at-func.c: Correct grammar in first-line comment.
7814
7815 2011-11-04  Bruno Haible  <bruno@clisp.org>
7816
7817         New module 'mkdirat', split off from module 'openat'.
7818         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
7819         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
7820         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
7821         * modules/mkdirat: New file, extracted from modules/openat.
7822         * modules/openat (Files): Remove lib/mkdirat.c.
7823         (Depends-on): Remove mkdir.
7824         (configure.ac): Remove AC_LIBOBJ of mkdirat.
7825         (Include): Remove <sys/stat.h>.
7826         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
7827         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
7828         tests/test-mkdir.h.
7829         (Depends-on): Remove ignore-value.
7830         (Makefile.am): Remove rules for test-mkdirat.
7831         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
7832         of module 'openat'.
7833         * NEWS: Mention the change.
7834
7835 2011-11-04  Bruno Haible  <bruno@clisp.org>
7836
7837         closedir: Avoid warning on mingw.
7838         * lib/closedir.c: Include <unistd.h>.
7839
7840 2011-11-04  Bruno Haible  <bruno@clisp.org>
7841
7842         New module 'fstatat', split off from module 'openat'.
7843         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
7844         defined.
7845         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7846         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
7847         gl_FUNC_FSTATAT.
7848         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
7849         * modules/fstatat: New file, extracted from modules/openat.
7850         * modules/openat (Files): Remove lib/fstatat.c.
7851         (Depends-on): Remove lstat.
7852         (configure.ac): Remove AC_LIBOBJ of fstatat.
7853         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
7854         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
7855         tests/test-lstat.h, tests/test-stat.h.
7856         (Depends-on): Remove getcwd-lgpl.
7857         (Makefile.am): Remove rules for test-fstatat.
7858         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
7859         of module 'openat'.
7860         * NEWS: Mention the change.
7861         * modules/getcwd (Depends-on): Add fstatat.
7862         * modules/linkat (Depends-on): Likewise.
7863         * modules/mkfifoat-tests (Depends-on): Likewise.
7864         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
7865
7866 2011-11-03  Bruno Haible  <bruno@clisp.org>
7867
7868         New module 'unlinkat', split off from module 'openat'.
7869         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
7870         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
7871         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
7872         * modules/unlinkat: New file, extracted from modules/openat. Correct
7873         the dependency conditions.
7874         * modules/openat (Files): Remove lib/unlinkat.c.
7875         (Depends-on): Remove rmdir, unlink.
7876         (configure.ac): Remove AC_LIBOBJ of unlinkat.
7877         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
7878         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
7879         tests/test-rmdir.h, tests/test-unlink.h.
7880         (Depends-on): Remove unlinkdir.
7881         (Makefile.am): Remove rules for test-unlinkat.
7882         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
7883         of module 'openat'.
7884         * NEWS: Mention the change.
7885         * modules/linkat-tests (Depends-on): Add unlinkat.
7886         * modules/mkfifoat-tests (Depends-on): Likewise.
7887         * modules/readlinkat-tests (Depends-on): Likewise.
7888
7889 2011-11-02  Bruno Haible  <bruno@clisp.org>
7890
7891         New module 'fchmodat', split off from module 'openat'.
7892         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
7893         defined.
7894         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
7895         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
7896         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
7897         * modules/fchmodat: New file, extracted from modules/openat.
7898         * modules/openat (Files): Remove lib/fchmodat.c.
7899         (configure.ac): Remove AC_LIBOBJ of fchmodat.
7900         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
7901         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
7902         (Makefile.am): Remove rules for test-fchmodat.
7903         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
7904         of module 'openat'.
7905         * NEWS: Mention the change.
7906
7907 2011-11-02  Jim Meyering  <meyering@redhat.com>
7908
7909         putenv: indent #definition of "environ" to placate cppi
7910         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
7911
7912         gitlog-to-changelog: provide a ChangeLog-repair mechanism
7913         Git logs are often treated as immutable, because editing them
7914         changes the SHA1 checksums of all descendants.  Thus, errors in
7915         git logs tend to stay there forever.  However, when we generate
7916         a ChangeLog file -- typically for distribution -- from that git log,
7917         we can actually make corrections in the generated file.  The key
7918         lies in recording in machine-readable/applicable form the desired
7919         corrections.  See --help for description and an example.
7920         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
7921         (usage): Describe it; alphabetize option descriptions.
7922         (main): Honor the new option, carefully.
7923
7924 2011-11-01  Jim Meyering  <meyering@redhat.com>
7925
7926         gitlog-to-changelog: avoid an infloop
7927         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
7928         that ends up being empty.
7929
7930 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7931
7932         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
7933         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
7934         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
7935         contains (possibly-quoted) backslashes.  This should avoid
7936         all-too-common shell bugs if COMPLICATED contains backslashes in
7937         the "wrong" places.  Reported by David Evans in
7938         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
7939         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
7940         because we want ASCII ranges.  Is there some reason we don't use
7941         the C locale everywhere in this script?
7942         (func_module, top level): Avoid unwanted pathname expansion when
7943         $repo_url_prefix or $repo_url_suffix_repl contain shell
7944         metacharacters like '?' and '*'.
7945
7946 2011-11-01  Bruno Haible  <bruno@clisp.org>
7947
7948         fchownat: Improve description.
7949         * modules/fchownat (Description): Add link to function.
7950
7951 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7952
7953         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
7954         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
7955         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
7956         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
7957
7958 2011-11-01  Bruno Haible  <bruno@clisp.org>
7959
7960         alignof: Avoid collision with stdalign module.
7961         * lib/alignof.h (alignof): Remove macro.
7962         * NEWS: Mention the change.
7963         Reported by Paul Eggert.
7964
7965 2011-11-01  Bruno Haible  <bruno@clisp.org>
7966
7967         New module 'fchownat', split off from module 'openat'.
7968         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
7969         defined.
7970         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
7971         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
7972         invoke gl_FUNC_FCHOWNAT.
7973         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
7974         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
7975         * modules/fchownat: New file, extracted from modules/openat.
7976         * modules/openat (Files): Remove lib/fchownat.c.
7977         (Depends-on): Remove lchown.
7978         (configure.ac): Remove AC_LIBOBJ of fchownat.
7979         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
7980         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
7981         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
7982         (Depends-on): Remove mgetgroups, usleep, stat-time.
7983         (configure.ac): Remove test for getegid.
7984         (Makefile.am): Remove rules for test-fchownat.
7985         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
7986         of module 'openat'.
7987         * NEWS: Mention the change.
7988
7989 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
7990
7991         stdalign: port better to MSVC and to Sun C 5.11
7992         This fixes some of the problems reported by Bruno Haible in
7993         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
7994         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
7995         shortcomings of MSVC and of Sun C 5.11.
7996         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
7997         around __declspec arg.
7998         * modules/stdalign-tests (Files): Add tests/macros.h.
7999         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
8000         Include macros.h, for ASSERT.
8001         (DECLARE_ALIGNED): Remove.
8002         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
8003         to catch bug), and to 1 if not (simplifies the rest of the code).
8004         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
8005         (CHECK_AUTO): Remove.
8006         (CHECK_ALIGNED): Check only the alignment of the static vars,
8007         since auto var alignment isn't supported by Sun C 5.11.
8008         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8009         ASSERT failures are easier to diagnose.
8010
8011 2011-10-31  Bruno Haible  <bruno@clisp.org>
8012
8013         doc about some IRIX 5.3 problems.
8014         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8015         on IRIX 5.3.
8016         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8017         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8018         5.3.
8019         * doc/posix-functions/grantpt.texi: Likewise.
8020         * doc/posix-functions/unlockpt.texi: Likewise.
8021         * doc/posix-functions/lgamma.texi: Likewise.
8022         * doc/posix-functions/nextafter.texi: Likewise.
8023         * doc/posix-functions/remainder.texi: Likewise.
8024         * doc/posix-functions/select.texi: Mention misplaced declaration on
8025         IRIX 5.3.
8026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8027
8028 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8029
8030         gitlog-to-changelog: fix git-log invocation.
8031         git-log mishandles date strings before 1970-01-01 UTC, and there is
8032         no use to specify --since=1970-01-01 by default anyway.
8033         * build-aux/gitlog-to-changelog: By default, when no --since option
8034         was given, do not specify explicit --since option to git-log.
8035
8036 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8037
8038         gitlog-to-changelog: new option --append-dot.
8039         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8040         first non-blank line of each commit message terminated with a dot.
8041
8042 2011-10-30  Bruno Haible  <bruno@clisp.org>
8043
8044         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8045         * lib/ffsl.h: Include <config.h>.
8046         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8047
8048 2011-10-30  Jim Meyering  <meyering@redhat.com>
8049
8050         GNUmakefile: reenable "make syntax-check" for most projects
8051         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8052         build-aux variable", "syntax-check" would do nothing but succeed with
8053         the "No version control files detected..." diagnostic (unless you
8054         happened to override _build-aux via cfg.mk).
8055         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8056         to precede inclusion of maint.mk.  Otherwise, these variables would
8057         be used undefined in any project that does not override the default.
8058
8059 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8060
8061         gitlog-to-changelog: treat a message with only blank lines as empty.
8062         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8063         trailing blank lines before the code that issues a warning about an
8064         empty commit message.
8065
8066 2011-10-30  Jim Meyering  <meyering@redhat.com>
8067
8068         test-parse-datetime.c: avoid new DST-related false positive test failure
8069         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
8070         based on the time/date we'll convert, not the current time.
8071         Otherwise, the moment we cross a DST boundary like today's in
8072         Europe, (CEST to CET), that offset ends up being one hour off.
8073
8074 2011-10-27  Bruno Haible  <bruno@clisp.org>
8075
8076         fstat: Tweak documentation.
8077         * modules/fstat (Description): More precise description.
8078
8079 2011-10-27  Bruno Haible  <bruno@clisp.org>
8080
8081         Update documentation regarding 'largefile' module.
8082         * doc/posix-functions/fstat.texi: Tweak wording.
8083         * doc/posix-functions/opendir.texi: Mention that the module fixes the
8084         problems with huge directories and/or small ino_t types.
8085         * doc/posix-functions/readdir.texi: Likewise.
8086         * doc/posix-functions/rewinddir.texi: Likewise.
8087
8088 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
8089
8090         maint.mk: don't maintain a second build-aux variable.
8091         * maint.mk (build_aux): Removed.  The maintainer-makefile module
8092         depends on GNUmakefile, which already maintains a cfg.mk
8093         overridable $(_build-aux) for projects with a non-standard
8094         build-aux directory location, although without the $(srcdir)
8095         prefix.  Use that variable consistently instead of introducing a
8096         second one.  Adjust all call sites.
8097
8098 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8099
8100         Add stdalign module and use it in other modules.
8101         This is based on a previous proposal by Bruno Haible
8102         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
8103
8104         stdalign: new module
8105         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
8106         * modules/stdalign: New files.
8107         * MODULES.html.sh (c1x_core_properties): Add stdalign.
8108         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
8109
8110         stdalign-tests: new module
8111         * modules/stdalign-tests, tests/test-stdalign.c: New files.
8112
8113         argp: use stdalign
8114         * lib/argp-parse.c: Include <stdalign.h>.
8115         (alignof): Remove.
8116         * modules/argp (Depends-on): Add stdalign.
8117
8118         crypto libraries: use stdalign
8119         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
8120         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
8121         Do not include <stdlib.h> twice, in md4.c.
8122         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
8123         because we are accessing a pointer's bit-pattern, not a size.
8124         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
8125         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
8126         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
8127         * modules/crypto/sha512: Likewise.
8128
8129         sys_socket: use stdalign, not alignof
8130         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
8131         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
8132
8133 2011-10-27  Bruno Haible  <bruno@clisp.org>
8134
8135         raise test: Avoid a test failure on Linux/MIPS.
8136         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
8137         because 99 is a valid signal on Linux/MIPS.
8138
8139 2011-10-27  Bruno Haible  <bruno@clisp.org>
8140
8141         nonblocking tests: Fix test failure on Linux/MIPS.
8142         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
8143         Set to 270000.
8144
8145 2011-10-27  Bruno Haible  <bruno@clisp.org>
8146
8147         utimensat: Work around problem on Linux/hppa.
8148         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
8149         values.
8150         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
8151
8152 2011-10-25  Jim Meyering  <meyering@redhat.com>
8153
8154         maint.mk: fix a bug in sc_prohibit_stddef_without_use
8155         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
8156         after symbols like NULL, size_t, etc.
8157         Reported by Alfred M. Szmidt.
8158
8159         maint.mk: exempt ENODATA from a syntax-check rule
8160         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
8161         from the sc_prohibit_always-defined_macros syntax-check rule.
8162         Add a comment.  See this for more details:
8163         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
8164
8165 2011-10-23  Jim Meyering  <meyering@redhat.com>
8166
8167         fts: close parent dir FD before returning from post-traversal fts_read
8168         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
8169         unlink A, even though an FD open on A remained.  This is suboptimal
8170         (holding a file descriptor open longer than needed), but otherwise not
8171         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
8172         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
8173         that represents a real problem: it causes the removal of A to fail
8174         with e.g., "rm: cannot remove `A': Device or resource busy"
8175
8176         fts visits each directory twice and keeps a cache (fts_fd_ring) of
8177         directory file descriptors.  After completing the final, FTS_DP,
8178         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
8179         cache, but then proceeded to add a new FD to it via the subsequent
8180         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
8181         final file descriptor would be closed only via fts_close's call to
8182         fd_ring_clear.  Now, it is usually closed earlier, via the final
8183         FTS_DP-returning fts_read call.
8184         * lib/fts.c (restore_initial_cwd): New function, converted from
8185         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
8186         Update callers.
8187         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
8188         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
8189
8190 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
8191             Bruno Haible  <bruno@clisp.org>
8192             Jim Meyering  <jim@meyering.net>
8193
8194         readme-release: improve safety of release prep instructions.
8195         * README-release: Don't git pull all branches when only master
8196         is needed for the release process.
8197         Run make maintainer-clean before changing trees and merging.
8198         Don't try to run ./configure right after git pull in case files
8199         that influence the bootstrap process have changed, move the
8200         ./configure step to after running ./bootstrap.
8201         Don't bootstrap "one last time"... it's the first time!
8202
8203 2011-10-22  Bruno Haible  <bruno@clisp.org>
8204
8205         errno, strerror-override: Support for MSVC 10.
8206         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
8207         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
8208         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
8209         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
8210         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
8211         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
8212         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
8213         Assign values compatible with MSVC 10.
8214         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
8215         New macros.
8216         (GNULIB_defined_EWINSOCK): New macro.
8217         * lib/strerror-override.c (strerror_override): Update accordingly.
8218         * lib/strerror-override.h: Likewise.
8219         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
8220         longer equal to the corresponding errno value.
8221         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8222
8223 2011-10-22  Bruno Haible  <bruno@clisp.org>
8224
8225         perror: Recognize when test program crashes.
8226         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
8227         strerror, set gl_cv_func_perror_works to no.
8228         Reported by Daniel Richard G. <skunk@iskunk.org>.
8229
8230         perror: Fix indentation.
8231         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
8232
8233 2011-10-22  Bruno Haible  <bruno@clisp.org>
8234
8235         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
8236         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
8237         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
8238         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
8239         functions, not as a macro.
8240         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
8241         macros.
8242         (isfinite, isinf, isnan, signbit): Check overloaded functions and
8243         absence of macro.
8244         Suggested by Eric Blake.
8245         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8246
8247 2011-10-21  Bruno Haible  <bruno@clisp.org>
8248
8249         relocatable-prog-wrapper: Don't leave object files behind.
8250         * build-aux/install-reloc: Re-synchronize list of .o files to be
8251         removed with list of compilation units.
8252
8253 2011-10-20  Bruno Haible  <bruno@clisp.org>
8254
8255         openpty, posix_openpt: Remove code duplication.
8256         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
8257         * lib/openpty.c: Include <stdlib.h>.
8258         (openpty): Use posix_openpt on all platforms except IRIX.
8259         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
8260
8261 2011-10-20  Bruno Haible  <bruno@clisp.org>
8262
8263         unlockpt: Detect invalid argument.
8264         * lib/unlockpt.c: Include <fcntl.h>.
8265         (unlockpt): Check whether fd is valid, using fcntl().
8266         * modules/unlockpt (Depends-on): Add fcntl-h.
8267
8268 2011-10-20  Bruno Haible  <bruno@clisp.org>
8269
8270         openpty: Avoid compilation error on AIX 6.1.
8271         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
8272
8273 2011-10-20  Bruno Haible  <bruno@clisp.org>
8274
8275         posix_openpt: Support for OpenBSD.
8276         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
8277         (posix_openpt) [OpenBSD]: New code.
8278         * lib/grantpt.c: Include <fcntl.h>.
8279         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
8280         * modules/grantpt (Depends-on): Add fcntl-h.
8281
8282 2011-10-20  Bruno Haible  <bruno@clisp.org>
8283
8284         posix_openpt test: Coding style.
8285         * tests/test-posix_openpt.c: Use GNU coding style.
8286
8287 2011-10-20  Bruno Haible  <bruno@clisp.org>
8288
8289         grantpt: Support --avoid=pt_chown.
8290         * modules/grantpt (Files): Add lib/pty-private.h.
8291
8292 2011-10-20  Bruno Haible  <bruno@clisp.org>
8293
8294         posix_openpt: Fix autoconf macro.
8295         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
8296         unneeded check for _getpty.
8297
8298 2011-10-20  Bruno Haible  <bruno@clisp.org>
8299
8300         openpty: Update comments.
8301         * lib/openpty.c: Add comments about Minix.
8302
8303 2011-10-19  Eric Blake  <eblake@redhat.com>
8304
8305         openpty: relax license
8306         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
8307
8308         pt_chown: use configmake to simplify build
8309         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
8310
8311         ptsname and others: relax license
8312         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
8313         * modules/unlockpt (License): Likewise.
8314         * modules/pt_chown (License): Likewise.
8315         * modules/ptsname (License): Likewise.
8316         * modules/ttyname_r (License): Likewise.
8317
8318 2011-10-19  Jim Meyering  <meyering@redhat.com>
8319
8320         posix_openpt: remove spurious #endif
8321         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
8322
8323 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
8324
8325         maint.mk: Respect $(build_aux) in web-manual rule.
8326         * top/maint.mk (web-manual): Find gen-announce script in user's
8327         $(build_aux) directory instead of hard-coding 'build-aux'.
8328
8329 2011-10-19  Bruno Haible  <bruno@clisp.org>
8330
8331         posix_openpt: Fix compilation error.
8332         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
8333         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
8334         Mention the openpty module as an alternative.
8335
8336 2011-10-19  Bruno Haible  <bruno@clisp.org>
8337
8338         Support for old NeXTstep 3.3 frexp().
8339         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
8340         execution time of the test to 5 seconds.
8341         Reported by Daniel Richard G. <skunk@iskunk.org>.
8342
8343 2011-10-19  Bruno Haible  <bruno@clisp.org>
8344
8345         Support for old NeXTstep 3.3 sed.
8346         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
8347         part, use /.../, not \|...|. Escape periods in the header file name.
8348         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8349         Reported by Daniel Richard G. <skunk@iskunk.org>.
8350
8351 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8352
8353         Support for old NeXTstep 3.3 gcc.
8354         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
8355         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
8356         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
8357         * lib/spawn.in.h (_Restrict_arr_): Likewise.
8358         * lib/regex.h (_Restrict_arr_): Likewise.
8359         * lib/regex_internal.h (re_token_t): Likewise.
8360         * lib/regexec.c (check_node_accept_bytes): Likewise.
8361         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
8362
8363 2011-10-18  Eric Blake  <eblake@redhat.com>
8364
8365         posix_openpt: new module
8366         * modules/posix_openpt: New module.
8367         * m4/posix_openpt.m4: New file.
8368         * lib/posix_openpt.c: Likewise.
8369         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8370         (gl_STDLIB_H_DEFAULTS): Set defaults.
8371         * modules/stdlib (Makefile.am): Substitute macros.
8372         * lib/stdlib.in.h (posix_openpt): Declare.
8373         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
8374         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
8375         * modules/posix_openpt-tests: New test module.
8376         * tests/test-posix_openpt.c: New test.
8377
8378 2011-10-15  Bruno Haible  <bruno@clisp.org>
8379
8380         xstrtoll: Fix compilation failure.
8381         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
8382         from lib/strtol.c.
8383         * doc/posix-headers/limits.texi: Mention missing numerical limits on
8384         some platforms.
8385         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8386
8387 2011-10-15  Bruno Haible  <bruno@clisp.org>
8388
8389         vasnprintf: Optimize bit search operation.
8390         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
8391         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
8392         gl_DOUBLE_EXPONENT_LOCATION.
8393         * modules/vasnprintf (Files): Add m4/exponentd.m4.
8394         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8395         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8396         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8397         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8398         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8399         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8400         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8401         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
8402
8403 2011-10-15  Bruno Haible  <bruno@clisp.org>
8404
8405         vasnprintf: Fix comments.
8406         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
8407
8408 2011-10-14  Bruno Haible  <bruno@clisp.org>
8409
8410         Tests for module 'integer_length_ll'.
8411         * modules/integer_length_ll-tests: New file.
8412         * tests/test-integer_length_ll.c: New file.
8413
8414         New module 'integer_length_ll'.
8415         * lib/integer_length_ll.c: New file.
8416         * modules/integer_length_ll: New file.
8417
8418 2011-10-14  Bruno Haible  <bruno@clisp.org>
8419
8420         Tests for module 'integer_length_l'.
8421         * modules/integer_length_l-tests: New file.
8422         * tests/test-integer_length_l.c: New file.
8423
8424         New module 'integer_length_l'.
8425         * lib/integer_length_l.c: New file.
8426         * modules/integer_length_l: New file.
8427
8428 2011-10-14  Bruno Haible  <bruno@clisp.org>
8429
8430         Tests for module 'integer_length'.
8431         * modules/integer_length-tests: New file.
8432         * tests/test-integer_length.c: New file.
8433
8434         New module 'integer_length'.
8435         * lib/integer_length.h: New file.
8436         * lib/integer_length.c: New file.
8437         * modules/integer_length: New file.
8438
8439 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8440
8441         popen: Fix dependency conditions.
8442         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8443
8444 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8445
8446         perror: Fix autoconf test.
8447         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8448         <stdlib.h> and <string.h>.
8449
8450 2011-10-14  Bruno Haible  <bruno@clisp.org>
8451
8452         ffsl: Optimize on 64-bit platforms.
8453         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8454         unrolling.
8455
8456 2011-10-13  Bruno Haible  <bruno@clisp.org>
8457
8458         ffsl: Optimize on 32-bit platforms.
8459         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8460         use ffs() without a loop.
8461
8462         ffsl, ffsll: Optimize for GCC.
8463         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8464         * lib/ffsl.c (GCC_BUILTIN): New macro.
8465         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8466
8467 2011-10-13  Bruno Haible  <bruno@clisp.org>
8468
8469         ffs, bcopy, memset: Support symbol renaming via config.h.
8470         * lib/ffs.c: Include <config.h>.
8471         * lib/bcopy.c: Likewise.
8472         * lib/memset.c: Likewise.
8473
8474 2011-10-10  Bruno Haible  <bruno@clisp.org>
8475
8476         atanl: Simplify for platforms where 'long double' == 'double'.
8477         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8478         alternative implementation.
8479         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8480         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8481         * modules/atanl (Depends-on): Add atan. Update conditions.
8482
8483 2011-10-10  Bruno Haible  <bruno@clisp.org>
8484
8485         acosl: Simplify for platforms where 'long double' == 'double'.
8486         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8487         alternative implementation.
8488         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8489         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8490         * modules/acosl (Depends-on): Add acos. Update conditions.
8491
8492 2011-10-10  Bruno Haible  <bruno@clisp.org>
8493
8494         asinl: Simplify for platforms where 'long double' == 'double'.
8495         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8496         alternative implementation.
8497         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8498         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8499         * modules/asinl (Depends-on): Add asin. Update conditions.
8500
8501 2011-10-10  Bruno Haible  <bruno@clisp.org>
8502
8503         tanl: Simplify for platforms where 'long double' == 'double'.
8504         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8505         implementation.
8506         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8507         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8508         * modules/tanl (Depends-on): Add tan. Update conditions.
8509         (configure.ac): Don't compile trigl.c if
8510         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8511
8512 2011-10-10  Bruno Haible  <bruno@clisp.org>
8513
8514         cosl: Simplify for platforms where 'long double' == 'double'.
8515         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8516         implementation.
8517         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8518         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8519         * modules/cosl (Depends-on): Add cos. Update conditions.
8520         (configure.ac): Don't compile sincosl.c and trigl.c if
8521         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8522
8523 2011-10-10  Bruno Haible  <bruno@clisp.org>
8524
8525         sinl: Simplify for platforms where 'long double' == 'double'.
8526         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8527         implementation.
8528         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8529         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8530         * modules/sinl (Depends-on): Add sin. Update conditions.
8531         (configure.ac): Don't compile sincosl.c and trigl.c if
8532         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8533
8534 2011-10-10  Bruno Haible  <bruno@clisp.org>
8535
8536         logl: Simplify for platforms where 'long double' == 'double'.
8537         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8538         implementation.
8539         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8540         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8541         * modules/logl (Depends-on): Add log. Update conditions.
8542
8543 2011-10-10  Bruno Haible  <bruno@clisp.org>
8544
8545         expl: Simplify for platforms where 'long double' == 'double'.
8546         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8547         implementation.
8548         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8549         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8550         * modules/expl (Depends-on): Add exp. Update conditions.
8551
8552 2011-10-10  Bruno Haible  <bruno@clisp.org>
8553
8554         sqrtl: Simplify for platforms where 'long double' == 'double'.
8555         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8556         alternative implementation.
8557         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8558         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8559         * modules/sqrtl (Depends-on): Update conditions.
8560
8561 2011-10-10  Bruno Haible  <bruno@clisp.org>
8562
8563         ldexpl: Simplify for platforms where 'long double' == 'double'.
8564         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8565         alternative implementation.
8566         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8567         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8568         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8569
8570 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8571
8572         ffsll: set correct witness
8573         * modules/ffsll (configure.ac): Fix typo.
8574
8575 2011-10-10  Bruno Haible  <bruno@clisp.org>
8576
8577         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8578         * lib/printf-frexpl.c: Include <config.h>.
8579         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8580         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8581         second time.
8582         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8583         gl_LONG_DOUBLE_VS_DOUBLE.
8584         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8585         conditions.
8586
8587 2011-10-10  Bruno Haible  <bruno@clisp.org>
8588
8589         frexpl: Simplify for platforms where 'long double' == 'double'.
8590         * lib/frexpl.c: Include <config.h>.
8591         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8592         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8593         time.
8594         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8595         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8596         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8597         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8598         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8599         conditions.
8600
8601 2011-10-10  Jim Meyering  <meyering@redhat.com>
8602
8603         test-renameat: don't leave behind a temporary file
8604         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
8605           ERROR: files left in build directory after distclean:
8606           ./gltests/test-renameat.too
8607           make[1]: *** [distcleancheck] Error 1
8608         Reported by Tom G. Christensen.
8609
8610 2011-10-09  Bruno Haible  <bruno@clisp.org>
8611
8612         rint: Determine RINT_LIBM correctly on AIX 7.
8613         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
8614         directly, not only through a function pointer. Also accept an optional
8615         4th argument with extra code.
8616         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
8617         rintf() call by gcc when optimizing.
8618
8619         mathfunc.m4: Refactor.
8620         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
8621         m4 variable.
8622
8623 2011-10-09  Bruno Haible  <bruno@clisp.org>
8624
8625         rintl: Simplify for platforms where 'long double' == 'double'.
8626         * lib/rintl.c: Include <config.h>.
8627         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8628         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8629         time.
8630         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8631         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8632         * modules/rintl (Depends-on): Add rint. Update conditions.
8633
8634 2011-10-09  Bruno Haible  <bruno@clisp.org>
8635
8636         roundl: Simplify for platforms where 'long double' == 'double'.
8637         * lib/roundl.c: Include <config.h>.
8638         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8639         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8640         time.
8641         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8642         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8643         * modules/roundl (Depends-on): Add round. Update conditions.
8644
8645 2011-10-09  Bruno Haible  <bruno@clisp.org>
8646
8647         truncl: Simplify for platforms where 'long double' == 'double'.
8648         * lib/truncl.c: Include <config.h>.
8649         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8650         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8651         time.
8652         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8653         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8654         * modules/truncl (Depends-on): Add trunc. Update conditions.
8655
8656 2011-10-09  Bruno Haible  <bruno@clisp.org>
8657
8658         ceill: Simplify for platforms where 'long double' == 'double'.
8659         * lib/ceill.c: Include <config.h>.
8660         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8661         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8662         time.
8663         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8664         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8665         * modules/ceill (Depends-on): Add ceil. Update conditions.
8666
8667 2011-10-09  Bruno Haible  <bruno@clisp.org>
8668
8669         floorl: Simplify for platforms where 'long double' == 'double'.
8670         * lib/floorl.c: Include <config.h>.
8671         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8672         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8673         time.
8674         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8675         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8676         * modules/floorl (Depends-on): Add floor. Update conditions.
8677
8678 2011-10-09  Bruno Haible  <bruno@clisp.org>
8679
8680         rint: Fix ordering constraints.
8681         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
8682         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
8683         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
8684
8685 2011-10-09  Bruno Haible  <bruno@clisp.org>
8686
8687         copysignl: Simplify for platforms where 'long double' == 'double'.
8688         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8689         alternative.
8690         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8691         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8692         * modules/copysignl (Depends-on): Add copysign. Update conditions.
8693
8694 2011-10-09  Bruno Haible  <bruno@clisp.org>
8695
8696         Tests for module 'rintl'.
8697         * modules/rintl-tests: New file.
8698         * tests/test-rintl.c: New file.
8699
8700         New module 'rintl'.
8701         * lib/math.in.h (rintl): New declaration.
8702         * lib/rintl.c: New file.
8703         * m4/rintl.m4: New file.
8704         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
8705         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
8706         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
8707         * modules/rintl: New file.
8708         * tests/test-math-c++.cc: Check the declaration of rintl.
8709         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8710         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
8711         * doc/posix-functions/rintl.texi: Mention the new module.
8712
8713 2011-10-09  Bruno Haible  <bruno@clisp.org>
8714
8715         Tests for module 'rintf'.
8716         * modules/rintf-tests: New file.
8717         * tests/test-rintf.c: New file.
8718
8719         New module 'rintf'.
8720         * lib/math.in.h (rintf): New declaration.
8721         * lib/rintf.c: New file.
8722         * m4/rintf.m4: New file.
8723         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
8724         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
8725         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
8726         * modules/rintf: New file.
8727         * tests/test-math-c++.cc: Check the declaration of rintf.
8728         * doc/posix-functions/rintf.texi: Mention the new module.
8729
8730 2011-10-09  Bruno Haible  <bruno@clisp.org>
8731
8732         rint: Support for MSVC.
8733         * lib/math.in.h (rint): New declaration.
8734         * lib/rint.c: New file.
8735         * m4/rint.m4: New file.
8736         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
8737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
8738         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
8739         * modules/rint (Description): Fix.
8740         (Files): Add lib/rint.c, m4/rint.m4.
8741         (Depends-on): Add math.
8742         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
8743         gl_MATH_MODULE_INDICATOR.
8744         * tests/test-math-c++.cc: Check the declaration of rint.
8745         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8746         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
8747         * doc/posix-functions/rint.texi: Mention the replacement provided by
8748         the module.
8749
8750         rint tests: More tests.
8751         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
8752         minus-zero.h, infinity.h, nan.h.
8753         (main): Skip the test if the current rounding mode is not standard. Add
8754         tests for negative numbers, minus zero, infinity, NaN.
8755         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
8756         tests/nan.h.
8757         (Depends-on): Add isnand-nolibm.
8758
8759 2011-10-09  Bruno Haible  <bruno@clisp.org>
8760
8761         Tests for module 'copysignl'.
8762         * modules/copysignl-tests: New file.
8763         * tests/test-copysignl.c: New file.
8764
8765         New module 'copysignl'.
8766         * lib/math.in.h (copysignl): New declaration.
8767         * lib/copysignl.c: New file.
8768         * m4/copysignl.m4: New file.
8769         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
8770         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
8771         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
8772         HAVE_COPYSIGNL.
8773         * modules/copysignl: New file.
8774         * tests/test-math-c++.cc: Check the declaration of copysignl.
8775         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8776         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
8777         * doc/posix-functions/copysignl.texi: Mention the new module.
8778
8779 2011-10-09  Bruno Haible  <bruno@clisp.org>
8780
8781         Tests for module 'copysignf'.
8782         * modules/copysignf-tests: New file.
8783         * tests/test-copysignf.c: New file.
8784
8785         New module 'copysignf'.
8786         * lib/math.in.h (copysignf): New declaration.
8787         * lib/copysignf.c: New file.
8788         * m4/copysignf.m4: New file.
8789         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
8790         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
8791         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
8792         HAVE_COPYSIGNF.
8793         * modules/copysignf: New file.
8794         * tests/test-math-c++.cc: Check the declaration of copysignf.
8795         * doc/posix-functions/copysignf.texi: Mention the new module.
8796
8797 2011-10-09  Bruno Haible  <bruno@clisp.org>
8798
8799         Ensure that HAVE_* variables are set to 1 before they are set to 0.
8800         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
8801         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
8802         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8803         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
8804         gl_SIGNAL_H_DEFAULTS.
8805
8806 2011-10-09  Bruno Haible  <bruno@clisp.org>
8807
8808         poll: Make macro safer.
8809         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
8810         ac_cv_header_poll_h is not set.
8811
8812 2011-10-09  Bruno Haible  <bruno@clisp.org>
8813
8814         copysign: Provide replacement.
8815         * lib/math.in.h (copysign): New declaration.
8816         * lib/copysign.c: New file.
8817         * m4/copysign.m4: New file.
8818         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
8819         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
8820         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
8821         HAVE_COPYSIGN.
8822         * modules/copysign (Description): Clarify.
8823         (Files): Add lib/copysign.c, m4/copysign.m4.
8824         (Depends-on): Add math, signbit.
8825         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
8826         gl_MATH_MODULE_INDICATOR.
8827         * tests/test-math-c++.cc: Check the declaration of copysign.
8828         * doc/posix-functions/copysign.texi: Mention the effects of the module
8829         on Minix and MSVC.
8830
8831 2011-10-09  Bruno Haible  <bruno@clisp.org>
8832
8833         isinf: Ensure macro on AIX 5.1.
8834         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
8835         macro.
8836         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
8837
8838 2011-10-09  Bruno Haible  <bruno@clisp.org>
8839
8840         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
8841         * modules/snprintf-posix-tests (configure.ac): Require
8842         gl_LONG_DOUBLE_VS_DOUBLE.
8843         * modules/sprintf-posix-tests (configure.ac): Likewise.
8844         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
8845         * modules/vasprintf-posix-tests (configure.ac): Likewise.
8846         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
8847         * modules/vsprintf-posix-tests (configure.ac): Likewise.
8848         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
8849         tests on platforms where 'long double' is the same as 'double'.
8850         * tests/test-sprintf-posix.h (test_function): Likewise.
8851         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8852         * tests/test-vasprintf-posix.c (test_function): Likewise.
8853
8854         *printf: Fix for platforms where 'long double' == 'double'.
8855         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
8856         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
8857         * modules/dprintf-posix (Files): Add m4/math_h.m4.
8858         * modules/fprintf-posix (Files): Likewise.
8859         * modules/obstack-printf-posix (Files): Likewise.
8860         * modules/snprintf-posix (Files): Likewise.
8861         * modules/sprintf-posix (Files): Likewise.
8862         * modules/vasnprintf (Files): Likewise.
8863         * modules/vasnprintf-posix (Files): Likewise.
8864         * modules/vasprintf-posix (Files): Likewise.
8865         * modules/vdprintf-posix (Files): Likewise.
8866         * modules/vfprintf-posix (Files): Likewise.
8867         * modules/vsnprintf-posix (Files): Likewise.
8868         * modules/vsprintf-posix (Files): Likewise.
8869         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8870         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8871         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8872         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8873         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8874         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8875         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8876
8877         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
8878         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
8879         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8880         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
8881         'long double'.
8882         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
8883
8884         isinf: Fix for platforms where 'long double' == 'double'.
8885         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8886         Don't blindly assume 80-bit 'long double'.
8887
8888         isfinite: Fix for platforms where 'long double' == 'double'.
8889         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8890         Don't blindly assume 80-bit 'long double'.
8891
8892         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
8893         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
8894         * modules/isfinite-tests (configure.ac): Require
8895         gl_LONG_DOUBLE_VS_DOUBLE.
8896         * modules/isinf-tests (configure.ac): Likewise.
8897         * modules/isnan-tests (configure.ac): Likewise.
8898         * modules/isnanl-tests (configure.ac): Likewise.
8899         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
8900         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
8901         tests on platforms where 'long double' is the same as 'double'.
8902         * tests/test-isinf.c (test_isinfl): Likewise.
8903         * tests/test-isnan.c (test_long_double): Likewise.
8904         * tests/test-isnanl.h (main): Likewise.
8905
8906 2011-10-08  Bruno Haible  <bruno@clisp.org>
8907
8908         Tests for module 'tanhf'.
8909         * modules/tanhf-tests: New file.
8910         * tests/test-tanhf.c: New file.
8911
8912         New module 'tanhf'.
8913         * lib/math.in.h (tanhf): New declaration.
8914         * lib/tanhf.c: New file.
8915         * m4/tanhf.m4: New file.
8916         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
8917         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
8918         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
8919         * modules/tanhf: New file.
8920         * tests/test-math-c++.cc: Check the declaration of tanhf.
8921         * doc/posix-functions/tanhf.texi: Mention the new module.
8922
8923         tanh: Use a .m4 file.
8924         * m4/tanh.m4: New file.
8925         * modules/tanh (Files): Add it.
8926         (configure.ac): Just invoke gl_FUNC_TANH.
8927
8928 2011-10-08  Bruno Haible  <bruno@clisp.org>
8929
8930         Tests for module 'coshf'.
8931         * modules/coshf-tests: New file.
8932         * tests/test-coshf.c: New file.
8933
8934         New module 'coshf'.
8935         * lib/math.in.h (coshf): New declaration.
8936         * lib/coshf.c: New file.
8937         * m4/coshf.m4: New file.
8938         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
8939         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
8940         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
8941         * modules/coshf: New file.
8942         * tests/test-math-c++.cc: Check the declaration of coshf.
8943         * doc/posix-functions/coshf.texi: Mention the new module.
8944
8945         cosh: Use a .m4 file.
8946         * m4/cosh.m4: New file.
8947         * modules/cosh (Files): Add it.
8948         (configure.ac): Just invoke gl_FUNC_COSH.
8949
8950 2011-10-08  Bruno Haible  <bruno@clisp.org>
8951
8952         Tests for module 'sinhf'.
8953         * modules/sinhf-tests: New file.
8954         * tests/test-sinhf.c: New file.
8955
8956         New module 'sinhf'.
8957         * lib/math.in.h (sinhf): New declaration.
8958         * lib/sinhf.c: New file.
8959         * m4/sinhf.m4: New file.
8960         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
8961         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
8962         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
8963         * modules/sinhf: New file.
8964         * tests/test-math-c++.cc: Check the declaration of sinhf.
8965         * doc/posix-functions/sinhf.texi: Mention the new module.
8966
8967         sinh: Use a .m4 file.
8968         * m4/sinh.m4: New file.
8969         * modules/sinh (Files): Add it.
8970         (configure.ac): Just invoke gl_FUNC_SINH.
8971
8972 2011-10-08  Bruno Haible  <bruno@clisp.org>
8973
8974         Tests for module 'atan2f'.
8975         * modules/atan2f-tests: New file.
8976         * tests/test-atan2f.c: New file.
8977
8978         New module 'atan2f'.
8979         * lib/math.in.h (atan2f): New declaration.
8980         * lib/atan2f.c: New file.
8981         * m4/atan2f.m4: New file.
8982         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
8983         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
8984         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
8985         * modules/atan2f: New file.
8986         * tests/test-math-c++.cc: Check the declaration of atan2f.
8987         * doc/posix-functions/atan2f.texi: Mention the new module.
8988
8989         atan2: Use a .m4 file.
8990         * m4/atan2.m4: New file.
8991         * modules/atan2 (Files): Add it.
8992         (configure.ac): Just invoke gl_FUNC_ATAN2.
8993
8994 2011-10-08  Bruno Haible  <bruno@clisp.org>
8995
8996         Tests for module 'atanf'.
8997         * modules/atanf-tests: New file.
8998         * tests/test-atanf.c: New file.
8999
9000         New module 'atanf'.
9001         * lib/math.in.h (atanf): New declaration.
9002         * lib/atanf.c: New file.
9003         * m4/atanf.m4: New file.
9004         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
9005         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
9006         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9007         * modules/atanf: New file.
9008         * tests/test-math-c++.cc: Check the declaration of atanf.
9009         * doc/posix-functions/atanf.texi: Mention the new module.
9010
9011         atan: Use a .m4 file.
9012         * m4/atan.m4: New file.
9013         * modules/atan (Files): Add it.
9014         (configure.ac): Just invoke gl_FUNC_ATAN.
9015
9016 2011-10-08  Bruno Haible  <bruno@clisp.org>
9017
9018         Tests for module 'acosf'.
9019         * modules/acosf-tests: New file.
9020         * tests/test-acosf.c: New file.
9021
9022         New module 'acosf'.
9023         * lib/math.in.h (acosf): New declaration.
9024         * lib/acosf.c: New file.
9025         * m4/acosf.m4: New file.
9026         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9028         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9029         * modules/acosf: New file.
9030         * tests/test-math-c++.cc: Check the declaration of acosf.
9031         * doc/posix-functions/acosf.texi: Mention the new module.
9032
9033         acos: Use a .m4 file.
9034         * m4/acos.m4: New file.
9035         * modules/acos (Files): Add it.
9036         (configure.ac): Just invoke gl_FUNC_ACOS.
9037
9038 2011-10-08  Bruno Haible  <bruno@clisp.org>
9039
9040         Tests for module 'asinf'.
9041         * modules/asinf-tests: New file.
9042         * tests/test-asinf.c: New file.
9043
9044         New module 'asinf'.
9045         * lib/math.in.h (asinf): New declaration.
9046         * lib/asinf.c: New file.
9047         * m4/asinf.m4: New file.
9048         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9050         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9051         * modules/asinf: New file.
9052         * tests/test-math-c++.cc: Check the declaration of asinf.
9053         * doc/posix-functions/asinf.texi: Mention the new module.
9054
9055         asin: Use a .m4 file.
9056         * m4/asin.m4: New file.
9057         * modules/asin (Files): Add it.
9058         (configure.ac): Just invoke gl_FUNC_ASIN.
9059
9060 2011-10-08  Bruno Haible  <bruno@clisp.org>
9061
9062         Tests for module 'tanf'.
9063         * modules/tanf-tests: New file.
9064         * tests/test-tanf.c: New file.
9065
9066         New module 'tanf'.
9067         * lib/math.in.h (tanf): New declaration.
9068         * lib/tanf.c: New file.
9069         * m4/tanf.m4: New file.
9070         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
9071         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
9072         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
9073         * modules/tanf: New file.
9074         * tests/test-math-c++.cc: Check the declaration of tanf.
9075         * doc/posix-functions/tanf.texi: Mention the new module.
9076
9077         tan: Use a .m4 file.
9078         * m4/tan.m4: New file.
9079         * modules/tan (Files): Add it.
9080         (configure.ac): Just invoke gl_FUNC_TAN.
9081
9082 2011-10-08  Bruno Haible  <bruno@clisp.org>
9083
9084         Tests for module 'cosf'.
9085         * modules/cosf-tests: New file.
9086         * tests/test-cosf.c: New file.
9087
9088         New module 'cosf'.
9089         * lib/math.in.h (cosf): New declaration.
9090         * lib/cosf.c: New file.
9091         * m4/cosf.m4: New file.
9092         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
9093         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
9094         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
9095         * modules/cosf: New file.
9096         * tests/test-math-c++.cc: Check the declaration of cosf.
9097         * doc/posix-functions/cosf.texi: Mention the new module.
9098
9099         cos: Use a .m4 file.
9100         * m4/cos.m4: New file.
9101         * modules/cos (Files): Add it.
9102         (configure.ac): Just invoke gl_FUNC_COS.
9103
9104 2011-10-08  Bruno Haible  <bruno@clisp.org>
9105
9106         Tests for module 'sinf'.
9107         * modules/sinf-tests: New file.
9108         * tests/test-sinf.c: New file.
9109
9110         New module 'sinf'.
9111         * lib/math.in.h (sinf): New declaration.
9112         * lib/sinf.c: New file.
9113         * m4/sinf.m4: New file.
9114         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
9115         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
9116         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
9117         * modules/sinf: New file.
9118         * tests/test-math-c++.cc: Check the declaration of sinf.
9119         * doc/posix-functions/sinf.texi: Mention the new module.
9120
9121         sin: Use a .m4 file.
9122         * m4/sin.m4: New file.
9123         * modules/sin (Files): Add it.
9124         (configure.ac): Just invoke gl_FUNC_SIN.
9125
9126 2011-10-08  Bruno Haible  <bruno@clisp.org>
9127
9128         Tests for module 'powf'.
9129         * modules/powf-tests: New file.
9130         * tests/test-powf.c: New file.
9131
9132         New module 'powf'.
9133         * lib/math.in.h (powf): New declaration.
9134         * lib/powf.c: New file.
9135         * m4/powf.m4: New file.
9136         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
9137         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
9138         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
9139         * modules/powf: New file.
9140         * tests/test-math-c++.cc: Check the declaration of powf.
9141         * doc/posix-functions/powf.texi: Mention the new module.
9142
9143         pow: Use a .m4 file.
9144         * m4/pow.m4: New file.
9145         * modules/pow (Files): Add it.
9146         (configure.ac): Just invoke gl_FUNC_POW.
9147
9148 2011-10-08  Bruno Haible  <bruno@clisp.org>
9149
9150         Tests for module 'log10f'.
9151         * modules/log10f-tests: New file.
9152         * tests/test-log10f.c: New file.
9153
9154         New module 'log10f'.
9155         * lib/math.in.h (log10f): New declaration.
9156         * lib/log10f.c: New file.
9157         * m4/log10f.m4: New file.
9158         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
9159         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
9160         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
9161         * modules/log10f: New file.
9162         * tests/test-math-c++.cc: Check the declaration of log10f.
9163         * doc/posix-functions/log10f.texi: Mention the new module.
9164
9165         log10: Use a .m4 file.
9166         * m4/log10.m4: New file.
9167         * modules/log10 (Files): Add it.
9168         (configure.ac): Just invoke gl_FUNC_LOG10.
9169
9170 2011-10-08  Bruno Haible  <bruno@clisp.org>
9171
9172         Tests for module 'logf'.
9173         * modules/logf-tests: New file.
9174         * tests/test-logf.c: New file.
9175
9176         New module 'logf'.
9177         * lib/math.in.h (logf): New declaration.
9178         * lib/logf.c: New file.
9179         * m4/logf.m4: New file.
9180         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
9181         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
9182         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
9183         * modules/logf: New file.
9184         * tests/test-math-c++.cc: Check the declaration of logf.
9185         * doc/posix-functions/logf.texi: Mention the new module.
9186
9187         log: Use a .m4 file.
9188         * m4/log.m4: New file.
9189         * modules/log (Files): Add it.
9190         (configure.ac): Just invoke gl_FUNC_LOG.
9191
9192 2011-10-08  Bruno Haible  <bruno@clisp.org>
9193
9194         Tests for module 'expf'.
9195         * modules/expf-tests: New file.
9196         * tests/test-expf.c: New file.
9197
9198         New module 'expf'.
9199         * lib/math.in.h (expf): New declaration.
9200         * lib/expf.c: New file.
9201         * m4/expf.m4: New file.
9202         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
9203         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
9204         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
9205         * modules/expf: New file.
9206         * tests/test-math-c++.cc: Check the declaration of expf.
9207         * doc/posix-functions/expf.texi: Mention the new module.
9208
9209         exp: Use a .m4 file.
9210         * m4/exp.m4: New file.
9211         * modules/exp (Files): Add it.
9212         (configure.ac): Just invoke gl_FUNC_EXP.
9213
9214 2011-10-08  Bruno Haible  <bruno@clisp.org>
9215
9216         Tests for module 'sqrtf'.
9217         * modules/sqrtf-tests: New file.
9218         * tests/test-sqrtf.c: New file.
9219
9220         New module 'sqrtf'.
9221         * lib/math.in.h (sqrtf): New declaration.
9222         * lib/sqrtf.c: New file.
9223         * m4/sqrtf.m4: New file.
9224         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
9225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
9226         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
9227         * modules/sqrtf: New file.
9228         * tests/test-math-c++.cc: Check the declaration of sqrtf.
9229         * doc/posix-functions/sqrtf.texi: Mention the new module.
9230
9231 2011-10-08  Bruno Haible  <bruno@clisp.org>
9232
9233         Tests: Avoid link failures w.r.t. libintl.
9234         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
9235         $(LIBINTL).
9236         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
9237         $(LIBINTL).
9238         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
9239         against $(LIBINTL).
9240         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
9241         $(LIBINTL).
9242         * modules/openat-tests (Makefile.am): Link test-fchmodat against
9243         $(LIBINTL).
9244         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
9245
9246 2011-10-08  Bruno Haible  <bruno@clisp.org>
9247
9248         pow tests: Defeat compiler optimizations.
9249         * tests/test-pow.c (main): Assign arguments to x and y before use.
9250
9251 2011-10-08  Bruno Haible  <bruno@clisp.org>
9252
9253         gnulib-tool: Improve last commit.
9254         * gnulib-tool (func_modules_transitive_closure): Simplify code.
9255         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
9256         ignore dependencies that are not among the modules list.
9257
9258 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
9259
9260         gnulib-tool: don't follow dependencies to avoided modules
9261         This fixes a bug that is related to the previous one.
9262         * gnulib-tool (func_modules_transitive_closure)
9263         (func_emit_autoconf_snippets):
9264         Check whether a dependency is acceptable before using it.
9265         (--extract-dependencies): Report an error if --avoid is also used,
9266         since this combination of options is not yet supported.
9267
9268         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
9269         Problem reported by Peter Dyballa in
9270         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
9271         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
9272         when echoing "$condition".
9273
9274 2011-10-07  Bruno Haible  <bruno@clisp.org>
9275
9276         Fix documentation about math functions on MacOS X.
9277         * doc/posix-functions/exp2.texi: Don't say the function is missing on
9278         MacOS X 10.5.
9279         * doc/posix-functions/fdim.texi: Likewise.
9280         * doc/posix-functions/feclearexcept.texi: Likewise.
9281         * doc/posix-functions/fegetenv.texi: Likewise.
9282         * doc/posix-functions/fegetround.texi: Likewise.
9283         * doc/posix-functions/feholdexcept.texi: Likewise.
9284         * doc/posix-functions/feraiseexcept.texi: Likewise.
9285         * doc/posix-functions/fesetenv.texi: Likewise.
9286         * doc/posix-functions/fesetround.texi: Likewise.
9287         * doc/posix-functions/fetestexcept.texi: Likewise.
9288         * doc/posix-functions/feupdateenv.texi: Likewise.
9289         * doc/posix-functions/fmax.texi: Likewise.
9290         * doc/posix-functions/fmin.texi: Likewise.
9291         * doc/posix-functions/log2.texi: Likewise.
9292         * doc/posix-functions/modff.texi: Likewise.
9293         * doc/posix-functions/nan.texi: Likewise.
9294         * doc/posix-functions/nanf.texi: Likewise.
9295         * doc/posix-functions/nextafterf.texi: Likewise.
9296         * doc/posix-functions/remquo.texi: Likewise.
9297
9298 2011-10-07  Bruno Haible  <bruno@clisp.org>
9299
9300         modff: Drop assumption about library that defines modff.
9301         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
9302         AC_CHECK_FUNCS.
9303         * modules/modff (Files): Add m4/mathfunc.m4.
9304
9305 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
9306
9307         raise tests: Avoid a GCC warning.
9308         * tests/test-raise.c (handler): Use _Noreturn.
9309
9310 2011-10-07  Bruno Haible  <bruno@clisp.org>
9311
9312         Tests for module 'ldexpf'.
9313         * modules/ldexpf-tests: New file.
9314         * tests/test-ldexpf.c: New file.
9315
9316         New module 'ldexpf'.
9317         * lib/math.in.h (ldexpf): New declaration.
9318         * lib/ldexpf.c: New file.
9319         * m4/ldexpf.m4: New file.
9320         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
9321         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
9322         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
9323         * modules/ldexpf: New file.
9324         * tests/test-math-c++.cc: Check the declaration of ldexpf.
9325         * doc/posix-functions/ldexpf.texi: Mention the new module.
9326
9327 2011-10-06  Bruno Haible  <bruno@clisp.org>
9328
9329         frexpf: Work around problems on IRIX and mingw.
9330         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
9331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
9332         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
9333         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
9334         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
9335         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
9336         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
9337
9338 2011-10-06  Bruno Haible  <bruno@clisp.org>
9339
9340         fabsf: Drop assumption about library that defines fabsf.
9341         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
9342         AC_CHECK_FUNCS.
9343         * modules/fabsf (Files): Add m4/mathfunc.m4.
9344
9345 2011-10-06  Bruno Haible  <bruno@clisp.org>
9346
9347         frexpf: Drop assumption about library that defines frexpf.
9348         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
9349         'int *', 'float *', 'long double *', 'float', 'long double'.
9350         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
9351         AC_CHECK_FUNCS.
9352         * modules/frexpf (Files): Add m4/mathfunc.m4.
9353
9354         Tests for module 'frexpf'.
9355         * modules/frexpf-tests: New file.
9356         * tests/test-frexpf.c: New file.
9357
9358         New module 'frexpf'.
9359         * lib/math.in.h (frexpf): New declaration.
9360         * lib/frexpf.c: New file.
9361         * m4/frexpf.m4: New file.
9362         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
9363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
9364         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
9365         * modules/frexpf: New file.
9366         * tests/test-math-c++.cc: Check the declaration of frexpf.
9367         * doc/posix-functions/frexpf.texi: Mention the new module.
9368
9369 2011-10-06  Bruno Haible  <bruno@clisp.org>
9370
9371         math: Sort function declarations of math.in.h.
9372         * lib/math.in.h (frexp, logb): Move declarations.
9373
9374 2011-10-05  Bruno Haible  <bruno@clisp.org>
9375
9376         Tests for module 'modff'.
9377         * modules/modff-tests: New file.
9378         * tests/test-modff.c: New file.
9379
9380         New module 'modff'.
9381         * lib/math.in.h (modff): New declaration.
9382         * lib/modff.c: New file.
9383         * m4/modff.m4: New file.
9384         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
9385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
9386         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
9387         * modules/modff: New file.
9388         * tests/test-math-c++.cc: Check the declaration of modff.
9389         * doc/posix-functions/modff.texi: Mention the new module.
9390
9391         modf tests: Make test sharper.
9392         * tests/test-modf.c (main): Strengthen upper bound.
9393
9394         modf: Use a .m4 file.
9395         * m4/modf.m4: New file.
9396         * modules/modf (Files): Add it.
9397         (configure.ac): Just invoke gl_FUNC_MODF.
9398
9399 2011-10-05  Bruno Haible  <bruno@clisp.org>
9400
9401         Tests for module 'fmodf'.
9402         * modules/fmodf-tests: New file.
9403         * tests/test-fmodf.c: New file.
9404
9405         New module 'fmodf'.
9406         * lib/math.in.h (fmodf): New declaration.
9407         * lib/fmodf.c: New file.
9408         * m4/fmodf.m4: New file.
9409         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
9410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
9411         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
9412         * modules/fmodf: New file.
9413         * tests/test-math-c++.cc: Check the declaration of fmodf.
9414         * doc/posix-functions/fmodf.texi: Mention the new module.
9415
9416         fmod: Use a .m4 file.
9417         * m4/fmod.m4: New file.
9418         * modules/fmod (Files): Add it.
9419         (configure.ac): Just invoke gl_FUNC_FMOD.
9420
9421 2011-10-05  Bruno Haible  <bruno@clisp.org>
9422
9423         Tests for module 'fabsf'.
9424         * modules/fabsf-tests: New file.
9425         * tests/test-fabsf.c: New file.
9426
9427         New module 'fabsf'.
9428         * lib/math.in.h (fabsf): New declaration.
9429         * lib/fabsf.c: New file.
9430         * m4/fabsf.m4: New file.
9431         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9432         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9433         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9434         * modules/fabsf: New file.
9435         * tests/test-math-c++.cc: Check the declaration of fabsf.
9436         * doc/posix-functions/fabsf.texi: Mention the new module.
9437
9438         fabs: Use a .m4 file.
9439         * m4/fabs.m4: New file.
9440         * modules/fabs (Files): Add it.
9441         (configure.ac): Just invoke gl_FUNC_FABS.
9442
9443 2011-10-05  Jim Meyering  <meyering@redhat.com>
9444
9445         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9446         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9447         ls -lL regression introduced in coreutils-8.12, it does so at the
9448         cost of an additional stat call in the common case.  Besides, now
9449         that the kernel change that prompted commit 95f7c57f has been reverted
9450         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9451         we have no use for commit 95f7c57f, "file-has-acl: use
9452         acl_extended_file_nofollow if available".
9453
9454 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9455
9456         file-has-acl: revert unintended change in behavior of ls -L
9457         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9458         derived from...
9459         (file_has_acl): ...code here.  Call it.
9460         This problem was introduced with 2011-07-22 commit 95f7c57f,
9461         "file-has-acl: use acl_extended_file_nofollow if available".
9462         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9463
9464 2011-10-03  Bruno Haible  <bruno@clisp.org>
9465
9466         poll: Avoid link errors on MSVC.
9467         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9468         * modules/poll (Depends-on): Add sockets.
9469         (Link): New section.
9470         * NEWS: Mention the change.
9471         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9472         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9473         $(LIB_POLL) instead of $(LIBSOCKET).
9474
9475 2011-10-03  Bruno Haible  <bruno@clisp.org>
9476
9477         sys_select tests: Fix link error on MSVC 9.
9478         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9479         with $(LIB_SELECT) instead of $(LIBSOCKET).
9480
9481 2011-10-03  Bruno Haible  <bruno@clisp.org>
9482
9483         sys_select: Fix compilation error on mingw.
9484         * lib/sys_select.in.h: On native Windows, include <io.h>.
9485
9486 2011-10-03  Bruno Haible  <bruno@clisp.org>
9487
9488         wmemset: Support for MSVC.
9489         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9490         whether wmemset() exists.
9491
9492 2011-10-03  Bruno Haible  <bruno@clisp.org>
9493
9494         wmemmove: Support for MSVC.
9495         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9496         whether wmemmove() exists.
9497
9498 2011-10-03  Bruno Haible  <bruno@clisp.org>
9499
9500         wmemcpy: Support for MSVC.
9501         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9502         whether wmemcpy() exists.
9503
9504 2011-10-03  Bruno Haible  <bruno@clisp.org>
9505
9506         wmemcmp: Support for MSVC.
9507         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9508         whether wmemcmp() exists.
9509
9510 2011-10-03  Bruno Haible  <bruno@clisp.org>
9511
9512         wmemchr: Support for MSVC.
9513         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9514         whether wmemchr() exists.
9515
9516 2011-10-03  Bruno Haible  <bruno@clisp.org>
9517
9518         glthread/*, strsignal: Support for MSVC.
9519         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9520         including <winsock.h> on MSVC 9.
9521         * lib/glthread/lock.h: Likewise.
9522         * lib/glthread/thread.h: Likewise.
9523         * lib/glthread/tls.h: Likewise.
9524         * lib/glthread/yield.h: Likewise.
9525         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9526         if HAVE_UNISTD_H is false.
9527         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9528
9529 2011-10-03  Bruno Haible  <bruno@clisp.org>
9530
9531         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9532         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9533         Set to 100000.
9534
9535 2011-10-03  Bruno Haible  <bruno@clisp.org>
9536
9537         acl: Fix specification.
9538         * lib/file-has-acl.c (file_has_acl): Fix specification.
9539
9540 2011-10-03  Bruno Haible  <bruno@clisp.org>
9541
9542         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9543         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9544         (compute_curr_prefix, shared_library_fullname,
9545         find_shared_library_fullname, get_shared_library_fullname, relocate):
9546         Use it together with PIC && INSTALLDIR.
9547         Reported by <jojelino@gmail.com>
9548         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9549
9550 2011-10-01  Jim Meyering  <meyering@redhat.com>
9551
9552         maint.mk: adjust a release-related rule not to require use of gzip
9553         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9554         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9555         projects that build only .tar.xz files.  Also fix an erroneous test.
9556
9557         test-linkat: don't leave behind a temporary file
9558         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9559         Otherwise, coreutils' "make distcheck" would fail with this:
9560           Only in /c/cu/tests/torture/coreutils/test/\
9561             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9562           make[2]: *** [my-distcheck] Error 1
9563
9564         float, math: add omitted file
9565         * lib/itold.c: Add file, required for yesterday's float change.
9566
9567 2011-10-01  Bruno Haible  <bruno@clisp.org>
9568
9569         isinf: Fix for OpenBSD/x86.
9570         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9571         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9572         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9573
9574 2011-10-01  Bruno Haible  <bruno@clisp.org>
9575
9576         isfinite: Fix syntax error in configure test.
9577         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9578
9579         isfinite: Fix typo.
9580         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9581         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9582
9583 2011-10-01  Bruno Haible  <bruno@clisp.org>
9584
9585         nonblocking tests: Fix test failure on Linux/IA-64.
9586         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9587         Set to 270000.
9588
9589 2011-10-01  Bruno Haible  <bruno@clisp.org>
9590
9591         mkfifoat tests: Fix a test failure on mingw.
9592         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9593         with error ENOSYS.
9594
9595 2011-09-30  Bruno Haible  <bruno@clisp.org>
9596
9597         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9598         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9599         'long double'. Set REPLACE_ITOLD.
9600         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
9601         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
9602         * lib/itold.c: New file.
9603         * modules/float (Files): Add lib/itold.c.
9604         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
9605         (Makefile.am): Substitute REPLACE_ITOLD.
9606         * modules/math (Depends-on): Add float.
9607         (Makefile.am): Substitute REPLACE_ITOLD.
9608         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
9609         * doc/posix-headers/math.texi: Likewise.
9610         * doc/posix-functions/logl.texi: Likewise.
9611
9612 2011-09-30  Bruno Haible  <bruno@clisp.org>
9613
9614         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
9615         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
9616         Set to 140000.
9617
9618 2011-09-30  Bruno Haible  <bruno@clisp.org>
9619
9620         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
9621         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
9622         invocation, say "right after AC_PROG_CC_STDC", not "right after
9623         AC_PROG_CC".
9624         Reported by Gary V. Vaughan <gary@gnu.org>.
9625
9626 2011-09-30  Bruno Haible  <bruno@clisp.org>
9627
9628         Centralize C99 requirement.
9629         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
9630         * modules/stdarg (configure.ac-early): Invoke it instead of
9631         AC_PROG_CC_STDC.
9632         Reported by Gary V. Vaughan and Paul Eggert.
9633
9634 2011-09-29  Bruno Haible  <bruno@clisp.org>
9635
9636         float: Fix LDBL_MAX value on Linux/PowerPC.
9637         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
9638         on Linux/PowerPC.
9639         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
9640         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
9641         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9642         platform.
9643         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9644
9645 2011-09-29  Bruno Haible  <bruno@clisp.org>
9646
9647         doc: Improve doc about gl_EARLY.
9648         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9649         AC_PROG_CC_STDC invocation.
9650         Reported by Gary V. Vaughan <gary@gnu.org>.
9651
9652 2011-09-28  Bruno Haible  <bruno@clisp.org>
9653
9654         fgetc, fputc, fread, fwrite tests: Fix link error.
9655         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9656         on non-MSVC platforms.
9657         * tests/test-fputc.c (main): Likewise.
9658         * tests/test-fread.c (main): Likewise.
9659         * tests/test-fwrite.c (main): Likewise.
9660         Reported by Jim Meyering.
9661
9662 2011-09-27  Bruno Haible  <bruno@clisp.org>
9663
9664         fputc, fwrite tests: Avoid test failure on MSVC.
9665         * tests/test-fgetc.c: Include msvc-inval.h.
9666         (main): Invoke gl_msvc_inval_ensure_handler.
9667         * tests/test-fputc.c: Include msvc-inval.h.
9668         (main): Invoke gl_msvc_inval_ensure_handler.
9669         * tests/test-fread.c: Include msvc-inval.h.
9670         (main): Invoke gl_msvc_inval_ensure_handler.
9671         * tests/test-fwrite.c: Include msvc-inval.h.
9672         (main): Invoke gl_msvc_inval_ensure_handler.
9673         * modules/fgetc-tests (Depends-on): Add msvc-inval.
9674         * modules/fputc-tests (Depends-on): Likewise.
9675         * modules/fread-tests (Depends-on): Likewise.
9676         * modules/fwrite-tests (Depends-on): Likewise.
9677
9678 2011-09-27  Bruno Haible  <bruno@clisp.org>
9679
9680         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
9681         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
9682         (raise): Remove older, duplicated declaration.
9683         (_gl_raise_SIGPIPE): New declaration.
9684         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
9685         (rpl_raise): Remove function.
9686         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
9687         a gnulib-defined SIGPIPE here.
9688         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
9689         'sigprocmask' has detected missing signal-blocking and the module
9690         'sigpipe' is enabled.
9691         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9692
9693 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
9694
9695         base64-tests: avoid memory leak
9696         * tests/test-base64.c (main): Plug memory leak.
9697
9698         base32: new module
9699         * modules/base32: New module.
9700         * lib/base32.c: New file.
9701         * lib/base32.h: Likewise.
9702         * m4/base32.m4: Likewise.
9703         * modules/base32-tests: New test.
9704         * tests/test-base32.c: Likewise.
9705         * MODULES.html.sh (Misc): Mention it.
9706
9707 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9708
9709         gnulib: use more-standard license notice wording
9710         * gnulib-tool (func_emit_copyright_notice): When emitting a
9711         license notice into a file, use the standard wording as suggested
9712         by the current information for GNU maintainers, except say "file"
9713         rather than "program".  The new wording gives a license version
9714         number, which addresses an issue raised by Glenn Morris in
9715         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
9716         * m4/onceonly.m4: Use that same wording here, too.
9717
9718         dup2: minor simplification
9719         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
9720         as lib/dup2.c no longer uses 'inline'.
9721
9722 2011-09-25  Bruno Haible  <bruno@clisp.org>
9723
9724         strings: Fix compilation error on MSVC.
9725         * lib/strings.in.h: Include <stddef.h> for size_t.
9726
9727 2011-09-25  Bruno Haible  <bruno@clisp.org>
9728
9729         fflush et al.: Document limitation on MSVC.
9730         * doc/posix-functions/fflush.texi: Document possible crash in handling
9731         mode other than DEFAULT_HANDLING.
9732         * doc/posix-functions/fgetc.texi: Likewise.
9733         * doc/posix-functions/fputc.texi: Likewise.
9734         * doc/posix-functions/fread.texi: Likewise.
9735         * doc/posix-functions/fwrite.texi: Likewise.
9736
9737 2011-09-25  Bruno Haible  <bruno@clisp.org>
9738
9739         msvc-inval: Allow three invalid parameter handling modes.
9740         * lib/msvc-inval.h: Don't include <stdlib.h> here.
9741         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
9742         macros.
9743         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
9744         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
9745         SANE_LIBRARY_HANDLING as a no-op.
9746         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
9747         <stdlib.h>.
9748         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
9749
9750 2011-09-25  Bruno Haible  <bruno@clisp.org>
9751
9752         msvc-inval: Make handler multithread-safe.
9753         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
9754         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
9755         declarations.
9756         (gl_msvc_inval_current): New declaration.
9757         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9758         Operate on the structure returned by gl_msvc_inval_current().
9759         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
9760         Remove varaiables.
9761         (tls_index, tls_initialized): New variables.
9762         (not_per_thread): New variable.
9763         (gl_msvc_inval_current): New function.
9764         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
9765         returned by gl_msvc_inval_current().
9766
9767 2011-09-25  Bruno Haible  <bruno@clisp.org>
9768
9769         msvc-inval: Install handler globally.
9770         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
9771         !_MSC_VER.
9772         (gl_msvc_invalid_parameter_handler): Remove declaration.
9773         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
9774         declarations.
9775         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9776         Install the handler globally, don't uninstall it.
9777         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
9778         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
9779         currently valid, call RaiseException instead.
9780         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
9781         for !_MSC_VER.
9782
9783 2011-09-25  Bruno Haible  <bruno@clisp.org>
9784
9785         strerror_r-posix: Fix for MSVC 9.
9786         * lib/strerror_r.c (local_snprintf): New function.
9787         (snprintf): Define to local_snprintf, not to _snprintf.
9788
9789 2011-09-25  Bruno Haible  <bruno@clisp.org>
9790
9791         ftruncate: Support for MSVC 9.
9792         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
9793         (chsize_nothrow): New function.
9794         (chsize): Redefine as a macro.
9795         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
9796         * modules/ftruncate (Depends-on): Add msvc-inval.
9797
9798 2011-09-25  Bruno Haible  <bruno@clisp.org>
9799
9800         New module 'fstat'.
9801         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
9802         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
9803         * lib/fchdir.c (rpl_fstat): Remove function.
9804         * m4/fstat.m4: New file.
9805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
9806         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
9807         declared.
9808         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
9809         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
9810         * modules/fstat: New file.
9811         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
9812         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
9813         is set.
9814         * doc/posix-functions/fstat.texi: Mention the new module and the
9815         problem on MSVC.
9816         * NEWS: Mention the change.
9817         * modules/acl (Depends-on): Add fstat.
9818         * modules/chdir-safer (Depends-on): Likewise.
9819         * modules/chown (Depends-on): Likewise.
9820         * modules/copy-file (Depends-on): Likewise.
9821         * modules/fchdir (Depends-on): Likewise.
9822         * modules/fdopendir (Depends-on): Likewise.
9823         * modules/fopen (Depends-on): Likewise.
9824         * modules/fts (Depends-on): Likewise.
9825         * modules/getcwd (Depends-on): Likewise.
9826         * modules/isapipe (Depends-on): Likewise.
9827         * modules/linkat (Depends-on): Likewise.
9828         * modules/lseek (Depends-on): Likewise.
9829         * modules/mkdir-p (Depends-on): Likewise.
9830         * modules/open (Depends-on): Likewise.
9831         * modules/openat (Depends-on): Likewise.
9832         * modules/read-file (Depends-on): Likewise.
9833         * modules/renameat (Depends-on): Likewise.
9834         * modules/utimens (Depends-on): Likewise.
9835
9836 2011-09-25  Bruno Haible  <bruno@clisp.org>
9837
9838         linkat: Fix compilation on MSVC 9.
9839         * lib/linkat.c: Don't include <stdint.h>.
9840
9841 2011-09-25  Bruno Haible  <bruno@clisp.org>
9842
9843         fclose: Support for MSVC 9.
9844         * lib/fclose.c: Include msvc-inval.h.
9845         (fclose_nothrow): New function.
9846         (rpl_fclose): Use it.
9847         * modules/fclose (Depends-on): Add msvc-inval.
9848         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
9849
9850 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9851
9852         dup2: minor simplifications
9853         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
9854         that it's a performance win.
9855         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
9856         ! defined __CYGWIN__)" to "ifdef F_GETFL".
9857
9858 2011-09-24  Jim Meyering  <meyering@redhat.com>
9859
9860         test-futimens: avoid a warning from gcc -Wshadow
9861         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
9862         to avoid a shadowing warning.
9863
9864 2011-09-24  Bruno Haible  <bruno@clisp.org>
9865
9866         fdopen: Support for MSVC 9.
9867         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
9868         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
9869         * lib/fdopen.c: Include msvc-inval.h.
9870         (fdopen_nothrow): New function.
9871         (rpl_fdopen): Use it.
9872         * modules/fdopen (Depends-on): Add msvc-inval.
9873         * modules/fclose-tests (Depends-on): Add fdopen.
9874         * modules/fflush-tests (Depends-on): Likewise.
9875         * modules/fgetc-tests (Depends-on): Likewise.
9876         * modules/fputc-tests (Depends-on): Likewise.
9877         * modules/fread-tests (Depends-on): Likewise.
9878         * modules/freopen-tests (Depends-on): Likewise.
9879         * modules/fseeko-tests (Depends-on): Likewise.
9880         * modules/ftello-tests (Depends-on): Likewise.
9881         * modules/fwrite-tests  (Depends-on): Likewise.
9882         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
9883
9884 2011-09-24  Bruno Haible  <bruno@clisp.org>
9885
9886         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
9887         * modules/fgetc-tests (Depends-on): Add unistd.
9888         * modules/fputc-tests (Depends-on): Likewise.
9889         * modules/fread-tests (Depends-on): Likewise.
9890         * modules/fwrite-tests (Depends-on): Likewise.
9891
9892 2011-09-24  Bruno Haible  <bruno@clisp.org>
9893
9894         dup: Simplify autoconf test.
9895         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
9896         on gl_MSVC_INVAL's result.
9897
9898 2011-09-24  Bruno Haible  <bruno@clisp.org>
9899
9900         Tests for function fwrite().
9901         * modules/fwrite-tests: New file.
9902         * tests/test-fwrite.c: New file.
9903         * modules/stdio-tests (Depends-on): Add fwrite-tests.
9904
9905         Tests for function fread().
9906         * modules/fread-tests: New file.
9907         * tests/test-fread.c: New file.
9908         * modules/stdio-tests (Depends-on): Add fread-tests.
9909
9910         Activate fputc tests.
9911         * modules/stdio-tests (Depends-on): Add fputc-tests.
9912
9913         Enhance fgetc, fputc tests.
9914         * tests/test-fgetc.c (main): Also test the stream's error indicator.
9915         * tests/test-fputc.c (main): Likewise.
9916
9917 2011-09-24  Bruno Haible  <bruno@clisp.org>
9918
9919         write: Support for MSVC 9.
9920         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9921         is not 1.
9922         * lib/write.c (write_nothrow): New function.
9923         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
9924         not 1. Use write_nothrow.
9925         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
9926         invalid parameter handler.
9927         (gl_PREREQ_WRITE): New macro.
9928         * modules/write (Depends-on): Add msvc-inval.
9929         (configure.ac): Invoke gl_PREREQ_WRITE.
9930         * doc/posix-functions/write.texi: Mention the problem on MSVC.
9931
9932 2011-09-24  Bruno Haible  <bruno@clisp.org>
9933
9934         read: Fix last commit.
9935         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
9936
9937 2011-09-24  Bruno Haible  <bruno@clisp.org>
9938
9939         dup2: Fix last commit.
9940         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
9941         (rpl_dup2): Disable fcntl workaround on native Windows.
9942
9943         sigprocmask: Make code safer.
9944         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
9945         section that changes macro definitions for this compilation unit.
9946
9947 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9948
9949         dup2: clarify by coalescing Windows-specific material
9950         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
9951         "msvc-nothrow.h"' to the Windows-specific section, so that the
9952         Emacs source need not contain these include files.
9953         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
9954         Windows-specific fixes into this function rather than just the
9955         nothrow fix, as this shortens and clarifies the code.  Always
9956         define as a function, as that's a bit cleaner than having it be
9957         sometimes a function and sometimes a macro.
9958         (rpl_dup2): Move the Windows-specific stuff out of here and into
9959         ms_windows_dup2.  Don't protect the Haiku-related fix with
9960         "#if !defined __linux__", as the same code also works around
9961         a Linux kernel bug, and it doesn't add any system calls on any
9962         platform.  Add comment about FreeBSD 6.1.
9963
9964         sigprocmask: move #include directive
9965         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
9966         Windows-specific section, so that the Emacs source need not
9967         contain msvc-inval.h.
9968
9969 2011-09-23  Bruno Haible  <bruno@clisp.org>
9970
9971         read: Support for MSVC 9.
9972         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9973         is not 1.
9974         * lib/read.c (read_nothrow): New function.
9975         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
9976         read_nothrow.
9977         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
9978         invalid parameter handler.
9979         (gl_PREREQ_READ): New macro.
9980         * modules/read (Depends-on): Add msvc-inval.
9981         (configure.ac): Invoke gl_PREREQ_READ.
9982         * doc/posix-functions/read.texi: Mention the problem on MSVC.
9983
9984 2011-09-23  Bruno Haible  <bruno@clisp.org>
9985
9986         close: Support for MSVC 9.
9987         * lib/close.c: Include <errno.h>, msvc-inval.h.
9988         (close_nothrow): New function.
9989         (rpl_close): Use it.
9990         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
9991         invalid parameter handler.
9992         * modules/close (Depends-on): Add msvc-inval.
9993         * modules/dup2-tests (Depends-on): Add close.
9994         * modules/dup3-tests (Depends-on): Likewise.
9995         * modules/fcntl-tests (Depends-on): Likewise.
9996         * modules/spawn-pipe-tests (Depends-on): Likewise.
9997         * modules/unistd-safer-tests (Depends-on): Likewise.
9998         * doc/posix-functions/close.texi: Mention the problem on MSVC.
9999
10000 2011-09-23  Bruno Haible  <bruno@clisp.org>
10001
10002         New module 'dup'.
10003         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
10004         Allow replacement.
10005         * lib/dup.c: New file.
10006         * lib/fchdir.c (rpl_dup): Remove function.
10007         * m4/dup.m4: New file.
10008         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10009         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10010         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10011         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10012         * modules/dup: New file.
10013         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10014         'dup' module is in use.
10015         * modules/fdopendir (Depends-on): Add dup.
10016         * modules/fdutimensat-tests (Depends-on): Likewise.
10017         * modules/fts (Depends-on): Likewise.
10018         * modules/futimens-tests (Depends-on): Likewise.
10019         * modules/posix_spawnp-tests (Depends-on): Likewise.
10020         * modules/unistd-safer-tests (Depends-on): Likewise.
10021         * modules/utimens-tests (Depends-on): Likewise.
10022         * doc/posix-functions/dup.texi: Mention the new module and the problem
10023         on MSVC.
10024
10025 2011-09-23  Bruno Haible  <bruno@clisp.org>
10026
10027         getdtablesize: Support for MSVC 9.
10028         * lib/getdtablesize.c: Include msvc-inval.h.
10029         (_setmaxstdio_nothrow): New function.
10030         (_setmaxstdio): Redefine it.
10031         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10032         * modules/getdtablesize (Depends-on): Add msvc-inval.
10033         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10034
10035 2011-09-23  Bruno Haible  <bruno@clisp.org>
10036
10037         signal-h: Rename from signal.
10038         * modules/signal-h: Renamed from modules/signal.
10039         * modules/pthread_sigmask (Depends-on): Update.
10040         * modules/raise (Depends-on): Likewise.
10041         * modules/sigaction (Depends-on): Likewise.
10042         * modules/sigpipe (Depends-on): Likewise.
10043         * modules/sigprocmask (Depends-on): Likewise.
10044         * modules/sys_select (Depends-on): Likewise.
10045         * modules/signal-h-tests: Renamed from modules/signal-tests.
10046         (Files, Depends-on, Makefile.am): Update.
10047         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10048         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10049         (Files, Makefile.am): Update.
10050         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10051         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10052         * modules/signal: New placeholder file.
10053         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10054         * doc/posix-headers/signal.texi: Update.
10055         * NEWS: Mention the change.
10056
10057 2011-09-23  Bruno Haible  <bruno@clisp.org>
10058
10059         sigprocmask: Avoid crashes through signal() on MSVC 9.
10060         * lib/sigprocmask.c: Include msvc-inval.h.
10061         (signal_nothrow): New function.
10062         (signal): Redefine it.
10063         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
10064         * modules/sigprocmask (Depends-on): Add msvc-inval.
10065         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
10066
10067 2011-09-23  Bruno Haible  <bruno@clisp.org>
10068
10069         Tests for module 'raise'.
10070         * modules/raise-tests: New file.
10071         * tests/test-raise.c: New file.
10072
10073         raise: Support for MSVC.
10074         * lib/signal.in.h (raise): New declaration.
10075         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
10076         for native Windows platforms.
10077         * m4/raise.m4: New file.
10078         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
10079         HAVE_RAISE, REPLACE_RAISE.
10080         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
10081         REPLACE_RAISE.
10082         * modules/raise (Status, Notice): Remove fields.
10083         (Files): Add m4/raise.m4.
10084         (Depends-on): Add signal, msvc-inval.
10085         (configure.ac): Use the common idioms.
10086         (Maintainer): Add me.
10087         * tests/test-signal-c++.cc: Check the signature of raise.
10088         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
10089
10090 2011-09-23  Bruno Haible  <bruno@clisp.org>
10091
10092         pipe2: Fix compilation on pre-C99 compilers.
10093         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
10094
10095 2011-09-23  Bruno Haible  <bruno@clisp.org>
10096
10097         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
10098         * lib/msvc-nothrow.h: New file.
10099         * lib/msvc-nothrow.c: New file.
10100         * m4/msvc-nothrow.m4: New file.
10101         * modules/msvc-nothrow: New file.
10102         * lib/dup2.c: Include msvc-nothrow.h.
10103         (rpl_dup2): No need to protect _get_osfhandle call here.
10104         * lib/accept4.c: Include msvc-nothrow.h.
10105         * lib/error.c: Likewise.
10106         * lib/fcntl.c: Likewise.
10107         * lib/lseek.c: Likewise.
10108         * lib/nonblocking.c: Likewise.
10109         * lib/poll.c: Likewise.
10110         * lib/read.c: Likewise.
10111         * lib/select.c: Likewise.
10112         * lib/sockets.h: Likewise.
10113         * lib/sockets.c: Likewise.
10114         * lib/stdio-read.c: Likewise.
10115         * lib/stdio-write.c: Likewise.
10116         * lib/write.c: Likewise.
10117         * lib/w32sock.h: Likewise.
10118         * lib/w32spawn.h: Likewise.
10119         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
10120         * lib/fsync.c: Likewise.
10121         * lib/isapipe.c: Likewise.
10122         * modules/dup2 (Depends-on): Add msvc-nothrow.
10123         * modules/accept4 (Depends-on): Likewise.
10124         * modules/error (Depends-on): Likewise.
10125         * modules/fcntl (Depends-on): Likewise.
10126         * modules/lseek (Depends-on): Likewise.
10127         * modules/nonblocking (Depends-on): Likewise.
10128         * modules/poll (Depends-on): Likewise.
10129         * modules/read (Depends-on): Likewise.
10130         * modules/select (Depends-on): Likewise.
10131         * modules/sockets (Depends-on): Likewise.
10132         * modules/sigpipe (Depends-on): Likewise.
10133         * modules/write (Depends-on): Likewise.
10134         * modules/accept (Depends-on): Likewise.
10135         * modules/bind (Depends-on): Likewise.
10136         * modules/connect (Depends-on): Likewise.
10137         * modules/gethostname (Depends-on): Likewise.
10138         * modules/getpeername (Depends-on): Likewise.
10139         * modules/getsockname (Depends-on): Likewise.
10140         * modules/getsockopt (Depends-on): Likewise.
10141         * modules/ioctl (Depends-on): Likewise.
10142         * modules/listen (Depends-on): Likewise.
10143         * modules/recv (Depends-on): Likewise.
10144         * modules/recvfrom (Depends-on): Likewise.
10145         * modules/send (Depends-on): Likewise.
10146         * modules/sendto (Depends-on): Likewise.
10147         * modules/setsockopt (Depends-on): Likewise.
10148         * modules/shutdown (Depends-on): Likewise.
10149         * modules/socket (Depends-on): Likewise.
10150         * modules/execute (Depends-on): Likewise.
10151         * modules/spawn-pipe (Depends-on): Likewise.
10152         * modules/flock (Depends-on): Likewise.
10153         * modules/fsync (Depends-on): Likewise.
10154         * modules/isapipe (Depends-on): Likewise.
10155         * tests/test-cloexec.c: Include msvc-nothrow.h.
10156         * tests/test-dup-safer.c: Likewise.
10157         * tests/test-dup2.c: Likewise.
10158         * tests/test-dup3.c: Likewise.
10159         * tests/test-fcntl.c: Likewise.
10160         * tests/test-pipe.c: Likewise.
10161         * tests/test-pipe2.c: Likewise.
10162         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
10163         * modules/unistd-safer-tests (Depends-on): Likewise.
10164         * modules/dup2-tests (Depends-on): Likewise.
10165         * modules/dup3-tests (Depends-on): Likewise.
10166         * modules/fcntl-tests (Depends-on): Likewise.
10167         * modules/pipe-posix-tests (Depends-on): Likewise.
10168         * modules/pipe2-tests (Depends-on): Likewise.
10169
10170 2011-09-23  Bruno Haible  <bruno@clisp.org>
10171
10172         dup2: Make code more maintainable.
10173         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
10174         (rpl_dup2): Use it.
10175         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
10176         * modules/dup2 (configure.ac): Invoke it.
10177         Reported by Paul Eggert.
10178
10179 2011-09-23  Bruno Haible  <bruno@clisp.org>
10180
10181         msvc-inval: Fix compilation error.
10182         * lib/msvc-inval.h: Include <excpt.h>.
10183
10184 2011-09-23  Bruno Haible  <bruno@clisp.org>
10185
10186         mkdir: Tweak for MSVC 9.
10187         * lib/sys_stat.in.h: Update comments.
10188         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
10189
10190         Tests for module 'chdir'.
10191         * modules/chdir-tests: New file.
10192         * tests/test-chdir.c: New file.
10193
10194         New module 'chdir'.
10195         * modules/chdir: New file.
10196         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
10197         (chdir): New declaration.
10198         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
10199         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
10200         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
10201         * tests/test-unistd-c++.cc: Check signature of chdir.
10202         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
10203         * modules/chdir-long (Depends-on): Add chdir.
10204         * modules/fchdir (Depends-on): Likewise.
10205         * modules/rename (Depends-on): Likewise.
10206         * modules/savewd (Depends-on): Likewise.
10207
10208         rmdir: Support for mingw, MSVC 9.
10209         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
10210         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
10211
10212         getcwd: Tweak for MSVC 9.
10213         * lib/unistd.in.h: Update comments.
10214         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
10215
10216 2011-09-22  Bruno Haible  <bruno@clisp.org>
10217
10218         strerror_r-posix: Avoid a link error on MSVC.
10219         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
10220         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
10221
10222 2011-09-22  Bruno Haible  <bruno@clisp.org>
10223
10224         select: Avoid link errors on MSVC.
10225         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
10226         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
10227         * modules/pselect (Link): Likewise.
10228         * NEWS: Mention the change.
10229         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
10230         test-select-stdin against $(LIB_SELECT).
10231         * modules/pselect-tests (Makefile.am): Link test-pselect against
10232         $(LIB_SELECT).
10233
10234 2011-09-22  Bruno Haible  <bruno@clisp.org>
10235
10236         select: Avoid compilation error on MSVC.
10237         * lib/select.c: Don't include <stdbool.h>.
10238
10239 2011-09-21  Bruno Haible  <bruno@clisp.org>
10240
10241         Consolidate all uses of PATH_MAX in *.m4 files.
10242         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
10243         macros.
10244         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
10245         and gl_PATHMAX_SNIPPET.
10246         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10247         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10248         * modules/chdir-long (Files): Add m4/pathmax.m4.
10249         * modules/getcwd (Files): Likewise.
10250
10251 2011-09-21  Bruno Haible  <bruno@clisp.org>
10252
10253         ftruncate: Un-deprecate, concentrate on Win32 support.
10254         * modules/ftruncate (Status, Notice): Remove sections.
10255         (Depends-on): Add largefile.
10256         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
10257         non-mingw platforms.
10258         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
10259         include <io.h>.
10260         * modules/perror-tests (Depends-on): Add ftruncate.
10261         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
10262         'ftruncate' module.
10263
10264 2011-09-21  Bruno Haible  <bruno@clisp.org>
10265
10266         Add dependencies to new dirent related modules.
10267         * modules/opendir (Depends-on): Add closedir.
10268         * modules/getcwd (Depends-on): Add opendir, closedir.
10269         * modules/dirent-safer-tests (Depends-on): Likewise.
10270         * modules/fdopendir-tests (Depends-on): Likewise.
10271         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
10272         * modules/renameat-tests (Depends-on): Likewise.
10273
10274 2011-09-21  Bruno Haible  <bruno@clisp.org>
10275
10276         opendir: Avoid compilation error on mingw.
10277         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
10278         * modules/opendir (Depends-on): Add unistd.
10279
10280 2011-09-21  Bruno Haible  <bruno@clisp.org>
10281
10282         ftruncate tests: Avoid a test failure on mingw.
10283         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
10284
10285 2011-09-21  Bruno Haible  <bruno@clisp.org>
10286
10287         select tests: Avoid test failures on OSF/1 5.1 and mingw.
10288         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
10289         native Windows.
10290
10291 2011-09-21  Bruno Haible  <bruno@clisp.org>
10292
10293         New module 'fdopen'.
10294         * lib/stdio.in.h (fdopen): New declaration.
10295         * lib/fdopen.c: New file.
10296         * m4/fdopen.m4: New file.
10297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
10298         REPLACE_FDOPEN.
10299         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
10300         REPLACE_FDOPEN.
10301         * modules/fdopen: New file.
10302         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
10303         * tests/test-stdio-c++.cc: Check signature of fdopen.
10304         * doc/posix-functions/fdopen.texi: Mention the new module.
10305
10306 2011-09-21  Bruno Haible  <bruno@clisp.org>
10307
10308         unlockpt tests: Avoid test failure on NetBSD 5.1.
10309         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
10310         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
10311
10312 2011-09-21  Bruno Haible  <bruno@clisp.org>
10313
10314         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
10315         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
10316         * tests/test-getlogin_r.c (main): Likewise.
10317
10318 2011-09-20  Bruno Haible  <bruno@clisp.org>
10319
10320         time tests: Don't require pid_t.
10321         * doc/posix-headers/time.texi: Revert last change.
10322         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
10323         * tests/test-time.c: Comment out the check for pid_t.
10324
10325 2011-09-20  Bruno Haible  <bruno@clisp.org>
10326
10327         fsync tests: Avoid a test failure on mingw.
10328         * tests/test-fsync.c (main): Allow a failure with EIO.
10329
10330 2011-09-20  Bruno Haible  <bruno@clisp.org>
10331
10332         euidaccess: Update comments.
10333         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
10334
10335 2011-09-20  Bruno Haible  <bruno@clisp.org>
10336
10337         Ensure EBADF returns for socket functions on mingw.
10338         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
10339         descriptor is invalid.
10340         * lib/bind.c (rpl_bind): Likewise.
10341         * lib/connect.c (rpl_connect): Likewise.
10342         * lib/getpeername.c (rpl_getpeername): Likewise.
10343         * lib/getsockname.c (rpl_getsockname): Likewise.
10344         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10345         * lib/listen.c (rpl_listen): Likewise.
10346         * lib/recv.c (rpl_recv): Likewise.
10347         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10348         * lib/send.c (rpl_send): Likewise.
10349         * lib/sendto.c (rpl_sendto): Likewise.
10350         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10351         * lib/shutdown.c (rpl_shutdown): Likewise.
10352
10353 2011-09-20  Bruno Haible  <bruno@clisp.org>
10354
10355         select tests: EBADF tests.
10356         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
10357         test_bad_fd): New functions.
10358         (test_function): Invoke also test_bad_fd.
10359
10360 2011-09-20  Bruno Haible  <bruno@clisp.org>
10361
10362         Tests for module 'posix_spawn_file_actions_addopen.
10363         * modules/posix_spawn_file_actions_addopen-tests: New file.
10364         * tests/test-posix_spawn_file_actions_addopen.c: New file.
10365
10366         Tests for module 'posix_spawn_file_actions_adddup2'.
10367         * modules/posix_spawn_file_actions_adddup2-tests: New file.
10368         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
10369
10370         Tests for module 'posix_spawn_file_actions_addclose'.
10371         * modules/posix_spawn_file_actions_addclose-tests: New file.
10372         * tests/test-posix_spawn_file_actions_addclose.c: New file.
10373
10374 2011-09-20  Bruno Haible  <bruno@clisp.org>
10375
10376         Tests for module 'unlockpt'.
10377         * modules/unlockpt-tests: New file.
10378         * tests/test-unlockpt.c: New file.
10379         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
10380
10381         Tests for module 'grantpt'.
10382         * modules/grantpt-tests: New file.
10383         * tests/test-grantpt.c: New file.
10384         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
10385
10386 2011-09-20  Bruno Haible  <bruno@clisp.org>
10387
10388         freopen tests: EBADF tests.
10389         * tests/test-freopen.c: Include errno.h, unistd.h.
10390         (main): Add tests for EBADF, commented out for the moment.
10391
10392         fclose tests: EBADF tests.
10393         * tests/test-fclose.c (main): Add tests for EBADF.
10394
10395         fflush tests: EBADF tests.
10396         * tests/test-fflush.c: Include errno.h, macros.h.
10397         (main): Add tests for EBADF.
10398
10399         ftello tests: EBADF tests.
10400         * tests/test-ftello4.sh: New file.
10401         * tests/test-ftello4.c: New file.
10402         * modules/ftello-tests (Files): Add them.
10403         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
10404
10405         fseeko tests: EBADF tests.
10406         * tests/test-fseeko4.sh: New file.
10407         * tests/test-fseeko4.c: New file.
10408         * modules/fseeko-tests (Files): Add them.
10409         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
10410
10411         Tests for function fputc().
10412         * modules/fputc-tests: New file.
10413         * tests/test-fputc.c: New file.
10414         * modules/stdio-tests (Depends-on): Add fputc-tests.
10415
10416         Tests for function fgetc().
10417         * modules/fgetc-tests: New file.
10418         * tests/test-fgetc.c: New file.
10419         * modules/stdio-tests (Depends-on): Add fgetc-tests.
10420
10421         Tests for function fdopen().
10422         * modules/fdopen-tests: New file.
10423         * tests/test-fdopen.c: New file.
10424         * modules/stdio-tests (Depends-on): Add fdopen-tests.
10425
10426         Tests for module 'vdprintf'.
10427         * modules/vdprintf-tests: New file.
10428         * tests/test-vdprintf.c: New file.
10429
10430         Tests for module 'dprintf'.
10431         * modules/dprintf-tests: New file.
10432         * tests/test-dprintf.c: New file.
10433
10434 2011-09-20  Bruno Haible  <bruno@clisp.org>
10435
10436         Tests for module 'ioctl'.
10437         * modules/ioctl-tests: New file.
10438         * tests/test-ioctl.c: New file.
10439
10440 2011-09-20  Bruno Haible  <bruno@clisp.org>
10441
10442         fcntl tests: EBADF tests.
10443         * tests/test-fcntl.c (main): Add more tests for EBADF.
10444
10445 2011-09-20  Bruno Haible  <bruno@clisp.org>
10446
10447         utimensat tests: EBADF tests.
10448         * tests/test-utimensat.c (main): Add tests for EBADF.
10449
10450         renameat tests: EBADF tests.
10451         * tests/test-renameat.c (main): Add tests for EBADF.
10452
10453         mkfifoat tests: EBADF tests.
10454         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10455
10456         readlinkat tests: EBADF tests.
10457         * tests/test-readlinkat.c (main): Add tests for EBADF.
10458
10459         symlinkat tests: EBADF tests.
10460         * tests/test-symlinkat.c (main): Add tests for EBADF.
10461
10462         linkat tests: EBADF tests.
10463         * tests/test-linkat.c (main): Add tests for EBADF.
10464
10465         Tests for module 'faccessat'.
10466         * modules/faccessat-tests: New file.
10467         * tests/test-faccessat.c: New file.
10468
10469         fdopendir tests: EBADF tests.
10470         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10471
10472         openat tests: EBADF tests.
10473         * tests/test-fchownat.c (main): Add tests for EBADF.
10474         * tests/test-fstatat.c (main): Likewise.
10475         * tests/test-mkdirat.c (main): Likewise.
10476         * tests/test-openat.c (main): Likewise.
10477         * tests/test-unlinkat.c (main): Likewise.
10478         * tests/test-fchmodat.c: New file.
10479         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10480         (Makefile.am): Also run 'test-fchmodat'.
10481
10482 2011-09-20  Bruno Haible  <bruno@clisp.org>
10483
10484         utimens, futimens, fdutimensat tests: EBADF tests.
10485         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10486
10487         Tests for function fstat().
10488         * modules/fstat-tests: New file.
10489         * tests/test-fstat.c: New file.
10490         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10491
10492 2011-09-20  Bruno Haible  <bruno@clisp.org>
10493
10494         test-ttyname_r tests: EBADF tests.
10495         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10496
10497         Tests for module 'isatty'.
10498         * modules/isatty-tests: New file.
10499         * tests/test-isatty.c: New file.
10500
10501         Tests for module 'write'.
10502         * modules/write-tests: New file.
10503         * tests/test-write.c: New file.
10504
10505         Tests for module 'read'.
10506         * modules/read-tests: New file.
10507         * tests/test-read.c: New file.
10508
10509         pwrite tests: EBADF tests.
10510         * tests/test-pwrite.c (main): Add tests for EBADF.
10511
10512         pread tests: EBADF tests.
10513         * tests/test-pread.c (main): Add tests for EBADF.
10514
10515         lseek tests: EBADF tests.
10516         * tests/test-lseek.c (main): Add more tests for EBADF.
10517
10518         Tests for module 'ftruncate'.
10519         * modules/ftruncate-tests: New file.
10520         * tests/test-ftruncate.sh: New file.
10521         * tests/test-ftruncate.c: New file.
10522
10523         fsync tests: EBADF tests.
10524         * tests/test-fsync.c (main): Add more tests for EBADF.
10525
10526         fdatasync tests: EBADF tests.
10527         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10528
10529         Tests for module 'fchown'.
10530         * modules/fchown-tests: New file.
10531         * tests/test-fchown.c: New file.
10532
10533         Tests for module 'fchmod'.
10534         * modules/fchmod-tests: New file.
10535         * tests/test-fchmod.c: New file.
10536
10537         fchdir tests: EBADF tests.
10538         * tests/test-fchdir.c (main): Add more tests for EBADF.
10539
10540         dup2 tests: EBADF tests.
10541         * tests/test-dup2.c (main): Add more tests for EBADF.
10542
10543         Tests for module 'dup'.
10544         * modules/dup-tests: New file.
10545         * tests/test-dup.c: New file.
10546
10547         Tests for module 'close'.
10548         * modules/close-tests: New file.
10549         * tests/test-close.c: New file.
10550
10551 2011-09-20  Bruno Haible  <bruno@clisp.org>
10552
10553         Tests for module 'shutdown'.
10554         * modules/shutdown-tests: New file.
10555         * tests/test-shutdown.c: New file.
10556
10557         Tests for module 'setsockopt'.
10558         * modules/setsockopt-tests: New file.
10559         * tests/test-setsockopt.c: New file.
10560
10561         Tests for module 'sendto'.
10562         * modules/sendto-tests: New file.
10563         * tests/test-sendto.c: New file.
10564
10565         Tests for module 'send'.
10566         * modules/send-tests: New file.
10567         * tests/test-send.c: New file.
10568
10569         Tests for module 'recvfrom'.
10570         * modules/recvfrom-tests: New file.
10571         * tests/test-recvfrom.c: New file.
10572
10573         Tests for module 'recv'.
10574         * modules/recv-tests: New file.
10575         * tests/test-recv.c: New file.
10576
10577         Tests for module 'listen'.
10578         * modules/listen-tests: New file.
10579         * tests/test-listen.c: New file.
10580
10581         Tests for module 'getsockopt'.
10582         * modules/getsockopt-tests: New file.
10583         * tests/test-getsockopt.c: New file.
10584
10585         Tests for module 'getsockname'.
10586         * modules/getsockname-tests: New file.
10587         * tests/test-getsockname.c: New file.
10588
10589         Tests for module 'getpeername'.
10590         * modules/getpeername-tests: New file.
10591         * tests/test-getpeername.c: New file.
10592
10593         Tests for module 'connect'.
10594         * modules/connect-tests: New file.
10595         * tests/test-connect.c: New file.
10596
10597         Tests for module 'bind'.
10598         * modules/bind-tests: New file.
10599         * tests/test-bind.c: New file.
10600
10601         accept4 tests: Fix for native Windows.
10602         * tests/test-accept4.c: Include sockets.h.
10603         (main): Invoke gl_sockets_startup.
10604         * modules/accept4-tests (Depends-on): Add sockets.
10605
10606         accept tests: Fix for native Windows.
10607         * tests/test-accept.c: Include sockets.h.
10608         (main): Invoke gl_sockets_startup.
10609         * modules/accept-tests (Depends-on): Add sockets.
10610
10611 2011-09-19  Bruno Haible  <bruno@clisp.org>
10612
10613         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
10614         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
10615         do...while(0).
10616         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
10617         Suggested by Paul Eggert.
10618
10619 2011-09-19  Bruno Haible  <bruno@clisp.org>
10620
10621         sched: Ensure pid_t is defined.
10622         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
10623         not define pid_t.
10624         * lib/sched.in.h: Include <sys/types.h>.
10625         * doc/posix-headers/sched.texi: Mention the pid_t problem.
10626         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10627
10628 2011-09-19  Bruno Haible  <bruno@clisp.org>
10629
10630         msvc-inval: Ensure the entire expansion is a single statement.
10631         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
10632         of braces.
10633
10634 2011-09-19  Jim Meyering  <meyering@redhat.com>
10635
10636         tests: use printf, not echo in init.sh's warn_ function
10637         * tests/init.sh (warn_): Use printf, not echo.  The latter would
10638         misbehave when given strings containing a backslash or starting
10639         with e.g., -n.  James Youngman suggested setting IFS.
10640
10641 2011-09-19  Eric Blake  <eblake@redhat.com>
10642
10643         futimens: enhance test
10644         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10645         closed non-negative fd.
10646
10647         date: accept 'hence' as opposite of 'ago'
10648         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10649         * tests/test-parse-datetime.c (main): Enhance test.
10650         Suggested by Jesse Wilson.
10651
10652 2011-09-19  Jim Meyering  <meyering@redhat.com>
10653
10654         getcwd: don't fail in a deep directory on a system without openat
10655         Before this change, getcwd would fail when called from a directory
10656         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10657         the non-openat implementation used "..", "../..", "../../..", etc.
10658         to access ancestor directories.  With too many, that string would
10659         be longer than PATH_MAX.
10660         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10661         using gnulib's openat replacement.
10662         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
10663         we're using the replacement function.
10664
10665 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
10666
10667         maint.mk: avoid warnings from perl about missing files
10668         * top/maint.mk (def_sym_regex): Ignore files listed in
10669         $(gl_other_headers_) that do not exist, say because a project
10670         does not use a corresponding module.
10671
10672 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10673
10674         stat: use pathmax.h only if needed
10675         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
10676         This is better for Emacs, which does not have a mingw port and
10677         therefore can avoid the pathmax module.
10678
10679         utimens: remove dependency on dup2
10680         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
10681         to work around the Linux kernel bug.
10682         * modules/utimens (Depends-on): Remove dup2.
10683
10684 2011-09-18  Bruno Haible  <bruno@clisp.org>
10685
10686         inet_ntop, inet_pton: Look for it also in libresolv.
10687         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
10688         libnsl, search for it in libresolv.
10689         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10690         Needed on Solaris 7.
10691
10692 2011-09-18  Bruno Haible  <bruno@clisp.org>
10693
10694         accept, accept4 tests: Avoid link error on Solaris.
10695         * modules/accept-tests (Makefile.am): Link test-accept against
10696         $(LIBSOCKET).
10697         * modules/accept4-tests (Makefile.am): Link test-accept4 against
10698         $(LIBSOCKET).
10699
10700         accept4: Avoid link error on Solaris.
10701         * modules/accept4 (Link): New section.
10702
10703         socket functions: Avoid link errors on Solaris.
10704         * modules/accept (Depends-on): Add socketlib.
10705         (Link): New section.
10706         * modules/bind (Depends-on): Add socketlib.
10707         (Link): New section.
10708         * modules/connect (Depends-on): Add socketlib.
10709         (Link): New section.
10710         * modules/getpeername (Depends-on): Add socketlib.
10711         (Link): New section.
10712         * modules/getsockname (Depends-on): Add socketlib.
10713         (Link): New section.
10714         * modules/getsockopt (Depends-on): Add socketlib.
10715         (Link): New section.
10716         * modules/listen (Depends-on): Add socketlib.
10717         (Link): New section.
10718         * modules/recv (Depends-on): Add socketlib.
10719         (Link): New section.
10720         * modules/recvfrom (Depends-on): Add socketlib.
10721         (Link): New section.
10722         * modules/send (Depends-on): Add socketlib.
10723         (Link): New section.
10724         * modules/sendto (Depends-on): Add socketlib.
10725         (Link): New section.
10726         * modules/setsockopt (Depends-on): Add socketlib.
10727         (Link): New section.
10728         * modules/shutdown (Depends-on): Add socketlib.
10729         (Link): New section.
10730         * modules/socket (Depends-on): Add socketlib.
10731         (Link): New section.
10732
10733 2011-09-18  Bruno Haible  <bruno@clisp.org>
10734
10735         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
10736         * tests/test-ptsname.c (main): Terminate the test if it takes longer
10737         than 5 seconds.
10738         * modules/ptsname-tests (configure.ac): Test for alarm.
10739
10740 2011-09-18  Bruno Haible  <bruno@clisp.org>
10741
10742         posix_spawn_file_actions_add*: Fix module dependencies.
10743         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
10744         posix_spawn_file_actions_init.
10745         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
10746         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
10747
10748 2011-09-18  Bruno Haible  <bruno@clisp.org>
10749
10750         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
10751         * tests/test-rename.h (test_rename): Allow error code EEXIST.
10752         * tests/test-renameat.c (main): Likewise.
10753
10754 2011-09-18  Bruno Haible  <bruno@clisp.org>
10755
10756         Tests for module 'accept4'.
10757         * modules/accept4-tests: New file.
10758         * tests/test-accept4.c: New file.
10759
10760 2011-09-18  Bruno Haible  <bruno@clisp.org>
10761
10762         Tests for module 'accept'.
10763         * modules/accept-tests: New file.
10764         * tests/test-accept.c: New file.
10765
10766 2011-09-18  Bruno Haible  <bruno@clisp.org>
10767
10768         dup2: Support for MSVC.
10769         * lib/dup2.c: Include msvc-inval.h.
10770         (rpl_dup2): Handle invalid parameter notifications during dup2 and
10771         _get_osfhandle calls.
10772         * modules/dup2 (Depends-on): Add msvc-inval.
10773         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
10774
10775         New module 'msvc-inval'.
10776         * lib/msvc-inval.h: New file.
10777         * lib/msvc-inval.c: New file.
10778         * m4/msvc-inval.m4: New file.
10779         * modules/msvc-inval: New file.
10780
10781 2011-09-17  Bruno Haible  <bruno@clisp.org>
10782
10783         Tests for module 'pclose'.
10784         * modules/pclose-tests: New file.
10785
10786         New module 'pclose'.
10787         * lib/stdio.in.h (pclose): New declaration.
10788         * lib/pclose.c: New file.
10789         * m4/pclose.m4: New file.
10790         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
10791         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
10792         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
10793         * modules/pclose: New file.
10794         * modules/popen-tests (Depends-on): Add pclose.
10795         * modules/popen-safer-tests (Depends-on): Likewise.
10796         * doc/posix-functions/pclose.texi: Mention the new module.
10797
10798 2011-09-17  Bruno Haible  <bruno@clisp.org>
10799
10800         popen: Support for MSVC.
10801         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
10802         * lib/popen.c (popen): Provide alternate definition for native Windows.
10803         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
10804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
10805         * modules/popen (Depends-on, configure.ac): Update condition.
10806         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10807         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
10808         fixed.
10809
10810 2011-09-17  Bruno Haible  <bruno@clisp.org>
10811
10812         isnanl, isnand, isnanf: Work around MSVC bug.
10813         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
10814
10815 2011-09-17  Bruno Haible  <bruno@clisp.org>
10816
10817         sys_socket tests: Fix recent mistake.
10818         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
10819
10820 2011-09-17  Bruno Haible  <bruno@clisp.org>
10821
10822         putenv: Support for MSVC.
10823         * modules/putenv (Depends-on): Add environ.
10824         * lib/putenv.c (environ): Disable declaration.
10825         * lib/unistd.in.h: Update comment.
10826
10827 2011-09-17  Bruno Haible  <bruno@clisp.org>
10828
10829         math: Avoid macro redefinition warnings on MSVC.
10830         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
10831         Undefine before redefining.
10832
10833 2011-09-17  Bruno Haible  <bruno@clisp.org>
10834
10835         doc: Mention functions which are declared as macros.
10836         * doc/posix-functions/*[fl].texi: Mention that some functions are
10837         defined as macros with arguments only.
10838
10839 2011-09-17  Bruno Haible  <bruno@clisp.org>
10840
10841         Add dependencies to new dirent related modules.
10842         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
10843         * modules/fts (Depends-on): Likewise.
10844         * modules/glob (Depends-on): Likewise.
10845         * modules/savedir (Depends-on): Likewise.
10846         * modules/scandir (Depends-on): Likewise.
10847         * modules/dirent-safer (Depends-on): Add opendir, closedir.
10848         * modules/fdopendir (Depends-on): Add opendir.
10849
10850 2011-09-17  Bruno Haible  <bruno@clisp.org>
10851
10852         inet_pton: Support for MSVC on Windows Vista or newer.
10853         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
10854         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
10855         HAVE_DECL_INET_PTON is defined.
10856         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10857         On platforms with <winsock2.h>, test whether inet_pton is declared in
10858         <ws2tcpip.h>. If so, arrange to replace it.
10859         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10860         REPLACE_INET_PTON.
10861         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
10862         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
10863         (Depends-on, configure.ac): Update condition.
10864         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
10865
10866 2011-09-17  Bruno Haible  <bruno@clisp.org>
10867
10868         inet_ntop: Support for MSVC on Windows Vista or newer.
10869         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
10870         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
10871         HAVE_DECL_INET_NTOP is defined.
10872         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10873         On platforms with <winsock2.h>, test whether inet_ntop is declared in
10874         <ws2tcpip.h>. If so, arrange to replace it.
10875         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10876         REPLACE_INET_NTOP.
10877         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
10878         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
10879         (Depends-on, configure.ac): Update condition.
10880         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
10881
10882 2011-09-16  Eric Blake  <eblake@redhat.com>
10883
10884         test-fsync: yet another enhancement
10885         * tests/test-fsync.c (main): Also test behavior on read-only text
10886         file.
10887
10888 2011-09-16  Bruno Haible  <bruno@clisp.org>
10889
10890         Enhance fsync, fdatasync tests.
10891         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
10892         * tests/test-fdatasync.c (main): Likewise.
10893
10894 2011-09-16  Bruno Haible  <bruno@clisp.org>
10895
10896         Support for MSVC compiler: Ensure mode_t gets defined.
10897         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
10898         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10899         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10900         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
10901         * tests/test-fcntl-h.c: Check that mode_t is defined.
10902         * tests/test-sys_stat.c: Likewise.
10903         * tests/test-sys_types.c: Likewise.
10904         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
10905         * doc/posix-headers/sys_stat.texi: Likewise.
10906         * doc/posix-headers/sys_types.texi: Likewise.
10907
10908 2011-09-16  Bruno Haible  <bruno@clisp.org>
10909
10910         sys_stat: Support for MSVC.
10911         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
10912         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
10913         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
10914         MSVC.
10915
10916 2011-09-16  Bruno Haible  <bruno@clisp.org>
10917
10918         Support for MSVC compiler: Ensure off_t gets defined.
10919         * lib/unistd.in.h: Include <sys/types.h>.
10920         * tests/test-fcntl-h.c: Check that off_t is defined.
10921         * tests/test-sys_stat.c: Likewise.
10922         * tests/test-sys_types.c: Likewise.
10923
10924 2011-09-16  Eric Blake  <eblake@redhat.com>
10925
10926         fdatasync: port to Solaris
10927         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
10928         * modules/fdatasync (Link): Document it.
10929         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
10930
10931         fdatasync: port to MacOS X 10.7
10932         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
10933         declared.
10934         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
10935         * modules/unistd (Makefile.am): Substitute it.
10936         * lib/unistd.in.h (fdatasync): Declare on MacOS.
10937         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
10938
10939         fdatasync: minor improvements
10940         * modules/fdatasync (Depends-on): Add condition for fsync.
10941         * lib/fdatasync.c (fdatasync): Add comment.
10942         * tests/test-unistd-c++.cc: Test fdatasync.
10943
10944         unistd: update refs to newer POSIX
10945         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
10946         Suggested by Bruno Haible.
10947
10948         fdatasync: new module
10949         * modules/fsync (Description): Document difference to fdatasync.
10950         * modules/fdatasync: New module.
10951         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
10952         * lib/fdatasync.c (fdatasync): Likewise.
10953         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
10954         defaults.
10955         * modules/unistd (Makefile.am): Set witnesses.
10956         * lib/unistd.in.h (fdatasync): Declare.
10957         * MODULES.html.sh: Document it.
10958         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
10959         * modules/fdatasync-tests: New test.
10960         * tests/test-fdatasync.c: Likewise.
10961
10962 2011-09-16  Eric Blake  <eblake@redhat.com>
10963
10964         test-fsync: enhance tests
10965         * modules/fsync-tests (Depends-on): Add errno, for mingw.
10966         * tests/test-fsync.c (main): Enhance test.
10967
10968 2011-09-15  Bruno Haible  <bruno@clisp.org>
10969
10970         Support for MSVC compiler: Ensure ssize_t gets defined.
10971         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
10972         * doc/posix-headers/stdio.texi: Likewise.
10973         * modules/stdio (Depends-on): Add ssize_t.
10974         * modules/sys_socket (Depends-on): Likewise.
10975         * modules/sys_types (Depends-on): Likewise.
10976         * modules/sys_uio (Depends-on): Likewise.
10977         * modules/unistd (Depends-on): Likewise.
10978         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
10979         * tests/test-sys_types.c: Check that ssize_t is defined.
10980
10981 2011-09-14  Bruno Haible  <bruno@clisp.org>
10982
10983         Avoid using #, the m4 comment starter character, near brackets.
10984         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
10985         delimiter character in sed expressions.
10986         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10987         Suggested by Eric Blake.
10988
10989         Properly quote AC_CHECK_DECLS' 4th argument.
10990         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
10991         argument.
10992         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10993         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10994         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10995         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10996         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10997         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
10998         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
10999         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
11000         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
11001         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11002         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
11003         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11004         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11005         * m4/isinf.m4 (gl_ISINF): Likewise.
11006         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11007         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11008         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11009         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11010         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11011         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11012         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11013         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11014         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11015         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11016         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11017         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11018         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11019         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11020         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11021         Reported by Eric Blake.
11022
11023         Properly quote AC_CHECK_DECL's 4th argument.
11024         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11025         argument.
11026         * m4/argp.m4 (gl_ARGP): Likewise.
11027         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11028         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11029         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11030         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11031         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11032         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11033         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11034         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11035         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11036         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11037         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11038         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11039         Reported by Eric Blake.
11040
11041 2011-09-14  Eric Blake  <eblake@redhat.com>
11042
11043         opendir: avoid compile warning
11044         * lib/opendir.c (includes): Always include errno.h.
11045         Reported by Tatsuro MATSUOKA.
11046
11047 2011-09-14  Jim Meyering  <meyering@redhat.com>
11048
11049         maint.mk: sc_tight_scope: propagate failure from sub-make
11050         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11051         Reported by Martin von Gagern.
11052
11053 2011-09-13  Bruno Haible  <bruno@clisp.org>
11054
11055         tempname: Support for MSVC.
11056         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11057         MSVC.
11058         * modules/tempname (Depends-on): Add fcntl-h.
11059
11060 2011-09-13  Bruno Haible  <bruno@clisp.org>
11061
11062         sys_time: Support for MSVC.
11063         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
11064         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
11065         include <winsock2.h>.
11066         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
11067         function declarations that collide with POSIX.
11068         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
11069         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11070
11071 2011-09-13  Bruno Haible  <bruno@clisp.org>
11072
11073         stat: Support for MSVC.
11074         * lib/stat.c: Include pathmax.h.
11075         * modules/stat (Depends-on): Add pathmax.
11076
11077         pathmax: Support for native Windows.
11078         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
11079
11080 2011-09-12  Bruno Haible  <bruno@clisp.org>
11081
11082         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
11083         * lib/dirent.in.h (struct dirent): New type.
11084         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
11085         DT_WHT): New macros.
11086         (DIR): New type.
11087         (opendir, closedir): Declare only if the module 'opendir' is enabled.
11088         (readdir, rewinddir): New declarations.
11089         * lib/dirent-private.h: New file.
11090         * lib/opendir.c: New file.
11091         * lib/readdir.c: New file.
11092         * lib/rewinddir.c: New file.
11093         * lib/closedir.c: New file.
11094         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
11095         * m4/opendir.m4: New file.
11096         * m4/readdir.m4: New file.
11097         * m4/rewinddir.m4: New file.
11098         * m4/closedir.m4: New file.
11099         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
11100         REPLACE_CLOSEDIR here.
11101         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
11102         readdir, rewinddir are declared.
11103         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
11104         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
11105         HAVE_REWINDDIR, HAVE_CLOSEDIR.
11106         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
11107         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
11108         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
11109         * modules/opendir: New file.
11110         * modules/readdir: New file.
11111         * modules/rewinddir: New file.
11112         * modules/closedir: New file.
11113         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
11114         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
11115         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
11116         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
11117         * NEWS: Mention the 'fchdir' change.
11118
11119 2011-09-11  Bruno Haible  <bruno@clisp.org>
11120
11121         asm-underscore.m4: Support for MSVC.
11122         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
11123         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
11124
11125 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
11126
11127         Doc about crypt functions.
11128         * doc/posix-functions/crypt.texi: Expand range of glibc versions
11129         needing for _GNU_SOURCE to get crypt.
11130         * doc/posix-functions/encrypt.texi: Likewise.
11131         * doc/posix-functions/setkey.texi: Likewise.
11132
11133 2011-09-11  Bruno Haible  <bruno@clisp.org>
11134
11135         doc: Update regarding MSVC 9.
11136         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
11137         tested".
11138         * doc/posix-functions/*.texi: Update with info about MSVC 9.
11139         * doc/posix-headers/*.texi: Likewise.
11140         * doc/pastposix-functions/*.texi: Likewise.
11141         * doc/glibc-functions/*.texi: Likewise.
11142         * doc/glibc-headers/*.texi: Likewise.
11143
11144 2011-09-11  Bruno Haible  <bruno@clisp.org>
11145
11146         unistd et al.: Don't assume <unistd.h> exists.
11147         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
11148         does not exist.
11149         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
11150         exist. But include <stdlib.h>.
11151         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
11152         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
11153         symlink() does not exist.
11154         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
11155         include <io.h> instead.
11156         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
11157         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
11158         include <direct.h> instead.
11159         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11160         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11161         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
11162         <io.h> instead.
11163         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
11164         correctly if the system does not have hard links.
11165         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
11166         <direct.h> instead.
11167         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
11168         it when looking for function declarations.
11169         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
11170         <direct.h> and <io.h> instead.
11171         * doc/posix-headers/unistd.texi: More details about MSVC problem.
11172
11173 2011-09-11  Bruno Haible  <bruno@clisp.org>
11174
11175         strcase: Support for MSVC.
11176         * modules/strcase (Status, Notice): Remove obsoletion mark.
11177         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
11178         * doc/posix-functions/strncasecmp.texi: Likewise.
11179
11180         strings: Don't assume <strings.h> exists.
11181         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
11182         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
11183         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
11184         * doc/posix-headers/strings.texi: Mention the MSVC problem.
11185
11186 2011-09-11  Bruno Haible  <bruno@clisp.org>
11187
11188         dirent: Don't assume <dirent.h> exists.
11189         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
11190         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
11191         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
11192         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
11193
11194 2011-09-11  Bruno Haible  <bruno@clisp.org>
11195
11196         Fix wint_t on MSVC.
11197         * lib/wchar.in.h (wint_t): On MSVC, override it.
11198         * lib/wctype.in.h (wint_t): Likewise.
11199         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
11200         MSVC.
11201         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
11202         * doc/posix-headers/wctype.texi: Likewise.
11203
11204 2011-09-11  Bruno Haible  <bruno@clisp.org>
11205
11206         sys_types: Fix typo.
11207         * lib/sys_types.in.h: Fix typo in comment.
11208         Reported by Paul Eggert.
11209
11210         Support for MSVC compiler: Ensure size_t gets defined.
11211         * modules/strings (Depends-on): Add 'sys_types'.
11212         * modules/sys_uio (Depends-on): Likewise.
11213         * lib/sys_uio.in.h: Update comment.
11214
11215         C++ tests for module 'sys_types'.
11216         * modules/sys_types-c++-tests: New file.
11217         * tests/test-sys_types-c++.cc: New file.
11218
11219         Tests for module 'sys_types'.
11220         * modules/sys_types-tests: New file.
11221         * tests/test-sys_types.c: New file.
11222
11223         New module 'sys_types'.
11224         * lib/sys_types.in.h: New file.
11225         * m4/sys_types_h.m4: New file.
11226         * modules/sys_types: New file.
11227         * doc/posix-headers/sys_types.texi: Mention the new module and the
11228         size_t problem on MSVC 9.
11229
11230 2011-09-11  Bruno Haible  <bruno@clisp.org>
11231
11232         Support for MSVC compiler: Avoid division by a literal 0.
11233         * lib/math.in.h (NAN): Define through a function call also on MSVC.
11234         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
11235         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
11236         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
11237         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
11238         * tests/infinity.h: New file.
11239         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
11240         on MSVC.
11241         * tests/test-ceilf1.c: Include infinity.h.
11242         (main): Use Infinityf.
11243         * tests/test-ceil1.c: Include infinity.h.
11244         (main): Use Infinityd.
11245         * tests/test-ceill.c: Include infinity.h.
11246         (main): Use Infinityl.
11247         * tests/test-dprintf-posix.c: Include infinity.h.
11248         (test_function): Use Infinityd.
11249         * tests/test-floorf1.c: Include infinity.h.
11250         (main): Use Infinityf.
11251         * tests/test-floor1.c: Include infinity.h.
11252         (main): Use Infinityd.
11253         * tests/test-floorl.c: Include infinity.h.
11254         (main): Use Infinityl.
11255         * tests/test-fprintf-posix.c: Include infinity.h.
11256         (test_function): Use Infinityd.
11257         * tests/test-frexp.c: Include infinity.h.
11258         (main): Use Infinityd.
11259         * tests/test-frexpl.c: Include infinity.h.
11260         (main): Use Infinityl.
11261         * tests/test-isfinite.c: Include infinity.h.
11262         (test_isfinitef): Use Infinityf.
11263         (test_isfinited): Use Infinityd.
11264         (test_isfinitel): Use Infinityl.
11265         * tests/test-isinf.c: Include infinity.h.
11266         (test_isinff): Use Infinityf.
11267         (test_isinfd): Use Infinityd.
11268         (test_isinfl): Use Infinityl.
11269         * tests/test-isnan.c: Include infinity.h.
11270         (test_float): Use Infinityf.
11271         (test_double): Use Infinityd.
11272         (test_long_double): Use Infinityl.
11273         * tests/test-isnanf.h: Include infinity.h.
11274         (main): Use Infinityf.
11275         * tests/test-isnand.h: Include infinity.h.
11276         (main): Use Infinityd.
11277         * tests/test-isnanl.h: Include infinity.h.
11278         (main): Use Infinityl.
11279         * tests/test-ldexpl.c: Include infinity.h.
11280         (main): Use Infinityl.
11281         * tests/test-printf-posix.h: Include infinity.h.
11282         (test_function): Use Infinityd.
11283         * tests/test-roundf1.c: Include infinity.h.
11284         (main): Use Infinityf.
11285         * tests/test-round1.c: Include infinity.h.
11286         (main): Use Infinityd.
11287         * tests/test-roundl.c: Include infinity.h.
11288         (main): Use Infinityl.
11289         * tests/test-signbit.c: Include infinity.h.
11290         (test_signbitf): Use Infinityf.
11291         (test_signbitd): Use Infinityd.
11292         (test_signbitl): Use Infinityl.
11293         * tests/test-snprintf-posix.h: Include infinity.h.
11294         (test_function): Use Infinityd, Infinityl.
11295         * tests/test-sprintf-posix.h: Include infinity.h.
11296         (test_function): Use Infinityd, Infinityl.
11297         * tests/test-truncf1.c: Include infinity.h.
11298         (main): Use Infinityf.
11299         * tests/test-trunc1.c: Include infinity.h.
11300         (main): Use Infinityd.
11301         * tests/test-truncl.c: Include infinity.h.
11302         (main): Use Infinityl.
11303         * tests/test-vasnprintf-posix.c: Include infinity.h.
11304         (test_function): Use Infinityd, Infinityl.
11305         * tests/test-vasprintf-posix.c: Include infinity.h.
11306         (test_function): Use Infinityd, Infinityl.
11307         * modules/ceilf-tests (Files): Add tests/infinity.h.
11308         * modules/ceil-tests (Files): Likewise.
11309         * modules/ceill-tests (Files): Likewise.
11310         * modules/dprintf-posix-tests (Files): Likewise.
11311         * modules/floorf-tests (Files): Likewise.
11312         * modules/floor-tests (Files): Likewise.
11313         * modules/floorl-tests (Files): Likewise.
11314         * modules/fprintf-posix-tests (Files): Likewise.
11315         * modules/frexp-tests (Files): Likewise.
11316         * modules/frexp-nolibm-tests (Files): Likewise.
11317         * modules/frexpl-tests (Files): Likewise.
11318         * modules/frexpl-nolibm-tests (Files): Likewise.
11319         * modules/isfinite-tests (Files): Likewise.
11320         * modules/isinf-tests (Files): Likewise.
11321         * modules/isnan-tests (Files): Likewise.
11322         * modules/isnanf-tests (Files): Likewise.
11323         * modules/isnanf-nolibm-tests (Files): Likewise.
11324         * modules/isnand-tests (Files): Likewise.
11325         * modules/isnand-nolibm-tests (Files): Likewise.
11326         * modules/isnanl-tests (Files): Likewise.
11327         * modules/isnanl-nolibm-tests (Files): Likewise.
11328         * modules/ldexpl-tests (Files): Likewise.
11329         * modules/printf-posix-tests (Files): Likewise.
11330         * modules/roundf-tests (Files): Likewise.
11331         * modules/round-tests (Files): Likewise.
11332         * modules/roundl-tests (Files): Likewise.
11333         * modules/signbit-tests (Files): Likewise.
11334         * modules/snprintf-posix-tests (Files): Likewise.
11335         * modules/sprintf-posix-tests (Files): Likewise.
11336         * modules/truncf-tests (Files): Likewise.
11337         * modules/trunc-tests (Files): Likewise.
11338         * modules/truncl-tests (Files): Likewise.
11339         * modules/vasnprintf-posix-tests (Files): Likewise.
11340         * modules/vasprintf-posix-tests (Files): Likewise.
11341         * modules/vdprintf-posix-tests (Files): Likewise.
11342         * modules/vfprintf-posix-tests (Files): Likewise.
11343         * modules/vprintf-posix-tests (Files): Likewise.
11344         * modules/vsnprintf-posix-tests (Files): Likewise.
11345         * modules/vsprintf-posix-tests (Files): Likewise.
11346         * modules/xprintf-posix-tests (Files): Likewise.
11347
11348 2011-09-11  Bruno Haible  <bruno@clisp.org>
11349
11350         Ensure pid_t gets defined.
11351         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
11352         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11353         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11354         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11355         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11356         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11357         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
11358         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11359         * tests/test-fcntl-h.c: Check that pid_t is defined.
11360         * tests/test-sched.c: Likewise.
11361         * tests/test-termios.c: Likewise.
11362         * tests/test-time.c: Likewise.
11363         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
11364         * doc/posix-headers/signal.texi: Likewise.
11365         * doc/posix-headers/sys_types.texi: Likewise.
11366         * doc/posix-headers/time.texi: Likewise.
11367
11368 2011-09-11  Bruno Haible  <bruno@clisp.org>
11369
11370         acl: Fix compilation on Solaris 10 (older version).
11371         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
11372         of ACE_EVERYONE.
11373         * lib/set-mode-acl.c (qset_acl): Likewise.
11374         Reported by Christian Jullien <eligis@orange.fr>.
11375
11376 2011-09-10  Bruno Haible  <bruno@clisp.org>
11377
11378         iconv, unsetenv: Add support for MSVC compiler.
11379         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
11380         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
11381
11382 2011-09-10  Bruno Haible  <bruno@clisp.org>
11383
11384         *printf: Add support for MSVC compiler.
11385         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
11386         handles the exception caused by the %n directive. When cross-compiling,
11387         guess no on native Windows.
11388         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11389         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
11390         emulate it through vsnprintf.
11391         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
11392         * doc/posix-functions/dprintf.texi: Update documentation regarding
11393         MSVC 9.
11394         * doc/posix-functions/fprintf.texi: Likewise.
11395         * doc/posix-functions/printf.texi: Likewise.
11396         * doc/posix-functions/snprintf.texi: Likewise.
11397         * doc/posix-functions/sprintf.texi: Likewise.
11398         * doc/posix-functions/swprintf.texi: Likewise.
11399         * doc/posix-functions/vdprintf.texi: Likewise.
11400         * doc/posix-functions/vfprintf.texi: Likewise.
11401         * doc/posix-functions/vprintf.texi: Likewise.
11402         * doc/posix-functions/vsnprintf.texi: Likewise.
11403         * doc/posix-functions/vsprintf.texi: Likewise.
11404         * doc/glibc-functions/asprintf.texi: Likewise.
11405         * doc/glibc-functions/obstack_printf.texi: Likewise.
11406         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11407         * doc/glibc-functions/vasprintf.texi: Likewise.
11408
11409 2011-09-10  Bruno Haible  <bruno@clisp.org>
11410
11411         nocrash: Add support for native Windows.
11412         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
11413
11414 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
11415             Bruno Haible  <bruno@clisp.org>
11416
11417         absolute-header, include-next: Add support for MSVC compiler.
11418         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
11419         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
11420         directory separator in #line directives.
11421         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
11422         recognize also backslash as directory separator in #line directives.
11423
11424 2011-09-08  Jim Meyering  <meyering@redhat.com>
11425
11426         maint.mk: mark the post-release commit log with "maint: " prefix
11427         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
11428         one-line commit-log summary.
11429
11430 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11431             Bruno Haible  <bruno@clisp.org>
11432
11433         Doc about crypt functions.
11434         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11435         systems.
11436         * doc/posix-functions/encrypt.texi: Likewise.
11437         * doc/posix-functions/setkey.texi: Likewise.
11438
11439 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11440
11441         * lib/gc.h: Fix copyright header.
11442
11443 2011-09-07  Bruno Haible  <bruno@clisp.org>
11444
11445         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11446         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11447         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11448
11449 2011-09-07  Bruno Haible  <bruno@clisp.org>
11450
11451         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11452         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11453         * lib/freopen.c: Likewise.
11454         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11455         * lib/lstat.c: Likewise.
11456         * lib/stat.c: Likewise.
11457         * lib/open.c: Use different syntax for include of <fcntl.h>.
11458         * lib/openat.c: Include fcntl.h again, explicitly.
11459
11460 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11461
11462         parse-datetime: document the newly accepted format
11463         * doc/parse-datetime.texi (Combined date and time of day items):
11464         New section.
11465
11466 2011-09-06  Bruno Haible  <bruno@clisp.org>
11467
11468         acl: Fix a test failure on newer Solaris 10 with ZFS.
11469         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11470         ENOSYS as no ACL.
11471         Reported by Jim Meyering.
11472
11473 2011-09-06  Bruno Haible  <bruno@clisp.org>
11474
11475         acl: Update for AIX >= 5.3 with NFS.
11476         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11477         ENOSYS as no ACL.
11478
11479         acl: Fix a test failure on AIX >= 5.3 with NFS.
11480         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11481         as no ACL.
11482
11483 2011-09-06  Bruno Haible  <bruno@clisp.org>
11484
11485         acl: Fix a test failure on IRIX 6.5 with NFS.
11486         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11487         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11488         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11489         * lib/copy-acl.c (qcopy_acl): Likewise.
11490
11491 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11492
11493         openat: port to AIX 7.1 with large files
11494         AIX 7.1 does a "#define openat open64at" if large files are in use,
11495         so we can't simply #undef openat.  Use the orig_openat trick (similar
11496         to orig_open in lib/open.c) to work around the problem.  Problem
11497         reported by Kevin Brott for GNU tar, in the thread containing
11498         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11499         * lib/openat.c (__need_system_fcntl_h): Define first.
11500         Include <fcntl.h> and <sys/types.h> before undefining.
11501         (orig_openat) [HAVE_OPENAT]: New inline function.
11502         (openat) [HAVE_OPENAT]: Do not undef.
11503         (rpl_openat): Use orig_openat, not openat.
11504
11505 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11506             Bruno Haible  <bruno@clisp.org>
11507
11508         acl: Avoid errors on NonStop Kernel.
11509         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11510         ENOTSUP errors.
11511
11512 2011-09-05  Bruno Haible  <bruno@clisp.org>
11513
11514         acl: Clean up Solaris code.
11515         * lib/acl-internal.h: Remove no-op #if.
11516         * lib/file-has-acl.c: Likewise.
11517         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11518         * lib/copy-acl.c (qcopy_acl): Likewise.
11519
11520 2011-09-05  Bruno Haible  <bruno@clisp.org>
11521
11522         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11523         binaries built on the original Solaris 10.
11524         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11525         trivial.
11526
11527 2011-09-05  Bruno Haible  <bruno@clisp.org>
11528
11529         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11530         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11531         10.
11532         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11533         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11534         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11535         instead of acl_get, facl_get, acl_set, facl_set.
11536
11537 2011-09-05  Bruno Haible  <bruno@clisp.org>
11538
11539         copy-file: Try unit tests on more file systems.
11540         * tests/test-copy-file-1.sh: New file.
11541         * tests/test-copy-file-2.sh: New file.
11542         * modules/copy-file-tests (Files): Add them.
11543         (Makefile.am): Add them to TESTS.
11544
11545         acl: Try unit tests on more file systems.
11546         * tests/test-file-has-acl-1.sh: New file.
11547         * tests/test-file-has-acl-2.sh: New file.
11548         * tests/test-set-mode-acl-1.sh: New file.
11549         * tests/test-set-mode-acl-2.sh: New file.
11550         * tests/test-copy-acl-1.sh: New file.
11551         * tests/test-copy-acl-2.sh: New file.
11552         * modules/acl-tests (Files): Add them.
11553         (Makefile.am): Add them to TESTS.
11554
11555 2011-09-04  Bruno Haible  <bruno@clisp.org>
11556
11557         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11558         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11559         10.
11560         (OLD_ALLOW, OLD_DENY): New macros.
11561         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11562         ACE_ACCESS_ALLOWED_ACE_TYPE.
11563         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11564         ACE_ACCESS_DENIED_ACE_TYPE.
11565         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11566         (NEW_ACE_EXECUTE): Fix value.
11567         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11568         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11569         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11570         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11571         NEW_ACE_SYNCHRONIZE): New macros.
11572         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11573         instead of acl_fromtext, acl_set, facl_set.
11574         Fixes a coreutils/tests/cp/perm failure.
11575
11576 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11577
11578         openat: test for fstatat (..., 0) bug
11579         Further testing with tar suggests that fstatat (..., 0)
11580         does not work in general, on AIX 7.1; see
11581         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11582         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11583         replacement fstatat (which is what older AIX releases were using
11584         anyway).
11585         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11586         use is now changed to orig_fstatat.  This was probably the right
11587         thing to do anyway.
11588         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11589         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11590         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11591         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11592         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11593         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11594         if the bug is found.
11595
11596         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11597         This tests for another fstatat bug on AIX 7.1:
11598         fstatat (AT_FDCWD, ..., 0) does not work.  See
11599         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11600         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
11601         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
11602         (rpl_fstatat): Adjust so that it works around either (or both)
11603         bugs if present.
11604         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
11605
11606 2011-09-03  Karl Berry  <karl@gnu.org>
11607
11608         * doc/regex.texi (Character Class Operators): Avoid literal ":"
11609         in index entries.
11610
11611 2011-09-02  Bruno Haible  <bruno@clisp.org>
11612
11613         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
11614         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
11615         values of AR, ARFLAGS, RANLIB.
11616         Reported by John W. Eaton <jwe@gnu.org> for Octave.
11617
11618 2011-09-02  Bruno Haible  <bruno@clisp.org>
11619
11620         Find 'ar' program that fits with --host argument.
11621         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
11622
11623 2011-09-02  Bruno Haible  <bruno@clisp.org>
11624
11625         tests: init.sh: Support any non-GNU diff.
11626         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
11627         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
11628         Solaris 8.
11629
11630 2011-09-02  Bruno Haible  <bruno@clisp.org>
11631
11632         tests: init.sh: work also with any non-GNU diff that supports -u
11633         * tests/init.sh: Relax check for diff -u support.
11634         Rather than checking for GNU diff via --version, simply check
11635         for support for -u itself.  Useful at least on OpenBSD 4.9,
11636         AIX 7.1, IRIX 6.5, and Solaris 10.
11637
11638 2011-09-01  Bruno Haible  <bruno@clisp.org>
11639
11640         strtoimax, strtoumax: Document problem on HP-UX 11.
11641         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11642         * doc/posix-functions/strtoumax.texi: Likewise.
11643
11644 2011-09-01  Bruno Haible  <bruno@clisp.org>
11645
11646         strtoumax: Avoid link error on OSF/1 with DTK cc.
11647         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11648         defined as a function.
11649         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11650         strtoumax is defined, not whether it is declared.
11651
11652 2011-09-01  Bruno Haible  <bruno@clisp.org>
11653
11654         strtoimax: Avoid link error on OSF/1 with DTK cc.
11655         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11656         defined as a function.
11657         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11658         strtoimax is defined, not whether it is declared.
11659
11660 2011-09-01  Bruno Haible  <bruno@clisp.org>
11661
11662         imaxdiv: Avoid link error on OSF/1 with DTK cc.
11663         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
11664         as a function.
11665         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
11666         whether it is declared.
11667
11668 2011-09-01  Bruno Haible  <bruno@clisp.org>
11669
11670         imaxabs: Avoid link error on OSF/1 with DTK cc.
11671         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
11672         as a function.
11673         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
11674         whether it is declared.
11675
11676 2011-09-01  Bruno Haible  <bruno@clisp.org>
11677
11678         Tests for module 'strtoumax'.
11679         * modules/strtoumax-tests: New file.
11680         * tests/test-strtoumax.c: New file.
11681
11682         Tests for module 'strtoimax'.
11683         * modules/strtoimax-tests: New file.
11684         * tests/test-strtoimax.c: New file.
11685
11686         Tests for module 'imaxdiv'.
11687         * modules/imaxdiv-tests: New file.
11688         * tests/test-imaxdiv.c: New file.
11689
11690         Tests for module 'imaxabs'.
11691         * modules/imaxabs-tests: New file.
11692         * tests/test-imaxabs.c: New file.
11693
11694 2011-09-01  Bruno Haible  <bruno@clisp.org>
11695
11696         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
11697         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
11698         pthread_create.
11699
11700 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11701
11702         openat: work around AIX 7.1 fstatat issue
11703         This should fix the problem that was not properly fixed
11704         in the previous change, dated 2011-08-30.
11705         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
11706         __need_system_stat_h defined.
11707         (orig_fstatat) [HAVE_FSTATAT]: New function.
11708         (rpl_fstatat): Go back to the old way of doing things,
11709         except call orig_fstatat instead of fstatat.
11710         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
11711         Remove unnecessary check whether fstatat fills in st_size etc.
11712
11713 2011-09-01  Bruno Haible  <bruno@clisp.org>
11714
11715         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
11716         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
11717         just include the system's header.
11718
11719 2011-08-31  Jim Meyering  <meyering@redhat.com>
11720
11721         tests: avoid spurious assertion failure in test-float.c on ppc64
11722         * tests/test-float.c (test_long_double): Comment out an assertion,
11723         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
11724         with gcc-4.4.4.
11725
11726         maint: indent with spaces, not TABs
11727         I need to get in the habit of running gnulib's "make check".
11728         Both of these would have been caught.
11729         * m4/largefile.m4: Indent with spaces, not TABs.
11730         * lib/parse-datetime.y (iso_8601_time): Likewise.
11731         Spotted by Pádraig Brady.
11732
11733         test-parse-datetime.c: accommodate a relatively strict gcc warning
11734         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
11735         to avoid a warning from gcc's -Werror=missing-declarations.
11736         Insert a few spaces-before-funcall-parenthesis.
11737
11738 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
11739
11740         parse-datetime: accept ISO 8601 date and time rep with "T" separator
11741         The parser now accepts ISO 8601 date-time strings with "T" as the
11742         separator.  It has long parsed dates like "2004-02-29 16:21:42"
11743         with a space between the date and time strings.  Now it also parses
11744         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
11745         variants like "2004-02-29T16:21:42.333-07:00"
11746         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
11747         of day representation using the 'T' separator character.
11748         * doc/parse-datetime.texi (General date syntax): replace use of
11749         deprecated --iso-8601 option with --rfc-3339 in example of date
11750         command output formats that can be parsed.
11751         * tests/test-parse-datetime.c (tm_diff): New function, taken from
11752         lib/parse-datetime.y.
11753         (gmt_offset): New function.
11754         (main): Add additional test cases to validate ISO8601 extended
11755         date and time of day parsing.
11756
11757 2011-08-31  Bruno Haible  <bruno@clisp.org>
11758
11759         freopen: Documentation.
11760         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
11761         name.
11762         Reported by Claudio Bley <claudio.bley@gmail.com>.
11763
11764 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
11765
11766         freopen: Don't crash if the filename argument is NULL.
11767         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
11768         NULL.
11769
11770 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11771
11772         openat: work around AIX 7.1 fstatat bug
11773         Problem reported by Kevin Brott for GNU tar, in the thread containing
11774         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
11775         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
11776         FSTATAT_ST_SIZE_ETC_BROKEN.
11777         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
11778         rpl_fstatat.
11779         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
11780         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
11781         AC_CHECK_FUNCS_ONCE for fstatat.
11782         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
11783         fchmodat, mkdirat, openat and unlinkat.
11784
11785 2011-08-30  Bruno Haible  <bruno@clisp.org>
11786
11787         Avoid endless recursions if config.h includes some header files.
11788         * lib/fopen.c (__need_FILE): Define already before including config.h.
11789         * lib/freopen.c (__need_FILE): Likewise.
11790         * lib/open.c (__need_system_fcntl_h): Likewise.
11791         * lib/stat.c (__need_system_sys_stat_h): Likewise.
11792         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
11793         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11794
11795 2011-08-25  Karl Berry  <karl@gnu.org>
11796
11797         * config/srclist.txt (ylwrap): new try.
11798         * build-aux/ylwrap: new file.
11799
11800 2011-08-23  Bruno Haible  <bruno@clisp.org>
11801
11802         tmpdir: Use a good default directory on native Windows.
11803         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
11804         (P_tmpdir): Default to _P_tmpdir on native Windows.
11805         (path_search): On native Windows, try the value returned by GetTempPath
11806         before trying P_tmpdir.
11807         * modules/tmpdir (Depends-on): Add pathmax.
11808         Suggested by John Darrington <john@darrington.wattle.id.au>.
11809
11810 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
11811
11812         doc: fix typo in README-release
11813         * top/README-release: Capitalize first word of a sentence.
11814
11815 2011-08-19  Jim Meyering  <meyering@redhat.com>
11816
11817         fts: do not exhaust memory when processing million-entry directories
11818         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
11819         directory would require about 256*N bytes of memory.  Thus, it was
11820         easy to construct a directory too large to be processed by any of
11821         those tools.  With this change, fts' maximum memory utilization is
11822         now limited to around 30MB.
11823         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
11824         (fts_read): When we've processed the final entry (i.e., when
11825         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
11826         using the parent entry to read any remaining entries.  Dispatch
11827         depending on what fts_build returns:
11828         - NULL+stop, aka failure: stop
11829         - NULL otherwise: move up in the dir hierarchy
11830         - non-NULL: handle this new entry
11831         (fts_build): Declare and use new local, continue_readdir.
11832         Prepare to be called from fts_read, when the entries
11833         from a partially-read directory have just been exhausted.
11834         In that case, we'll skip the opendir and instead use the parent's
11835         fts_dirp and derive dir_fd from that.
11836         Finally, in the readdir loop, if we read max_entries entries,
11837         exit the loop ensuring *not* to call closedir.  This is required
11838         so that fts_dirp can be reused on a subsequent call.
11839         Prompted by Ben England's report of memory exhaustion in find
11840         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
11841
11842         maint: fts: move decl of `dp' down into while loop; split a long line
11843         * lib/fts.c (fts_build): No semantic change.
11844
11845         fts: add/use new struct member, fts_dirp
11846         We are about to use this to manage any directory with
11847         too many entries to read all of them into memory at once.
11848         To do that, we'll need to save the DIR* pointer in each
11849         affected FTSENT struct.
11850         * lib/fts_.h: Include <dirent.h>.
11851         (struct FTSENT) [fts_dirp]: New member.
11852         * lib/fts.c (closedir_and_clear): Define.
11853         Use it in place of closedir so that we are sure to
11854         clear the new fts_dirp member when done with it.
11855         (fts_alloc): Initialize the new member.
11856         (fts_lfree): Free, if needed.
11857
11858         maint: fts: give __opendir2 a new parameter and rename
11859         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
11860         than surreptitiously using sole caller's "dir_fd".
11861         (fts_opendir): Rename from __opendir2.
11862
11863         maint: fts.c: remove __opendir2's now-unused parameter, oflag
11864         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
11865
11866         maint: fts.c: correct off-by-one indentation
11867         * lib/fts.c (fts_build): Correct indentation, change style
11868         of a couple of block comments, and bracing style.
11869
11870         maint: fts.c: move __opendir2 #define "up" out of function body
11871         * lib/fts.c (__opendir2): Move "up".  No semantic change.
11872
11873         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11874         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
11875         out for a long time and besides was useful only on BSD systems.
11876
11877 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11878
11879         regex: port to Stratus OpenVOS
11880         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
11881         define to empty, rather than attempting nonportable optimizations.
11882         Problem reported by Paul Green in:
11883         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
11884         and fix suggested by Eric Blake in:
11885         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
11886
11887 2011-08-17  Eric Blake  <eblake@redhat.com>
11888
11889         getcwd: fix test failures on mingw
11890         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
11891         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
11892         test if long directory cannot be created, and allow mingw errno.
11893
11894         getcwd-lgpl: fix m4 to match relaxed test for BSD
11895         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
11896         (gl_FUNC_GETCWD_SIGNATURE): New macro.
11897         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
11898         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
11899         signature problem.
11900
11901         getcwd: fix compilation on mingw64
11902         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
11903         getcwd.
11904         Reported by Marc-André Lureau.
11905
11906         pipe2: silence compiler warning
11907         * lib/pipe2.c (pipe2): Hide label if it is not used.
11908
11909 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
11910
11911         relocatable-prog: fix link error
11912         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
11913         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
11914         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
11915         into modules/relocatable-lib without noticing that
11916         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
11917         also needs to build relocatable.c.
11918
11919 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11920
11921         getaddrinfo: fix sh typo in gai_strerrorA decl checking
11922         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
11923         shell code: it contained a 'break' that was not in a loop.
11924         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
11925         via a shell-language loop; this may have been true in old Autoconf
11926         versions, but it's not true in Autoconf 2.68.  I found this bug
11927         when testing coreutils git on Solaris 8, whose shell complains
11928         about the syntax error.
11929
11930 2011-08-12  Simon Josefsson  <simon@josefsson.org>
11931
11932         * lib/base64.c: Fix comment to reference RFC 4648.
11933         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
11934         <gvtulder@gmail.com>.
11935
11936 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11937
11938         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
11939
11940         po/Makefile.in.in: fix make -q problem
11941         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
11942         rule, since there's no file named 'check-macro-version' and its
11943         use as a file breaks make -q.
11944         (all): Don't depend on check-macro-version.
11945         (CHECK_MACRO_VERSION): New macro.
11946         (stamp-po): Use it.
11947
11948         configmake: fix make -q problem
11949         * modules/configmake (configmake.h): Update configmake.h's time stamp
11950         even if the file does not change.  Otherwise, 'make -q' fails.
11951         Problem reported by Simon Josefsson in
11952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
11953
11954 2011-08-11  Jim Meyering  <meyering@redhat.com>
11955
11956         git-version-gen: correct the advice in a comment
11957         * build-aux/git-version-gen: Correct comment.
11958         Don't recommend to list .tarball-version in .gitignore.
11959
11960 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11961
11962         base64: fix off-by-one buffer size bug
11963         Problem and (trivial) fix reported by Gijs van Tulder in
11964         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
11965         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
11966         * tests/test-base64.c (main): Catch the bug.
11967
11968 2011-08-10  Eric Blake  <eblake@redhat.com>
11969
11970         closein: correct comments
11971         * lib/closein.c (close_stdin): Improve comments.
11972
11973 2011-08-09  Bruno Haible  <bruno@clisp.org>
11974
11975         More tests for 'fseeko'.
11976         * tests/test-fseeko3.c: New file, from Eric Blake.
11977         * tests/test-fseeko3.sh: New file.
11978         * modules/fseeko-tests (Files): Add them.
11979         (TESTS): Add test-fseeko3.sh.
11980         (check_PROGRAMS): Add test-fseeko3.
11981
11982 2011-08-09  Eric Blake  <eblake@redhat.com>
11983
11984         fseeko: remove unneeded hack
11985         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
11986
11987         fseeko: fix bug on glibc
11988         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
11989         Reported by John W. Eaton.
11990
11991 2011-08-08  Bruno Haible  <bruno@clisp.org>
11992
11993         unictype/base: Fix interoperability with preinstalled libunistring.
11994         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
11995         Reported by Simon Josefsson.
11996
11997 2011-08-08  Bruno Haible  <bruno@clisp.org>
11998
11999         iswblank: Detect declaration correctly.
12000         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
12001         AC_CHECK_DECLS invocation.
12002
12003 2011-08-08  Bruno Haible  <bruno@clisp.org>
12004
12005         tcgetsid: Detect declaration correctly.
12006         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12007         AC_CHECK_DECLS invocation.
12008         Reported by Simon Josefsson.
12009
12010 2011-08-08  Eric Blake  <eblake@redhat.com>
12011
12012         largefile: fix typo that regressed large file support
12013         * modules/largefile (configure.ac-early): Fix section name.
12014
12015 2011-08-06  Karl Berry  <karl@gnu.org>
12016
12017         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12018         a separate module.
12019
12020 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12021
12022         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12023         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12024         get prototype for free.
12025
12026 2011-08-04  Bruno Haible  <bruno@clisp.org>
12027
12028         Tests for module 'pathmax'.
12029         * modules/pathmax-tests: New file.
12030         * tests/test-pathmax.c: New file.
12031
12032         canonicalize-lgpl: Support larger filenames on the Hurd.
12033         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12034         Reported by Paul Eggert.
12035
12036         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12037         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12038         * lib/chdir-long.h: Include pathmax.h.
12039         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12040         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12041         (PATH_MAX): Remove code that is done by pathmax.h.
12042         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12043         * lib/tmpfile.c: Add a comment.
12044         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12045         * modules/chdir-long (Depends-on): Add pathmax.
12046         * modules/getcwd (Depends-on): Add pathmax.
12047         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12048         is not defined.
12049         * doc/posix-headers/limits.texi: Mention the pathmax module.
12050         * NEWS: Mention the change.
12051
12052 2011-08-02  Bruno Haible  <bruno@clisp.org>
12053
12054         pthread_sigmask: Actually use results of gl_THREADLIB.
12055         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12056         gl_THREADLIB, not gl_[]THREADLIB.
12057         Reported by Eric Blake.
12058
12059 2011-08-02  Jim Meyering  <meyering@redhat.com>
12060
12061         maint.mk: relax the default _gl_TS_function_match regexp
12062         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12063         space between function name and "(" in an "extern" declaration.
12064         That would fail to match a decl with no space there: extern void foo();
12065
12066 2011-07-31  Iain Nicol  <iain@thenicols.net>
12067
12068         git-version-gen: document that EXTRA_DIST must include .version
12069         * build-aux/git-version-gen: In the how-to-use comment, document
12070         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
12071         will fail when run from an unpacked distribution tarball.
12072
12073 2011-08-01  Bruno Haible  <bruno@clisp.org>
12074
12075         wctype-h: Fix last change.
12076         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
12077         REPLACE_TOWLOWER to 0.
12078         Reported by Sam Steingold <sds@gnu.org>.
12079
12080 2011-07-31  Bruno Haible  <bruno@clisp.org>
12081
12082         frexpl: Update autoconf test.
12083         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
12084         according to changes of 2011-06-20.
12085
12086 2011-07-31  Bruno Haible  <bruno@clisp.org>
12087
12088         sys_utsname: Add support for Minix.
12089         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
12090         <sys/utsname.h>.
12091         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12092         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
12093
12094 2011-07-31  Bruno Haible  <bruno@clisp.org>
12095
12096         strings: Add support for Minix.
12097         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
12098         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12099         * doc/posix-headers/strings.texi: Document the Minix problem.
12100
12101 2011-07-31  Bruno Haible  <bruno@clisp.org>
12102
12103         wctype-h: Add support for Minix.
12104         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
12105         REPLACE_TOWLOWER.
12106         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
12107         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
12108         REPLACE_ISWCNTRL.
12109
12110 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12111
12112         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
12113         This is a performance improvement for 64-bit hosts: it causes the
12114         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
12115
12116 2011-07-31  Bruno Haible  <bruno@clisp.org>
12117
12118         stdioext: Add support for Minix.
12119         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
12120         * lib/fpurge.c (fpurge): Likewise.
12121         * lib/freadahead.c (freadahead): Likewise.
12122         * lib/freadable.c (freadable): Likewise.
12123         * lib/freading.c (freading): Likewise.
12124         * lib/freadptr.c (freadptr): Likewise.
12125         * lib/freadseek.c (freadptrinc): Likewise.
12126         * lib/fseeko.c (rpl_fseeko): Likewise.
12127         * lib/fseterr.c (fseterr): Likewise.
12128         * lib/fwritable.c (fwritable): Likewise.
12129         * lib/fwriting.c (fwriting): Likewise.
12130         * lib/fflush.c (clear_ungetc_buffer): Update comment.
12131         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
12132
12133 2011-07-31  Bruno Haible  <bruno@clisp.org>
12134
12135         errno: Port to Minix.
12136         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
12137         ECONNABORTED are defined.
12138         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
12139         GNULIB_defined_ECONNABORTED): New macros.
12140         * lib/strerror-override.h (strerror_override): Test also
12141         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
12142         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
12143         ECONNABORTED.
12144         * doc/posix-headers/errno.texi: Mention the Minix problem.
12145
12146 2011-07-31  Bruno Haible  <bruno@clisp.org>
12147
12148         Work around declaration collisions on Minix.
12149         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
12150         defined, set REPLACE_MBSINIT.
12151         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
12152         defined, set REPLACE_MBRTOWC.
12153         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
12154         set REPLACE_MBRLEN.
12155         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
12156         defined, set REPLACE_MBSRTOWCS.
12157         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
12158         defined, set REPLACE_WCRTOMB.
12159         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
12160         defined, set REPLACE_WCSRTOMBS.
12161
12162 2011-07-31  Bruno Haible  <bruno@clisp.org>
12163
12164         Add support for Minix with ACK compiler.
12165         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
12166         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
12167         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
12168
12169 2011-07-31  Bruno Haible  <bruno@clisp.org>
12170
12171         Documentation about Minix.
12172         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12173         * doc/glibc-headers/*.texi: Likewise.
12174         * doc/posix-functions/*.texi: Likewise.
12175         * doc/glibc-functions/*.texi: Likewise.
12176
12177 2011-07-31  Bruno Haible  <bruno@clisp.org>
12178
12179         snippet/warn-on-use: Fix indentation.
12180         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
12181
12182 2011-07-25  Jim Meyering  <meyering@redhat.com>
12183
12184         tests: test-update-copyright.sh: remove unnecessary "rm" commands
12185         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
12186         commands.
12187
12188 2011-07-27  Jim Meyering  <meyering@redhat.com>
12189
12190         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
12191         * top/maint.mk (gl_extract_significant_defines_): Now that
12192         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
12193         gnulib/lib/signal.in.h, and now that we recommend to
12194         define-if-undefined those two symbols in application code,
12195         we must filter them out of the "significant" list.
12196         This avoids a "make syntax-check" failure in coreutils.
12197
12198 2011-07-26  Eric Blake  <eblake@redhat.com>
12199
12200         warnings: add comments about previous patch
12201         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
12202         * m4/include_next.m4: Likewise.
12203         * m4/warn-on-use.m4: Likewise.
12204         * m4/warnings.m4: Likewise, and simplify use.
12205         Suggested by Stefano Lattarini.
12206
12207         include-next, warnings: support older autoconf
12208         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
12209         AS_VAR_PUSHDEF in a way that works with older autoconf.
12210         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
12211         Reported by Daniel P. Berrange.
12212
12213 2011-07-25  Bruno Haible  <bruno@clisp.org>
12214
12215         fseek, ftell: Fix doc.
12216         * doc/posix-functions/fseek.texi: Reword statement about
12217         AC_SYS_LARGEFILE.
12218         * doc/posix-functions/ftell.texi: Likewise.
12219
12220 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12221             Bruno Haible  <bruno@clisp.org>
12222
12223         Add dependencies to the 'largefile' module.
12224         * modules/fopen (Depends-on): Add 'largefile'.
12225         * modules/freopen (Depends-on): Likewise.
12226         * modules/fseeko (Depends-on): Likewise.
12227         * modules/ftello (Depends-on): Likewise.
12228         * modules/glob (Depends-on): Likewise.
12229         * modules/lseek (Depends-on): Likewise.
12230         * modules/lstat (Depends-on): Likewise.
12231         * modules/mkostemp (Depends-on): Likewise.
12232         * modules/mkostemps (Depends-on): Likewise.
12233         * modules/mkstemp (Depends-on): Likewise.
12234         * modules/mkstemps (Depends-on): Likewise.
12235         * modules/open (Depends-on): Likewise.
12236         * modules/openat (Depends-on): Likewise.
12237         * modules/pread (Depends-on): Likewise.
12238         * modules/pwrite (Depends-on): Likewise.
12239         * modules/scandir (Depends-on): Likewise.
12240         * modules/stat (Depends-on): Likewise.
12241         * modules/tmpfile (Depends-on): Likewise.
12242         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
12243         since the containing module now depends on the largefile module.
12244         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
12245         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
12246         off_t is fixed by gnulib.
12247         * doc/posix-functions/freopen.texi: Likewise.
12248         * doc/posix-functions/fseeko.texi: Likewise.
12249         * doc/posix-functions/fstatat.texi: Likewise.
12250         * doc/posix-functions/ftello.texi: Likewise.
12251         * doc/posix-functions/glob.texi: Likewise.
12252         * doc/posix-functions/lseek.texi: Likewise.
12253         * doc/posix-functions/lstat.texi: Likewise.
12254         * doc/posix-functions/mkstemp.texi: Likewise.
12255         * doc/posix-functions/open.texi: Likewise.
12256         * doc/posix-functions/openat.texi: Likewise.
12257         * doc/posix-functions/pread.texi: Likewise.
12258         * doc/posix-functions/pwrite.texi: Likewise.
12259         * doc/posix-functions/scandir.texi: Likewise.
12260         * doc/posix-functions/stat.texi: Likewise.
12261         * doc/posix-functions/tmpfile.texi: Likewise.
12262         * doc/glibc-functions/mkostemp.texi: Likewise.
12263         * doc/glibc-functions/mkostemps.texi: Likewise.
12264         * doc/glibc-functions/mkstemps.texi: Likewise.
12265
12266 2011-07-25  Bruno Haible  <bruno@clisp.org>
12267
12268         fcntl: Move AC_LIBOBJ invocation to module description.
12269         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
12270         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
12271
12272         fcntl: Remove call-in from fchdir.m4.
12273         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
12274         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
12275
12276         dup3: Remove potential call-in from fchdir.m4.
12277         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
12278         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
12279
12280         dup2: Move AC_LIBOBJ invocation to module description.
12281         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
12282         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
12283         Don't invoke AC_LIBOBJ.
12284         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
12285
12286         dup2: Remove call-in from fchdir.m4.
12287         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
12288         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
12289
12290         fclose: Move AC_LIBOBJ invocation to module description.
12291         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
12292         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
12293         to 1.
12294         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
12295
12296         fclose: Remove call-in from close.m4.
12297         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
12298         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
12299
12300         close: Move AC_LIBOBJ invocation to module description.
12301         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
12302         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
12303         1.
12304         * modules/close (configure.ac): Invoke AC_LIBOBJ.
12305
12306         close: Remove call-in from fchdir.m4.
12307         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
12308         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
12309
12310         open: Move AC_LIBOBJ invocation to module description.
12311         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
12312         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
12313         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
12314
12315         open: Remove call-in from fchdir.m4.
12316         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
12317         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
12318
12319         fchdir: Start to remove gl_REPLACE_* idiom.
12320         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
12321         (gl_FUNC_FCHDIR): Invoke it.
12322
12323 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12324
12325         * lib/ftell.c (ftell): Comment out cast.
12326
12327         close: use gl_REPLACE_FCLOSE only if defined
12328         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
12329         is defined.  The close module doesn't depend on the fclose module
12330         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
12331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
12332         I reproduced the problem with "./gnulib-tool --test close sys_socket".
12333
12334 2011-07-24  Jim Meyering  <meyering@redhat.com>
12335
12336         test-select.h: avoid warning when using gcc's -Wmissing-declarations
12337         * tests/test-select.h (test_function): Declare as "static".
12338
12339 2011-07-24  Bruno Haible  <bruno@clisp.org>
12340
12341         doc: Mention the effects of AC_SYS_LARGEFILE.
12342         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
12343         on this function.
12344         * doc/posix-functions/aio_error.texi: Likewise.
12345         * doc/posix-functions/aio_fsync.texi: Likewise.
12346         * doc/posix-functions/aio_read.texi: Likewise.
12347         * doc/posix-functions/aio_return.texi: Likewise.
12348         * doc/posix-functions/aio_suspend.texi: Likewise.
12349         * doc/posix-functions/aio_write.texi: Likewise.
12350         * doc/posix-functions/fgetpos.texi: Likewise.
12351         * doc/posix-functions/fopen.texi: Likewise.
12352         * doc/posix-functions/freopen.texi: Likewise.
12353         * doc/posix-functions/fsetpos.texi: Likewise.
12354         * doc/posix-functions/fstatvfs.texi: Likewise.
12355         * doc/posix-functions/ftruncate.texi: Likewise.
12356         * doc/posix-functions/ftw.texi: Likewise.
12357         * doc/posix-functions/getrlimit.texi: Likewise.
12358         * doc/posix-functions/glob.texi: Likewise.
12359         * doc/posix-functions/lio_listio.texi: Likewise.
12360         * doc/posix-functions/lockf.texi: Likewise.
12361         * doc/posix-functions/mkstemp.texi: Likewise.
12362         * doc/posix-functions/mmap.texi: Likewise.
12363         * doc/posix-functions/nftw.texi: Likewise.
12364         * doc/posix-functions/openat.texi: Likewise.
12365         * doc/posix-functions/opendir.texi: Likewise.
12366         * doc/posix-functions/posix_fadvise.texi: Likewise.
12367         * doc/posix-functions/posix_fallocate.texi: Likewise.
12368         * doc/posix-functions/pread.texi: Likewise.
12369         * doc/posix-functions/pwrite.texi: Likewise.
12370         * doc/posix-functions/readdir.texi: Likewise.
12371         * doc/posix-functions/readdir_r.texi: Likewise.
12372         * doc/posix-functions/rewinddir.texi: Likewise.
12373         * doc/posix-functions/scandir.texi: Likewise.
12374         * doc/posix-functions/seekdir.texi: Likewise.
12375         * doc/posix-functions/setrlimit.texi: Likewise.
12376         * doc/posix-functions/statvfs.texi: Likewise.
12377         * doc/posix-functions/telldir.texi: Likewise.
12378         * doc/posix-functions/tmpfile.texi: Likewise.
12379         * doc/posix-functions/truncate.texi: Likewise.
12380         * doc/glibc-functions/fallocate.texi: Likewise.
12381         * doc/glibc-functions/fstatfs.texi: Likewise.
12382         * doc/glibc-functions/fts_children.texi: Likewise.
12383         * doc/glibc-functions/fts_read.texi: Likewise.
12384         * doc/glibc-functions/getdirentries.texi: Likewise.
12385         * doc/glibc-functions/mkostemp.texi: Likewise.
12386         * doc/glibc-functions/mkostemps.texi: Likewise.
12387         * doc/glibc-functions/mkstemps.texi: Likewise.
12388         * doc/glibc-functions/preadv.texi: Likewise.
12389         * doc/glibc-functions/pwritev.texi: Likewise.
12390         * doc/glibc-functions/sendfile.texi: Likewise.
12391         * doc/glibc-functions/statfs.texi: Likewise.
12392
12393 2011-07-24  Bruno Haible  <bruno@clisp.org>
12394
12395         doc: Fix typo.
12396         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
12397
12398 2011-07-24  Bruno Haible  <bruno@clisp.org>
12399
12400         doc: Mention fsusage.
12401         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
12402
12403 2011-07-24  Bruno Haible  <bruno@clisp.org>
12404
12405         doc: Mention new glibc headers and functions.
12406         * doc/glibc-headers/gshadow.texi: New file.
12407         * doc/glibc-functions/endsgent.texi: New file.
12408         * doc/glibc-functions/fgetsgent.texi: New file.
12409         * doc/glibc-functions/fgetsgent_r.texi: New file.
12410         * doc/glibc-functions/getsgent.texi: New file.
12411         * doc/glibc-functions/getsgent_r.texi: New file.
12412         * doc/glibc-functions/getsgnam.texi: New file.
12413         * doc/glibc-functions/getsgnam_r.texi: New file.
12414         * doc/glibc-functions/putsgent.texi: New file.
12415         * doc/glibc-functions/setsgent.texi: New file.
12416         * doc/glibc-functions/sgetsgent.texi: New file.
12417         * doc/glibc-functions/sgetsgent_r.texi: New file.
12418         * doc/glibc-functions/malloc_info.texi: New file.
12419         * doc/glibc-functions/preadv.texi: New file.
12420         * doc/glibc-functions/pwritev.texi: New file.
12421         * doc/glibc-functions/register_printf_modifier.texi: New file.
12422         * doc/glibc-functions/register_printf_specifier.texi: New file.
12423         * doc/glibc-functions/register_printf_type.texi: New file.
12424         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
12425         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
12426         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
12427         * doc/glibc-functions/pthread_getname_np.texi: New file.
12428         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
12429         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12430         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12431         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12432         * doc/glibc-functions/pthread_setname_np.texi: New file.
12433         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12434         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12435         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12436         * doc/glibc-functions/qsort_r.texi: New file.
12437         * doc/glibc-functions/quick_exit.texi: New file.
12438         * doc/glibc-functions/syncfs.texi: New file.
12439         * doc/gnulib.texi: Include them.
12440         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12441         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12442         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12443         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12444         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12445         * doc/glibc-functions/execvpe.texi: Likewise.
12446
12447 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12448
12449         ftell: don't include <unistd.h>
12450         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12451         guaranteed to define off_t, and the ftell module depends on the
12452         stdio module.
12453
12454         ftell: do not assume wraparound signed arithmetic
12455         * lib/ftell.c: Include <limits.h>.
12456         (ftell): Don't assume wraparound signed arithmetic.
12457
12458 2011-07-24  Bruno Haible  <bruno@clisp.org>
12459
12460         close: No longer depend on module 'fclose'.
12461         * modules/close (Depends-on): Remove fclose.
12462         * NEWS: Mention the change.
12463         Suggested by Sam Steingold <sds@gnu.org>.
12464
12465 2011-07-24  Bruno Haible  <bruno@clisp.org>
12466
12467         fsusage: Enable large volume support on AIX >= 5.2.
12468         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12469         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12470         instead of STAT_STATVFS.
12471         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12472
12473         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12474         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12475         f_blocks field only on MacOS X.
12476
12477         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12478         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12479         * modules/fsusage (Depends-on): Add largefile.
12480
12481 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12482
12483         * README: Modernize discussion of signed integers.
12484         Assuming overflow wraparound is no longer safe.
12485         Mention ones' complement and signed magnitude.
12486
12487 2011-07-22  Bruno Haible  <bruno@clisp.org>
12488
12489         select tests, pselect tests: Refactor.
12490         * tests/test-select.h: New file, extracted from tests/test-select.c.
12491         (select_fn): New type.
12492         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12493         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12494         test_pipe): Add my_select argument.
12495         (test_function): Renamed from main. Add my_select argument.
12496         * tests/test-select.c: Move most code to tests/test-select.h. Include
12497         test-select.h.
12498         * modules/select-tests (Files): Add tests/test-select.h.
12499         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12500         (my_select, main): New functions.
12501         * modules/pselect-tests (Files): Add tests/test-select.h,
12502         tests/macros.h, tests/signature.h.
12503         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12504         (configure.ac): Check for <sys/wait.h>.
12505
12506 2011-07-22  Bruno Haible  <bruno@clisp.org>
12507
12508         sys_select tests: Check the signature of FD_*.
12509         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12510         signature tests from here...
12511         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12512         here.
12513         * modules/sys_select-tests (Files): Add tests/signature.h.
12514
12515 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12516
12517         largefile: new module, replacing large-inode
12518         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12519         * MODULES.html.sh: Add largefile, remove large-inode.
12520         * modules/largefile, m4/largefile.m4: New files.
12521         * modules/large-inode, m4/large-inode.m4: Remove.
12522
12523         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12524         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12525         implementations that use only 32 bits to count blocks.
12526         On typical hosts with 1024-byte blocks, this fails with file
12527         systems as small as 4 TiB.  Problem reported by Herb Wartens
12528         <http://debbugs.gnu.org/9140> and this should also fix a similar
12529         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12530
12531         large-inode: New module
12532         * MODULES.html.sh: Add it.
12533         * modules/large-inode, m4/large-inode.m4: New files.
12534
12535         extensions: Enable extensions on MacOS X 10.5 and later.
12536         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12537
12538 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12539
12540         file-has-acl: use acl_extended_file_nofollow if available
12541         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12542         (acl_extended_file): New macro.
12543         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12544         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12545
12546 2011-07-21  Bruno Haible  <bruno@clisp.org>
12547
12548         Declare system functions in a way that works with C++.
12549         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12550         declare fdopendir as extern "C".
12551         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12552         declare frexpl as extern "C".
12553         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12554         declare gai_strerror as extern "C".
12555         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12556         programs, declare gai_strerror as extern "C".
12557         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12558         declare getlogin_r as extern "C".
12559         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12560         as extern "C".
12561         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12562         declare ldexpl as extern "C".
12563         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12564         as extern "C".
12565         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12566         program, declare getmntinfo as extern "C".
12567         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12568         stpncpy as extern "C".
12569         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12570         program, declare __xpg_strerror_r as extern "C".
12571         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12572         strndup as extern "C".
12573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12574         declare memset and bzero as extern "C".
12575         Reported by Sam Steingold <sds@gnu.org>.
12576
12577 2011-07-12  Jim Meyering  <meyering@redhat.com>
12578
12579         maint.mk: prohibit inclusion of "verify.h" without use
12580         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12581
12582 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12583
12584         timer-time: A new module to check for timer_settime()
12585         * m4/timer_time.m4: Check for the posix function.
12586         * modules/timer-time: Add the new module.
12587         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12588         Mention it.
12589
12590 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12591             Bruno Haible  <bruno@clisp.org>
12592
12593         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12594         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12595         not defined, assume POSIX threads and look for pthread_sigmask in
12596         $LIBS, without changing $CPPFLAGS.
12597
12598 2011-07-19  Bruno Haible  <bruno@clisp.org>
12599
12600         strstr: Update cross-compilation guess.
12601         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
12602         CPUs, guess no, in view of glibc
12603         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
12604         Suggested by Eric Blake. Reported by Reuben Thomas.
12605
12606 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12607
12608         getopt-gnu: suppress core dumps from detection code
12609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
12610         to suppress core dumps that may well occur on glibc systems.
12611         * modules/getopt-gnu: Depend on nocrash.
12612
12613 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12614
12615         pthread_sigmask: ensure usleep is declared
12616         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
12617         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
12618
12619 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12620
12621         doc: Document NonStop portability issues.
12622         * doc/posix-functions/sigaction.texi (sigaction):
12623         * doc/posix-headers/signal.texi (signal.h):
12624         Document NonStop.  See Joachim Schmitz in
12625         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
12626
12627 2011-07-15  Bruno Haible  <bruno@clisp.org>
12628
12629         ffsl, ffsll: Avoid unportable behaviour.
12630         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
12631
12632 2011-07-15  Bruno Haible  <bruno@clisp.org>
12633
12634         ffs: More tests.
12635         * tests/test-ffs.c (NBITS): New macro.
12636         (main): Add more tests.
12637         * tests/test-ffsl.c (NBITS): New macro.
12638         (main): Add more tests.
12639         * tests/test-ffsll.c (NBITS): New macro.
12640         (main): Add more tests.
12641
12642 2011-07-15  Eric Blake  <eblake@redhat.com>
12643
12644         ffsl, ffsll: new modules
12645         * modules/ffsl: New file.
12646         * modules/ffsll: Likewise.
12647         * m4/ffsl.m4: Likewise.
12648         * m4/ffsll.m4: Likewise.
12649         * lib/ffsl.c: Likewise.
12650         * lib/ffsl.h: Likewise.
12651         * lib/ffsll.c: Likewise.
12652         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12653         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12654         * modules/string (Makefile.am): Substitute witnesses.
12655         * lib/strings.in.h (ffsl, ffsll): Declare.
12656         * modules/ffsl-tests: New test file.
12657         * modules/ffsll-tests: Likewise.
12658         * tests/test-ffsl.c: Likewise.
12659         * tests/test-ffsll.c: Likewise.
12660         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12661         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12662         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
12663
12664         ffs: fix m4 prerequisite
12665         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
12666
12667         ffs: avoid undefined behavior
12668         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
12669         * tests/test-ffs.c (naive, main): Avoid signed shifts.
12670         Reported by Bruno Haible.
12671
12672 2011-07-12  Bruno Haible  <bruno@clisp.org>
12673
12674         pthread_sigmask: Rely on module 'threadlib'.
12675         * modules/pthread_sigmask (Depends-on): Add threadlib.
12676         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
12677         is defined.
12678
12679 2011-07-12  Bruno Haible  <bruno@clisp.org>
12680
12681         regex: Depend on module 'strcase'.
12682         * modules/regex (Depends-on): Add strcase, for strcasecmp().
12683
12684 2011-07-12  Jim Meyering  <meyering@redhat.com>
12685
12686         warn-on-use: fix typo in file name
12687         * modules/snippet/warn-on-use (Files): Correct file name:
12688         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
12689
12690 2011-07-12  Bruno Haible  <bruno@clisp.org>
12691
12692         strings: Document module.
12693         * doc/posix-headers/strings.texi: Mention module 'strings'.
12694
12695 2011-07-12  Bruno Haible  <bruno@clisp.org>
12696
12697         Rename module '_Noreturn' to 'snippet/_Noreturn'.
12698         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
12699         (Files, Makefile.am): Update.
12700         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
12701         * modules/stdlib (Depends-on): Update.
12702
12703 2011-07-12  Bruno Haible  <bruno@clisp.org>
12704
12705         * NEWS: Mention the changes.
12706
12707         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
12708         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
12709         (Files, Makefile.am): Update.
12710         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
12711         * modules/arpa_inet (Depends-on): Update.
12712         * modules/ctype (Depends-on): Update.
12713         * modules/dirent (Depends-on): Update.
12714         * modules/fcntl-h (Depends-on): Update.
12715         * modules/glob (Depends-on): Update.
12716         * modules/iconv-h (Depends-on): Update.
12717         * modules/inttypes-incomplete (Depends-on): Update.
12718         * modules/langinfo (Depends-on): Update.
12719         * modules/locale (Depends-on): Update.
12720         * modules/math (Depends-on): Update.
12721         * modules/netdb (Depends-on): Update.
12722         * modules/poll-h (Depends-on): Update.
12723         * modules/pty (Depends-on): Update.
12724         * modules/search (Depends-on): Update.
12725         * modules/signal (Depends-on): Update.
12726         * modules/spawn (Depends-on): Update.
12727         * modules/stdio (Depends-on): Update.
12728         * modules/stdlib (Depends-on): Update.
12729         * modules/string (Depends-on): Update.
12730         * modules/strings (Depends-on): Update.
12731         * modules/sys_file (Depends-on): Update.
12732         * modules/sys_ioctl (Depends-on): Update.
12733         * modules/sys_select (Depends-on): Update.
12734         * modules/sys_socket (Depends-on): Update.
12735         * modules/sys_stat (Depends-on): Update.
12736         * modules/sys_time (Depends-on): Update.
12737         * modules/sys_times (Depends-on): Update.
12738         * modules/sys_utsname (Depends-on): Update.
12739         * modules/sys_wait (Depends-on): Update.
12740         * modules/termios (Depends-on): Update.
12741         * modules/time (Depends-on): Update.
12742         * modules/unistd (Depends-on): Update.
12743         * modules/wchar (Depends-on): Update.
12744         * modules/wctype-h (Depends-on): Update.
12745         * MODULES.html.sh (Support for building libraries and executables):
12746         Update.
12747
12748         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
12749         * modules/snippet/unused-parameter: Renamed from
12750         modules/unused-parameter.
12751         (Files, Makefile.am): Update.
12752         * build-aux/snippet/unused-parameter.h: Renamed from
12753         build-aux/unused-parameter.h.
12754         * modules/selinux-h (Depends-on): Update.
12755         * modules/unistr/base (Depends-on): Update.
12756         * MODULES.html.sh (Core language properties): Update.
12757
12758         Rename module 'link-warning' to 'snippet/link-warning'.
12759         * modules/snippet/link-warning: Renamed from modules/link-warning.
12760         (Files, Makefile.am): Update.
12761         * build-aux/snippet/link-warning.h: Renamed from
12762         build-aux/link-warning.h.
12763         * MODULES.html.sh (Support for building libraries and executables):
12764         Update.
12765
12766         Rename module 'c++defs' to 'snippet/c++defs'.
12767         * modules/snippet/c++defs: Renamed from modules/c++defs.
12768         (Files, Makefile.am): Update.
12769         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
12770         * modules/arpa_inet (Depends-on): Update.
12771         * modules/ctype (Depends-on): Update.
12772         * modules/dirent (Depends-on): Update.
12773         * modules/fcntl-h (Depends-on): Update.
12774         * modules/glob (Depends-on): Update.
12775         * modules/iconv-h (Depends-on): Update.
12776         * modules/langinfo (Depends-on): Update.
12777         * modules/locale (Depends-on): Update.
12778         * modules/math (Depends-on): Update.
12779         * modules/netdb (Depends-on): Update.
12780         * modules/poll-h (Depends-on): Update.
12781         * modules/pty (Depends-on): Update.
12782         * modules/search (Depends-on): Update.
12783         * modules/signal (Depends-on): Update.
12784         * modules/spawn (Depends-on): Update.
12785         * modules/stdio (Depends-on): Update.
12786         * modules/stdlib (Depends-on): Update.
12787         * modules/string (Depends-on): Update.
12788         * modules/strings (Depends-on): Update.
12789         * modules/sys_ioctl (Depends-on): Update.
12790         * modules/sys_select (Depends-on): Update.
12791         * modules/sys_socket (Depends-on): Update.
12792         * modules/sys_stat (Depends-on): Update.
12793         * modules/sys_time (Depends-on): Update.
12794         * modules/sys_wait (Depends-on): Update.
12795         * modules/termios (Depends-on): Update.
12796         * modules/time (Depends-on): Update.
12797         * modules/unistd (Depends-on): Update.
12798         * modules/wchar (Depends-on): Update.
12799         * modules/wctype-h (Depends-on): Update.
12800
12801         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
12802         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
12803         (Files, Makefile.am): Update.
12804         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
12805         * modules/argv-iter (Depends-on): Update.
12806         * modules/arpa_inet (Depends-on): Update.
12807         * modules/dirent (Depends-on): Update.
12808         * modules/fcntl-h (Depends-on): Update.
12809         * modules/fnmatch (Depends-on): Update.
12810         * modules/getopt-posix (Depends-on): Update.
12811         * modules/glob (Depends-on): Update.
12812         * modules/iconv-h (Depends-on): Update.
12813         * modules/inttypes-incomplete (Depends-on): Update.
12814         * modules/locale (Depends-on): Update.
12815         * modules/math (Depends-on): Update.
12816         * modules/netdb (Depends-on): Update.
12817         * modules/search (Depends-on): Update.
12818         * modules/signal (Depends-on): Update.
12819         * modules/spawn (Depends-on): Update.
12820         * modules/stdio (Depends-on): Update.
12821         * modules/stdlib (Depends-on): Update.
12822         * modules/string (Depends-on): Update.
12823         * modules/strings (Depends-on): Update.
12824         * modules/sys_socket (Depends-on): Update.
12825         * modules/sys_stat (Depends-on): Update.
12826         * modules/sys_time (Depends-on): Update.
12827         * modules/sys_times (Depends-on): Update.
12828         * modules/sys_utsname (Depends-on): Update.
12829         * modules/time (Depends-on): Update.
12830         * modules/unistd (Depends-on): Update.
12831         * modules/wchar (Depends-on): Update.
12832         * MODULES.html.sh (Support for building libraries and executables):
12833         Update.
12834
12835 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12836
12837         Improvements on _Noreturn and related modules.
12838
12839         modules/_Exit-tests: test _Noreturn too
12840         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
12841         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
12842         (main): Use them.
12843
12844         stdnoreturn, stdnoreturn-tests: remove modules
12845         They're not needed here and a bit premature for use elsewhere.  See
12846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
12847         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
12848         * tests/test-stdnoreturn.c: Remove files.
12849         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
12850         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
12851         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
12852         and using noreturn.
12853         * modules/openat, modules/sigpipe-die, modules/xalloc:
12854         * modules/xmemdup0, modules/xstrtol:
12855         Remove dependency on stdnoreturn.
12856
12857         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
12858         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
12859         Reparenthesize to avoid GCC warning.
12860         Support Microsoft's syntax.
12861         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
12862
12863         _Noreturn-tests: remove module
12864         * modules/_Noreturn-tests: Remove.
12865         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
12866         * tests/test-_Noreturn.c: Remove.
12867         * tests/test-stdnoreturn.c: Merge from the old
12868         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
12869
12870 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12871
12872         _Noreturn, stdnoreturn, and related modules.
12873
12874         * top/maint.mk: Adjust to new noreturn support.
12875         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
12876         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
12877
12878         xalloc: use stdnoreturn.h
12879         * lib/xalloc.h: Include <stdnoreturn.h>.
12880         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12881         * modules/xalloc (Depends-on): Add stdnoreturn.
12882
12883         xstrtol: use stdnoreturn.h
12884         * lib/xstrtol.h: Include <stdnoreturn.h>.
12885         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12886         * modules/xstrtol (Depends-on): Add stdnoreturn.
12887
12888         xmemdup0: use stdnoreturn.h
12889         * lib/xmemdup0.h: Include <stdnoreturn.h>.
12890         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12891         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
12892
12893         sigpipe-die: use stdnoreturn.h
12894         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
12895         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12896         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
12897
12898         openat: use stdnoreturn.h
12899         * lib/openat.h: Include <stdnoreturn.h>.
12900         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12901         * modules/openat (Depends-on): Add stdnoreturn.
12902
12903         * lib/openat-die.c (openat_save_fail): Modernize comment.
12904
12905         * lib/xalloc-die.c (xalloc_die): Modernize comment.
12906
12907         * lib/glthread/thread.h: Modernize comment.
12908
12909         obstack: use _Noreturn
12910         * lib/obstack.c (__attribute__): Remove macro.
12911         (print_and_abort): Use _Noreturn.
12912
12913         c-stack: use _Noreturn
12914         * lib/c-stack.c (die, overflow_handler, segv_handler):
12915         Use _Noreturn rather than __attribute__((noreturn)).
12916
12917         argmatch-tests, exclude_tests: use _Noreturn
12918         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
12919         Remove.
12920         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
12921
12922         stdlib: use _Noreturn
12923         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
12924         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
12925         * modules/stdlib (Depends-on): Add _Noreturn.
12926         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
12927
12928         stdnoreturn-tests: new module
12929         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
12930
12931         stdnoreturn: new module
12932         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
12933         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
12934
12935         _Noreturn-tests: new module
12936         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
12937
12938         _Noreturn: new module
12939         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
12940         New section, mentioning it.
12941         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
12942
12943         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
12944
12945 2011-07-11  Eric Blake  <eblake@redhat.com>
12946
12947         ffs: new module
12948         * modules/ffs: New file.
12949         * m4/ffs.m4: Likewise.
12950         * lib/ffs.c: Likewise.
12951         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
12952         * modules/strings (Makefile.am): Substitute witness.
12953         (Depends-on): Add c++defs.
12954         * lib/strings.in.h (ffs): Declare.
12955         * modules/ffs-tests: New test file.
12956         * tests/test-ffs.c: Test new module.
12957         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12958         * doc/posix-functions/ffs.texi (ffs): Likewise.
12959
12960         regex: avoid compiler warning
12961         * lib/regex.c (includes): Include <strings.h>, for use of
12962         strcasecmp in regcomp.c.
12963         Reported by Joachim Schmitz.
12964
12965 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12966
12967         stdint: respect system's intmax_t if INTMAX_MAX
12968         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
12969         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
12970         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
12971         long but int64_t is long long, and where we will clash with the
12972         system intmax_t if we override it.  See
12973         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
12974         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
12975         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
12976         similarly for UINTMAX_C.
12977
12978 2011-07-08  Bruno Haible  <bruno@clisp.org>
12979
12980         pthread_sigmask tests: Avoid a compiler warning.
12981         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
12982         non-zero.
12983
12984         sigprocmask tests: A better way to avoid a compiler warning.
12985         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
12986         (main): Complain if system() returns non-zero.
12987         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
12988
12989 2011-07-08  Bruno Haible  <bruno@clisp.org>
12990
12991         pthread_sigmask: Work around IRIX bug.
12992         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
12993         bug.
12994         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
12995         there may be unblocked pending signals.
12996         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
12997
12998 2011-07-08  Bruno Haible  <bruno@clisp.org>
12999
13000         pthread_sigmask: Work around Cygwin bug.
13001         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
13002         bug.
13003         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
13004         the system's pthread_sigmask function.
13005         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
13006
13007 2011-07-08  Bruno Haible  <bruno@clisp.org>
13008
13009         pthread_sigmask: Work around bug in single-threaded implementation.
13010         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13011         FreeBSD, HP-UX, Solaris bug.
13012         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13013         * lib/pthread_sigmask.c: Include <stddef.h>.
13014         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13015         the system's pthread_sigmask function.
13016         * modules/pthread_sigmask (configure.ac): Invoke
13017         gl_PREREQ_PTHREAD_SIGMASK.
13018         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13019         HP-UX, Solaris.
13020
13021 2011-07-08  Eric Blake  <eblake@redhat.com>
13022
13023         test-sigprocmask: avoid compiler warning
13024         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13025         * tests/test-sigprocmask.c (main): Use it to silence warning.
13026         Reported by Jim Meyering.
13027
13028         test-snprintf: avoid compiler warning
13029         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13030         * tests/test-vsnprintf.c (main): Likewise.
13031         Reported by Jim Meyering.
13032
13033 2011-07-08  Bruno Haible  <bruno@clisp.org>
13034
13035         Tests for module 'pthread_sigmask'.
13036         * modules/pthread_sigmask-tests: New file.
13037         * tests/test-pthread_sigmask1.c: New file, based on
13038         tests/test-sigprocmask.c.
13039         * tests/test-pthread_sigmask2.c: New file.
13040
13041 2011-07-08  Jim Meyering  <meyering@redhat.com>
13042
13043         test-getopt.h: avoid warning about an unused variable
13044         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13045
13046 2011-07-07  Jim Meyering  <meyering@redhat.com>
13047
13048         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13049         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13050         now that it no longer contains leading TABs.
13051         Remove unused "url=FIXME" statement.
13052
13053 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13054
13055         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13056         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13057         When gl_THREADLIB is not in use, assume that the POSIX sematics
13058         are desired.  This is better for Emacs, which uses POSIX semantics
13059         on GNUish and/or POSIXish platforms, and does not use threads at
13060         all otherwise.
13061
13062         pthread_sigmask: fix typo when testing for libraries
13063         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13064         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
13065
13066 2011-07-08  Eric Blake  <eblake@redhat.com>
13067
13068         fts: introduce FTS_NOATIME
13069         * lib/fts_.h (FTS_NOATIME): New bit flag.
13070         (FTS_OPTIONMASK): Adjust.
13071         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
13072         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
13073
13074 2011-07-08  Bruno Haible  <bruno@clisp.org>
13075
13076         Tests for module 'thread'.
13077         * modules/thread-tests: New file.
13078         * tests/test-thread_self.c: New file.
13079         * tests/test-thread_create.cc: New file.
13080
13081 2011-07-08  Bruno Haible  <bruno@clisp.org>
13082
13083         thread: Avoid gcc warnings when using gl_thread_self().
13084         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
13085         'void *'.
13086         (gl_thread_self_pointer): Update.
13087
13088 2011-07-07  Bruno Haible  <bruno@clisp.org>
13089
13090         signal-c++-tests: Check declaration of pthread_sigmask.
13091         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
13092         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
13093         $(LIB_PTHREAD_SIGMASK).
13094
13095 2011-07-07  Bruno Haible  <bruno@clisp.org>
13096
13097         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
13098         * lib/signal.in.h (pthread_sigmask): Override if
13099         REPLACE_PTHREAD_SIGMASK is 1.
13100         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13101         REPLACE_PTHREAD_SIGMASK.
13102         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
13103         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
13104         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
13105         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13106         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
13107
13108 2011-07-07  Bruno Haible  <bruno@clisp.org>
13109
13110         pthread_sigmask: Ensure declaration in <signal.h>.
13111         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
13112         include <pthread.h>.
13113         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
13114         problem.
13115
13116 2011-07-07  Bruno Haible  <bruno@clisp.org>
13117
13118         pthread_sigmask: Document the module.
13119         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
13120
13121 2011-07-07  Bruno Haible  <bruno@clisp.org>
13122
13123         pthread_sigmask: Follow gnulib conventions.
13124         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
13125         gl_PTHREAD_SIGMASK.
13126         * modules/pthread_sigmask (configure.ac): Update.
13127
13128 2011-07-07  Bruno Haible  <bruno@clisp.org>
13129
13130         pthread_sigmask: Make declaration C++ safe.
13131         * lib/signal.in.h: In two special conditions, just do an #include_next.
13132         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13133         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
13134         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13135         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13136         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
13137         not REPLACE_PTHREAD_MASK.
13138         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
13139         not REPLACE_PTHREAD_MASK.
13140         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13141
13142 2011-07-07  Bruno Haible  <bruno@clisp.org>
13143
13144         pthread_sigmask: Fix return value.
13145         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
13146         * lib/pthread_sigmask.c: New file.
13147         * modules/pthread_sigmask (Files): Add it.
13148         (configure.ac): Invoke AC_LIBOBJ.
13149
13150 2011-07-07  Eric Blake  <eblake@redhat.com>
13151
13152         getopt: more portable argv creation
13153         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
13154         const, use char arrays rather than strings.
13155         Suggested by Paul Eggert.
13156
13157 2011-07-07  Bruno Haible  <bruno@clisp.org>
13158
13159         Tests for module 'sigprocmask'.
13160         * modules/sigprocmask-tests: New file.
13161         * tests/test-sigprocmask.c: New file.
13162
13163 2011-07-07  Bruno Haible  <bruno@clisp.org>
13164
13165         float tests: Tweak.
13166         * tests/test-float.c (main): Tweak skip message.
13167
13168 2011-07-07  Eric Blake  <eblake@redhat.com>
13169
13170         getopt: avoid compiler warning during configure
13171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
13172         assigning string literals to non-const pointer.
13173
13174         getopt-gnu: avoid crash in glibc getopt
13175         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
13176         * tests/test-getopt.h (test_getopt): Enhance test.
13177         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13178         * doc/posix-functions/getopt.texi (getopt): Document it.
13179         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13180         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13181         Likewise.
13182
13183 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
13184
13185         getopt: handle W; without long options in getopt [BZ #12922]
13186         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
13187         but no long options are defined, just return 'W'.
13188
13189 2011-07-07  Bruno Haible  <bruno@clisp.org>
13190
13191         Avoid literal tabs.
13192         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
13193         variable containing a tab instead of a literal tab.
13194         Reported by Jim Meyering.
13195
13196 2011-07-07  Bruno Haible  <bruno@clisp.org>
13197
13198         Comments.
13199         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
13200
13201 2011-07-06  Bruno Haible  <bruno@clisp.org>
13202
13203         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
13204         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
13205         <winsock2.h>.
13206         (rpl_fd_isset, FD_ISSET): New definitions, copied from
13207         lib/sys_socket.in.h.
13208         (close, gethostname): Hide declarations from <winsock2.h>.
13209         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13210         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
13211         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
13212         (select): Don't override if gnulib's <sys/select.h> was already
13213         included.
13214         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13215         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13216         setsockopt, shutdown, select): Tweak indentation.
13217
13218 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13219
13220         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
13221         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
13222         in an application that does not use the sys_select module.
13223
13224 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
13225
13226         poll: do not return 0 on timeout=-1
13227         * lib/poll.c: Loop with yield if no events occured
13228
13229 2011-07-06  Eric Blake  <eblake@redhat.com>
13230
13231         pthread_sigmask: always replace when not using pthread
13232         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
13233         replacement when using some threading other than pthread.  Fix
13234         logic bug.
13235
13236 2011-07-06  Bruno Haible  <bruno@clisp.org>
13237
13238         Comments.
13239         * m4/printf.m4: Update comments about mingw.
13240
13241 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13242
13243         sys_select: define sigset_t more portably
13244         * lib/sys_select.in.h: Always include <sys/types.h>, since
13245         we now need sigset_t and mingw defines it there.
13246         Include <signal.h> before split inclusion guard, to avoid
13247         mishaps on Solaris, whose <signal.h> eventually includes us.
13248         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
13249         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
13250         which come from ...
13251         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
13252         gl_CHECK_TYPE_SIGSET_T.
13253         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
13254         does the real work.
13255         * modules/sys_select (Depends-on): Add 'signal'.
13256
13257         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
13258         Suggested by Bruno Haible.
13259
13260         pselect: Use pthread_sigmask, not sigprocmask.
13261         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
13262         multithreaded apps better than sigprocmask does.
13263         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
13264         sigprocmask directly.
13265
13266 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13267
13268         * lib/pselect.c (pselect): Use plain name, without "rpl_".
13269         Don't #undef,  since we don't need any underlying pselect.
13270         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
13271         (Depends-on): Add select.
13272         (Link): Add $(LIBSOCKET).
13273         These changes suggested by Bruno Haible.
13274
13275         pselect: document better
13276         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13277         * doc/posix-functions/pselect.texi (pselect): Document new module.
13278
13279         pthread_sigmask: new module
13280         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13281         * doc/posix-functions/pthread_sigmask.texi: Document new module.
13282         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
13283         This is done only as a macro; I don't know how well that'll
13284         work for C++.  Move <sys/types.h> include before the include_next,
13285         to avoid mishap on Solaris.
13286         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
13287         * modules/signal (Makefile.am): Substitute the check's results.
13288         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
13289
13290         test-pselect: new module
13291         * modules/pselect-tests, tests/test-pselect.c: New files.
13292         * tests/test-select.c, tests/test-sys_select-c++.cc:
13293         If TEST_PSELECT is defined, test pselect instead of testing select.
13294
13295         * tests/test-sys_select.c (sigset_t): Test for it, too.
13296         Suggested by Bruno Haible.
13297
13298 2011-07-05  Eric Blake  <eblake@redhat.com>
13299
13300         snprintf: guarantee %1$d, for libintl
13301         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
13302         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
13303         * doc/posix-functions/snprintf.texi (snprintf): Update.
13304         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13305         * tests/test-snprintf.c (main): Enhance test.
13306         * tests/test-vsnprintf.c (main): Likewise.
13307
13308 2011-07-05  Jim Meyering  <meyering@redhat.com>
13309
13310         maint: exempt stdio-read.c and stdio-write.c from the cppi check
13311         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
13312         per Bruno's request, to accommodate this idiom (no space after "#")
13313         even when the function is inside an #if block:
13314         char *
13315         gets (char *s)
13316         #undef gets
13317         {
13318           ...
13319         }
13320
13321 2011-07-04  Jim Meyering  <meyering@redhat.com>
13322
13323         maint: indent with spaces, not TABs, and add a rule to check this
13324         * tests/test-userspec.c: Indent with spaces, not TABs.
13325         * tests/test-argp.c: Likewise.
13326         * tests/test-c-stack2.sh: Likewise.
13327         * tests/test-parse-duration.sh: Likewise
13328         * m4/strtod.m4: Likewise.
13329         * m4/alloca.m4: Likewise.
13330         * m4/pselect.m4: Likewise.
13331         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
13332
13333 2011-07-03  Jim Meyering  <meyering@redhat.com>
13334
13335         maint.mk: correct omissions in prohibit_argmatch_without_use check
13336         This rule would mistakenly report that argmatch.h is included without
13337         use even when both the argmatch and invalid_arg macro were used.
13338         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
13339         of argmatch and invalid_arg.
13340
13341 2011-07-03  Bruno Haible  <bruno@clisp.org>
13342
13343         Comments about EINTR.
13344         * lib/safe-read.h: Explain the purpose of this module.
13345         * lib/safe-write.h: Likewise.
13346         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
13347         module.
13348         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
13349         module.
13350         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13351
13352 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13353
13354         xnanosleep: Rewrite to use new dtotimespec module.
13355         It has the conversion code that used to be in xnanosleep.
13356         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
13357         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
13358         (TIME_T_MAX): Remove.
13359         (xnanosleep): Rewrite in terms of dtotimespec.
13360         * modules/xnanosleep (Depends-on): Add dtotimespec.
13361         Remove intprops, stdbool.
13362
13363         timespec-add, timespec-sub: new modules
13364         * lib/timespec.h (timespec_add, timespec_sub): New decls.
13365         * lib/timespec-add.c, lib/timespec-sub.c:
13366         * modules/timespec-add, modules/timespec-sub: New files.
13367
13368         dtotimespec: new module
13369         * lib/timespec.h (dtotimespec): New decl.
13370         * lib/dtotimespec.c, modules/dtotimespec: New files.
13371
13372         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
13373
13374         pselect: new module
13375         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
13376         (pselect): New decls.
13377         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
13378         since the standard pselect decl uses 'restrict'.
13379         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
13380         HAVE_PSELECT, REPLACE_PSELECT.
13381         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
13382         HAVE_PSELECT, REPLACE_PSELECT.
13383         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
13384
13385         sys_select: don't depend on sys_socket
13386         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
13387         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
13388         This fix works on GNU and GNU-like platforms, but has not been tested
13389         on native Windows.
13390         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
13391         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
13392         gl_HEADER_SYS_SOCKET.
13393         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
13394         gl_PREREQ_SYS_H_WINSOCK2.
13395
13396 2011-06-29  Eric Blake  <eblake@redhat.com>
13397
13398         pipe2: fix C89 compile problem
13399         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
13400         Reported by Bruno Haible.
13401
13402         pipe, pipe2: don't corrupt fd on error
13403         * lib/pipe.c (pipe): Leave fd unchanged on error.
13404         * lib/pipe2.c (pipe2): Likewise.
13405         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
13406         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13407
13408 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
13409
13410         mmap-anon: do not use regular expressions inadvertently
13411         * m4/mmap-anon.m4: Remove trailing period from strings sought
13412         in the output.
13413
13414 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13415
13416         nanosleep: fix integer overflow problem
13417         * lib/nanosleep.c (my_usleep): Don't assume signed integer
13418         arithmetic wraps around on overflow.
13419
13420         nanosleep: simplify carrying
13421         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
13422         first call to the underyling nanosleep, not for the last one.
13423         This doesn't fix any bugs, but it simplifies the computation of
13424         the remaining delay.  Found while auditing integer overflow issues.
13425
13426         dup2: remove test for existence of fcntl
13427         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
13428         "#if HAVE_FCNTL", in the configure-time test program.
13429         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13430         and therefore speeds up "configure" a bit.  Found while
13431         adding the dup2 module to Emacs.
13432
13433 2011-06-24  Eric Blake  <eblake@redhat.com>
13434
13435         maint.mk: enhance useless header checks
13436         * top/maint.mk (_sc_header_without_use): Check both include
13437         styles.
13438         (sc_prohibit_assert_without_use)
13439         (sc_prohibit_close_stream_without_use)
13440         (sc_prohibit_getopt_without_use)
13441         (sc_prohibit_quotearg_without_use)
13442         (sc_prohibit_quote_without_use)
13443         (sc_prohibit_long_options_without_use)
13444         (sc_prohibit_inttostr_without_use)
13445         (sc_prohibit_ignore_value_without_use)
13446         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13447         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13448         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13449         (sc_prohibit_hash_pjw_without_use)
13450         (sc_prohibit_safe_read_without_use)
13451         (sc_prohibit_argmatch_without_use)
13452         (sc_prohibit_canonicalize_without_use)
13453         (sc_prohibit_root_dev_ino_without_use)
13454         (sc_prohibit_openat_without_use)
13455         (sc_prohibit_c_ctype_without_use)
13456         (sc_prohibit_signal_without_use)
13457         (sc_prohibit_stdio--_without_use)
13458         (sc_prohibit_stdio-safer_without_use)
13459         (sc_prohibit_strings_without_use)
13460         (sc_prohibit_intprops_without_use)
13461         (sc_prohibit_stddef_without_use)
13462         (sc_prohibit_xfreopen_without_use): Update clients.
13463
13464 2011-06-24  Jim Meyering  <meyering@redhat.com>
13465
13466         syntax-check: keep one maint.mk rule in sync with its header
13467         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13468         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13469         I prefer to avoid temporary files here, so use <(...), but that
13470         is not supported by /bin/sh, so...
13471         (SHELL): Define to /bin/bash.
13472
13473 2011-06-24  Eric Blake  <eblake@redhat.com>
13474
13475         maint.mk: update sc_prohibit_intprops_without_use
13476         * top/maint.mk (_intprops_names): Match recent changes.
13477
13478 2011-06-24  Bruno Haible  <bruno@clisp.org>
13479
13480         strerror-override: No-op tweak.
13481         * lib/strerror-override.h (strerror_override): Reorder conditions,
13482         for consistency with lib/strerror-override.c.
13483
13484 2011-06-23  Eric Blake  <eblake@redhat.com>
13485
13486         maint.mk: test further PATH_MAX issues
13487         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13488         (sc_prohibit_path_max_allocation): ...and also test alloca.
13489         Suggested by Jim Meyering.
13490
13491 2011-06-22  Eric Blake  <eblake@redhat.com>
13492
13493         maint.mk: add syntax-check to avoid char[PATH_MAX]
13494         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13495
13496         stat: be robust to PATH_MAX definition
13497         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13498         * modules/stat (Depends-on): Add verify.
13499
13500         link: work around IRIX bug
13501         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13502         * lib/link.c (rpl_link): Work around it.
13503         * tests/test-link.h (test_link): Enhance test.
13504         * doc/posix-functions/link.texi (link): Document the bug.
13505
13506         getopt: silence clang warning
13507         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13508         dereference.
13509         Reported by Gustavo Martin Domato.
13510
13511 2011-06-22  Jim Meyering  <meyering@redhat.com>
13512
13513         bootstrap: do not insert a blank line into each .gitignore file
13514         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13515
13516 2011-06-21  Eric Blake  <eblake@redhat.com>
13517
13518         perror: test for output mismatch
13519         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13520         perror on IRIX.
13521
13522         strerror_r: fix OpenBSD behavior on out-of-range
13523         * lib/strerror_r.c (strerror_r): Always use maximal string.
13524         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13525
13526         strerror_r: fix OpenBSD behavior on 0
13527         * lib/strerror-override.c (strerror_override): Also override 0
13528         when needed.
13529         * lib/strerror-override.h (strerror_override): Likewise.
13530         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13531         earlier.
13532         * lib/strerror_r.c (strerror_r): Likewise.
13533         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13534         behavior...
13535         (gl_FUNC_STRERROR_0): ...into new macro.
13536         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13537         is overridden.
13538         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13539         * modules/strerror-override (Files): Add strerror.m4.
13540         (configure.ac): Also provide override for 0 when needed.
13541         * doc/posix-functions/strerror.texi (strerror): Document this.
13542         * doc/posix-functions/perror.texi (perror): Likewise.
13543
13544         perror: adjust array size
13545         * modules/perror (Depends-on): Add strerror-override.
13546         * lib/perror.c (perror): Use it to avoid magic number.
13547
13548         strerror-override: reduce size
13549         * lib/strerror-override.c (strerror_override): Use fewer lines.
13550
13551 2011-06-20  Bruno Haible  <bruno@clisp.org>
13552
13553         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13554         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13555
13556 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13557
13558         alloca: port to compilers that can optimize like GCC 4.6.0
13559         * lib/alloca.c (find_stack_direction): New signature, taken from
13560         Autoconf git.  This works with GCC 4.6.0.  This code should never
13561         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13562         be used with other compilers that optimize as well as GCC 4.6.0 does.
13563         (alloca): Adjust to new signature.
13564         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13565         New macro, which patches Autoconf in a similar way.
13566
13567         c-stack: stop worrying about stack direction
13568         * lib/c-stack.c (find_stack_direction): Remove.
13569         (segv_handler): Don't worry about stack direction growth, as it's
13570         too much of a pain to configure this correctly, given how compilers
13571         are optimizing-away our stack-growth detection code.  Instead, assume
13572         that any access to just before or just after the stack is OK.
13573         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13574         Don't require AC_FUNC_ALLOCA; no longer needed.
13575
13576 2011-06-20  Eric Blake  <eblake@redhat.com>
13577
13578         test-stat: don't allocate PATH_MAX bytes
13579         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13580         PATH_MAX-sized buffer.
13581         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13582         * modules/stat-tests (Depends-on): Likewise.
13583         * tests/test-fstatat.c (includes): Drop pathmax.h.
13584         * tests/test-stat.c (includes): Likewise.
13585         Reported by Bruno Haible.
13586
13587 2011-06-20  Bruno Haible  <bruno@clisp.org>
13588
13589         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13590         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13591         * lib/float.c: New file.
13592         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13593         REPLACE_FLOAT_LDBL.
13594         * modules/float (Files): Add lib/float.c.
13595         (configure.ac): Invoke AC_LIBOBJ.
13596         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13597
13598 2011-06-20  Bruno Haible  <bruno@clisp.org>
13599
13600         Tests for module 'float'.
13601         * modules/float-tests: New file.
13602         * tests/test-float.c: New file.
13603
13604 2011-06-19  Bruno Haible  <bruno@clisp.org>
13605
13606         isinf: Coding style.
13607         * lib/isinf.c: Use GNU coding style.
13608
13609 2011-06-19  Bruno Haible  <bruno@clisp.org>
13610
13611         linkat test: Avoid test failure on AIX 7.1.
13612         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
13613         * tests/test-link.h (test_link): Likewise.
13614
13615 2011-06-19  Bruno Haible  <bruno@clisp.org>
13616
13617         pread test: Avoid test failure on OpenBSD 4.9.
13618         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
13619
13620 2011-06-19  Bruno Haible  <bruno@clisp.org>
13621
13622         sprintf-posix: Fix test failure on AIX 7.1.
13623         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
13624         * doc/posix-functions/dprintf.texi: Mention limited precision problem
13625         on AIX.
13626         * doc/posix-functions/fprintf.texi: Likewise.
13627         * doc/posix-functions/printf.texi: Likewise.
13628         * doc/posix-functions/snprintf.texi: Likewise.
13629         * doc/posix-functions/sprintf.texi: Likewise.
13630         * doc/posix-functions/vdprintf.texi: Likewise.
13631         * doc/posix-functions/vfprintf.texi: Likewise.
13632         * doc/posix-functions/vprintf.texi: Likewise.
13633         * doc/posix-functions/vsnprintf.texi: Likewise.
13634         * doc/posix-functions/vsprintf.texi: Likewise.
13635
13636 2011-06-19  Bruno Haible  <bruno@clisp.org>
13637
13638         roundl-ieee: Fix test failure on AIX 7.1.
13639         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
13640         * doc/posix-functions/roundl.texi: Mention problem with negative
13641         arguments.
13642
13643 2011-06-19  Bruno Haible  <bruno@clisp.org>
13644
13645         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13646         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13647         * doc/posix-functions/round.texi: Mention problem with negative
13648         arguments.
13649         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13650
13651 2011-06-19  Bruno Haible  <bruno@clisp.org>
13652
13653         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13654         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13655         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13656         * doc/posix-functions/roundf.texi: Mention problem with negative
13657         arguments.
13658         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13659
13660 2011-06-19  Bruno Haible  <bruno@clisp.org>
13661
13662         ceilf-ieee: Work around bug on MacOS X 10.5.
13663         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
13664
13665         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
13666         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
13667         IEEE compliant, avoid compiler optimizations.
13668         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13669         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13670         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13671         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13672         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13673         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13674         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13675         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13676         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13677         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13678
13679 2011-06-19  Bruno Haible  <bruno@clisp.org>
13680
13681         ceilf-ieee: Work around bug on AIX 7.1.
13682         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
13683         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
13684
13685 2011-06-19  Bruno Haible  <bruno@clisp.org>
13686
13687         ceil-ieee: Work around bug on AIX 7.1.
13688         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
13689         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
13690
13691 2011-06-18  Bruno Haible  <bruno@clisp.org>
13692
13693         fsync test: Avoid test failure on MacOS X and AIX.
13694         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
13695         EINVAL.
13696
13697 2011-06-18  Bruno Haible  <bruno@clisp.org>
13698
13699         openat, fdopendir tests: Fix link errors.
13700         * modules/openat-tests (Depends-on): Add progname.
13701         * modules/fdopendir-tests (Depends-on): Likewise.
13702         * tests/test-fchownat.c: Include progname.h.
13703         (main): Call set_program_name.
13704         * tests/test-fstatat.c: Include progname.h.
13705         (main): Call set_program_name.
13706         * tests/test-mkdirat.c: Include progname.h.
13707         (main): Call set_program_name.
13708         * tests/test-openat.c: Include progname.h.
13709         (main): Call set_program_name.
13710         * tests/test-unlinkat.c: Include progname.h.
13711         (main): Call set_program_name.
13712         * tests/test-fdopendir.c: Include progname.h.
13713         (main): Call set_program_name.
13714
13715 2011-06-18  Bruno Haible  <bruno@clisp.org>
13716
13717         Doc update.
13718         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
13719         HP-UX.
13720         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
13721
13722 2011-06-18  Bruno Haible  <bruno@clisp.org>
13723
13724         getcwd tests: Avoid compilation error on HP-UX 11.31.
13725         * modules/getcwd-tests (Depends-on): Add pathmax.
13726         * tests/test-getcwd.c: Include pathmax.h.
13727
13728 2011-06-18  Bruno Haible  <bruno@clisp.org>
13729
13730         isfinite, isinf: Fix link error on AIX 6 and 7.
13731         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
13732         needed, also test the macro with a 'float' argument.
13733         * m4/isinf.m4 (gl_ISINF): Likewise.
13734
13735 2011-06-18  Bruno Haible  <bruno@clisp.org>
13736
13737         getloadavg: Don't clobber LIBS. Regression from previous commit.
13738         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
13739         AC_CHECK_LIB from here...
13740         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
13741         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
13742         gl_func_getloadavg_done.
13743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13744
13745 2011-06-18  Bruno Haible  <bruno@clisp.org>
13746
13747         clean-temp: Improve documentation.
13748         * lib/clean-temp.h: Explain better how to use this module.
13749         Reported by John Darrington <john@darrington.wattle.id.au>.
13750
13751 2011-06-17  Bruno Haible  <bruno@clisp.org>
13752
13753         pread, pwrite: Avoid cc warning on AIX.
13754         * lib/unistd.in.h (pread): Undefine before defining as a macro.
13755         (pwrite): Likewise.
13756
13757 2011-06-17  Bruno Haible  <bruno@clisp.org>
13758
13759         spawn-pipe tests: Fix link error.
13760         * tests/test-spawn-pipe-child.c: Undefine fprintf.
13761         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13762
13763 2011-06-17  Bruno Haible  <bruno@clisp.org>
13764
13765         Tests: Remove unnecessary dependency.
13766         * modules/canonicalize-tests (Depends-on): Remove progname.
13767         * modules/chown-tests (Depends-on): Likewise.
13768         * modules/dirname-tests (Depends-on): Likewise.
13769         * modules/fdopendir-tests (Depends-on): Likewise.
13770         * modules/fdutimensat-tests (Depends-on): Likewise.
13771         * modules/hash-tests (Depends-on): Likewise.
13772         * modules/lchown-tests (Depends-on): Likewise.
13773         * modules/linkat-tests (Depends-on): Likewise.
13774         * modules/renameat-tests (Depends-on): Likewise.
13775         * modules/spawn-pipe-tests (Depends-on): Likewise.
13776         * modules/utimensat-tests (Depends-on): Likewise.
13777
13778 2011-06-17  Bruno Haible  <bruno@clisp.org>
13779
13780         spawn-pipe tests: Fix link error.
13781         * tests/test-spawn-pipe-child.c: Undefine fflush.
13782
13783 2011-06-17  Bruno Haible  <bruno@clisp.org>
13784
13785         Fix tests link errors.
13786         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
13787         * modules/chown-tests (Makefile.am): Don't link test-chown with
13788         LIBINTL.
13789         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
13790         LIBINTL.
13791         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
13792         LIBINTL.
13793         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
13794         LIBINTL.
13795
13796 2011-06-16  Bruno Haible  <bruno@clisp.org>
13797
13798         crypto/gc-sha1: Fix recent regression.
13799         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
13800         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
13801
13802         crypto/gc-md5: Fix recent regression.
13803         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
13804
13805         crypto/gc-md4: Fix recent regression.
13806         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
13807         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
13808
13809         crypto/gc-arctwo: Fix recent regression.
13810         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
13811         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
13812
13813         crypto/gc-rijndael: Fix recent regression.
13814         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
13815         (configure.ac): Invoke AC_LIBOBJ here.
13816         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
13817         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13818
13819         crypto/gc-hmac-sha1: Fix recent regression.
13820         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
13821         (configure.ac): Invoke AC_LIBOBJ here.
13822         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
13823         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13824
13825         crypto/gc-hmac-md5: Fix recent regression.
13826         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
13827         (configure.ac): Invoke AC_LIBOBJ here.
13828         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
13829         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13830
13831         crypto/gc-des: Fix recent regression.
13832         * modules/crypto/gc-des (Files): Remove m4/des.m4.
13833         (configure.ac): Invoke AC_LIBOBJ here.
13834         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
13835         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13836
13837         crypto/gc-arcfour: Fix recent regression.
13838         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
13839         (configure.ac): Invoke AC_LIBOBJ here.
13840         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
13841         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13842
13843 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
13844
13845         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
13846         After the 2011-05-21 change, this macro requires
13847         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
13848         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13849
13850 2011-06-16  Bruno Haible  <bruno@clisp.org>
13851
13852         fprintftime: Move AC_LIBOBJ invocations to module description.
13853         * m4/fprintftime.m4: Remove file.
13854         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
13855         (configure.ac): Remove gl_FPRINTFTIME call.
13856         (Makefile.am): Augment lib_SOURCES.
13857         Reported by Jim Meyering.
13858
13859 2011-06-16  Bruno Haible  <bruno@clisp.org>
13860
13861         tmpfile-safer: Finish 2011-05-23 commit.
13862         * m4/stdio-safer.m4: Really remove file.
13863         Reported by Jim Meyering.
13864
13865 2011-06-16  Bruno Haible  <bruno@clisp.org>
13866
13867         syntax-check: Fix typo.
13868         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
13869         printf-posix.m4.
13870         Reported by Jim Meyering.
13871
13872 2011-06-13  Jim Meyering  <meyering@redhat.com>
13873
13874         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
13875         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
13876
13877 2011-05-23  Bruno Haible  <bruno@clisp.org>
13878
13879         yesno: Move AC_LIBOBJ invocations to module description.
13880         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
13881         * modules/yesno (Makefile.am): Augment lib_SOURCES.
13882
13883 2011-05-23  Bruno Haible  <bruno@clisp.org>
13884
13885         xstrtol: Move AC_LIBOBJ invocations to module description.
13886         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
13887         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
13888
13889 2011-05-23  Bruno Haible  <bruno@clisp.org>
13890
13891         xstrtold: Move AC_LIBOBJ invocations to module description.
13892         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
13893         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
13894
13895 2011-05-23  Bruno Haible  <bruno@clisp.org>
13896
13897         xstrtod: Move AC_LIBOBJ invocations to module description.
13898         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
13899         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
13900
13901 2011-05-23  Bruno Haible  <bruno@clisp.org>
13902
13903         xnanosleep: Move AC_LIBOBJ invocations to module description.
13904         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
13905         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
13906
13907 2011-05-23  Bruno Haible  <bruno@clisp.org>
13908
13909         xgetcwd: Move AC_LIBOBJ invocations to module description.
13910         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
13911         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
13912
13913 2011-05-23  Bruno Haible  <bruno@clisp.org>
13914
13915         xalloc: Move AC_LIBOBJ invocations to module description.
13916         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
13917         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
13918
13919 2011-05-23  Bruno Haible  <bruno@clisp.org>
13920
13921         write-any-file: Move AC_LIBOBJ invocations to module description.
13922         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
13923         invocation.
13924         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
13925
13926 2011-05-23  Bruno Haible  <bruno@clisp.org>
13927
13928         utimens: Move AC_LIBOBJ invocations to module description.
13929         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
13930         * modules/utimens (Makefile.am): Augment lib_SOURCES.
13931
13932 2011-05-23  Bruno Haible  <bruno@clisp.org>
13933
13934         utimecmp: Move AC_LIBOBJ invocations to module description.
13935         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
13936         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
13937
13938 2011-05-23  Bruno Haible  <bruno@clisp.org>
13939
13940         userspec: Move AC_LIBOBJ invocations to module description.
13941         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
13942         * modules/userspec (Makefile.am): Augment lib_SOURCES.
13943
13944 2011-05-23  Bruno Haible  <bruno@clisp.org>
13945
13946         unlinkdir: Move AC_LIBOBJ invocations to module description.
13947         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
13948         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
13949
13950 2011-05-23  Bruno Haible  <bruno@clisp.org>
13951
13952         unistd-safer: Move AC_LIBOBJ invocations to module description.
13953         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
13954         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
13955
13956 2011-05-23  Bruno Haible  <bruno@clisp.org>
13957
13958         tempname: Move AC_LIBOBJ invocations to module description.
13959         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
13960         * modules/tempname (Makefile.am): Augment lib_SOURCES.
13961
13962 2011-05-23  Bruno Haible  <bruno@clisp.org>
13963
13964         strftime: Move AC_LIBOBJ invocations to module description.
13965         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
13966         * modules/strftime (Makefile.am): Augment lib_SOURCES.
13967
13968 2011-05-23  Bruno Haible  <bruno@clisp.org>
13969
13970         stdlib-safer: Move AC_LIBOBJ invocations to module description.
13971         * m4/stdlib-safer.m4: Remove file.
13972         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
13973         (configure.ac): Remove gl_STDLIB_SAFER call.
13974         (Makefile.am): Augment lib_SOURCES.
13975
13976 2011-05-23  Bruno Haible  <bruno@clisp.org>
13977
13978         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
13979         * m4/stdio-safer.m4: Remove file.
13980         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
13981         (configure.ac): Remove gl_TMPFILE_SAFER call.
13982         (Makefile.am): Augment lib_SOURCES.
13983
13984 2011-05-23  Bruno Haible  <bruno@clisp.org>
13985
13986         popen-safer: Move AC_LIBOBJ invocations to module description.
13987         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
13988         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
13989         (configure.ac): Remove gl_POPEN_SAFER call.
13990         (Makefile.am): Augment lib_SOURCES.
13991
13992 2011-05-23  Bruno Haible  <bruno@clisp.org>
13993
13994         freopen-safer: Move AC_LIBOBJ invocations to module description.
13995         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
13996         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
13997         (configure.ac): Remove gl_FREOPEN_SAFER call.
13998         (Makefile.am): Augment lib_SOURCES.
13999
14000 2011-05-23  Bruno Haible  <bruno@clisp.org>
14001
14002         fopen-safer: Move AC_LIBOBJ invocations to module description.
14003         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
14004         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
14005         (configure.ac): Remove gl_FOPEN_SAFER call.
14006         (Makefile.am): Augment lib_SOURCES.
14007
14008 2011-05-23  Bruno Haible  <bruno@clisp.org>
14009
14010         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14011         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14012         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14013
14014 2011-05-23  Bruno Haible  <bruno@clisp.org>
14015
14016         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14017         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14018         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14019
14020 2011-05-23  Bruno Haible  <bruno@clisp.org>
14021
14022         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14023         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14024         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14025
14026 2011-05-23  Bruno Haible  <bruno@clisp.org>
14027
14028         settime: Move AC_LIBOBJ invocations to module description.
14029         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14030         * modules/settime (Makefile.am): Augment lib_SOURCES.
14031
14032 2011-05-23  Bruno Haible  <bruno@clisp.org>
14033
14034         savedir: Move AC_LIBOBJ invocations to module description.
14035         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14036         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14037
14038 2011-05-23  Bruno Haible  <bruno@clisp.org>
14039
14040         save-cwd: Move AC_LIBOBJ invocations to module description.
14041         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14042         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14043
14044 2011-05-23  Bruno Haible  <bruno@clisp.org>
14045
14046         same: Move AC_LIBOBJ invocations to module description.
14047         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14048         * modules/same (Makefile.am): Augment lib_SOURCES.
14049
14050 2011-05-23  Bruno Haible  <bruno@clisp.org>
14051
14052         safe-write: Move AC_LIBOBJ invocations to module description.
14053         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14054         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14055         instead of gl_SAFE_WRITE.
14056         (Makefile.am): Augment lib_SOURCES.
14057
14058 2011-05-23  Bruno Haible  <bruno@clisp.org>
14059
14060         safe-read: Move AC_LIBOBJ invocations to module description.
14061         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14062         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14063         of gl_SAFE_READ.
14064         (Makefile.am): Augment lib_SOURCES.
14065
14066 2011-05-23  Bruno Haible  <bruno@clisp.org>
14067
14068         safe-alloc: Move AC_LIBOBJ invocations to module description.
14069         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
14070         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
14071
14072 2011-05-23  Bruno Haible  <bruno@clisp.org>
14073
14074         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
14075         * m4/rijndael.m4: Remove file.
14076         * modules/crypto/rijndael (Files): Remove it.
14077         (configure.ac): Remove gl_RIJNDAEL call.
14078         (Makefile.am): Augment lib_SOURCES.
14079
14080 2011-05-23  Bruno Haible  <bruno@clisp.org>
14081
14082         readtokens: Move AC_LIBOBJ invocations to module description.
14083         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
14084         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
14085
14086 2011-05-23  Bruno Haible  <bruno@clisp.org>
14087
14088         read-file: Move AC_LIBOBJ invocations to module description.
14089         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
14090         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
14091         of gl_FUNC_READ_FILE.
14092         (Makefile.am): Augment lib_SOURCES.
14093
14094 2011-05-23  Bruno Haible  <bruno@clisp.org>
14095
14096         quotearg: Move AC_LIBOBJ invocations to module description.
14097         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
14098         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
14099
14100 2011-05-23  Bruno Haible  <bruno@clisp.org>
14101
14102         quote: Move AC_LIBOBJ invocations to module description.
14103         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
14104         * modules/quote (Makefile.am): Augment lib_SOURCES.
14105
14106 2011-05-23  Bruno Haible  <bruno@clisp.org>
14107
14108         posixver: Move AC_LIBOBJ invocations to module description.
14109         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
14110         * modules/posixver (Makefile.am): Augment lib_SOURCES.
14111
14112 2011-05-23  Bruno Haible  <bruno@clisp.org>
14113
14114         posixtm: Move AC_LIBOBJ invocations to module description.
14115         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
14116         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
14117
14118 2011-05-23  Bruno Haible  <bruno@clisp.org>
14119
14120         physmem: Move AC_LIBOBJ invocations to module description.
14121         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
14122         * modules/physmem (Makefile.am): Augment lib_SOURCES.
14123
14124 2011-05-23  Bruno Haible  <bruno@clisp.org>
14125
14126         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
14127         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
14128         invocation.
14129         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
14130
14131 2011-05-23  Bruno Haible  <bruno@clisp.org>
14132
14133         mpsort: Move AC_LIBOBJ invocations to module description.
14134         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
14135         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
14136
14137 2011-05-23  Bruno Haible  <bruno@clisp.org>
14138
14139         modechange: Move AC_LIBOBJ invocations to module description.
14140         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
14141         * modules/modechange (Makefile.am): Augment lib_SOURCES.
14142
14143 2011-05-23  Bruno Haible  <bruno@clisp.org>
14144
14145         mkdir-p: Move AC_LIBOBJ invocations to module description.
14146         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
14147         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
14148
14149 2011-05-23  Bruno Haible  <bruno@clisp.org>
14150
14151         mkancesdirs: Move AC_LIBOBJ invocations to module description.
14152         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
14153         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
14154
14155 2011-05-23  Bruno Haible  <bruno@clisp.org>
14156
14157         mgetgroups: Move AC_LIBOBJ invocations to module description.
14158         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
14159         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
14160
14161 2011-05-23  Bruno Haible  <bruno@clisp.org>
14162
14163         memxor: Move AC_LIBOBJ invocations to module description.
14164         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
14165         * modules/memxor (Makefile.am): Augment lib_SOURCES.
14166
14167 2011-05-23  Bruno Haible  <bruno@clisp.org>
14168
14169         memcoll: Move AC_LIBOBJ invocations to module description.
14170         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
14171         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
14172
14173 2011-05-23  Bruno Haible  <bruno@clisp.org>
14174
14175         memcasecmp: Move AC_LIBOBJ invocations to module description.
14176         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
14177         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
14178
14179 2011-05-23  Bruno Haible  <bruno@clisp.org>
14180
14181         crypto/md5: Move AC_LIBOBJ invocations to module description.
14182         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
14183         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
14184
14185 2011-05-23  Bruno Haible  <bruno@clisp.org>
14186
14187         crypto/md4: Move AC_LIBOBJ invocations to module description.
14188         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
14189         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
14190
14191 2011-05-23  Bruno Haible  <bruno@clisp.org>
14192
14193         crypto/md2: Move AC_LIBOBJ invocations to module description.
14194         * m4/md2.m4: Remove file.
14195         * modules/crypto/md2 (Files): Remove it.
14196         (configure.ac): Remove gl_MD2 call.
14197         (Makefile.am): Augment lib_SOURCES.
14198
14199 2011-05-23  Bruno Haible  <bruno@clisp.org>
14200
14201         long-options: Move AC_LIBOBJ invocations to module description.
14202         * m4/long-options.m4: Remove file.
14203         * modules/long-options (Files): Remove it.
14204         (configure.ac): Remove gl_LONG_OPTIONS call.
14205         (Makefile.am): Augment lib_SOURCES.
14206
14207 2011-05-23  Bruno Haible  <bruno@clisp.org>
14208
14209         i-ring: Move AC_LIBOBJ invocations to module description.
14210         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
14211         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
14212
14213 2011-05-23  Bruno Haible  <bruno@clisp.org>
14214
14215         idcache: Move AC_LIBOBJ invocations to module description.
14216         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
14217         * modules/idcache (Makefile.am): Augment lib_SOURCES.
14218
14219 2011-05-23  Bruno Haible  <bruno@clisp.org>
14220
14221         human: Move AC_LIBOBJ invocations to module description.
14222         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
14223         * modules/human (Makefile.am): Augment lib_SOURCES.
14224
14225 2011-05-23  Bruno Haible  <bruno@clisp.org>
14226
14227         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
14228         * m4/hmac-sha1.m4: Remove file.
14229         * modules/crypto/hmac-sha1 (Files): Remove it.
14230         (configure.ac): Remove gl_HMAC_SHA1 call.
14231         (Makefile.am): Augment lib_SOURCES.
14232
14233 2011-05-23  Bruno Haible  <bruno@clisp.org>
14234
14235         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
14236         * m4/hmac-md5.m4: Remove file.
14237         * modules/crypto/hmac-md5 (Files): Remove it.
14238         (configure.ac): Remove gl_HMAC_MD5 call.
14239         (Makefile.am): Augment lib_SOURCES.
14240
14241 2011-05-23  Bruno Haible  <bruno@clisp.org>
14242
14243         hash: Move AC_LIBOBJ invocations to module description.
14244         * m4/hash.m4: Remove file.
14245         * modules/hash (Files): Remove it.
14246         (configure.ac): Remove gl_HASH call.
14247         (Makefile.am): Augment lib_SOURCES.
14248
14249 2011-05-23  Bruno Haible  <bruno@clisp.org>
14250
14251         hard-locale: Move AC_LIBOBJ invocations to module description.
14252         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
14253         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
14254
14255 2011-05-23  Bruno Haible  <bruno@clisp.org>
14256
14257         getugroups: Move AC_LIBOBJ invocations to module description.
14258         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
14259         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
14260
14261 2011-05-23  Bruno Haible  <bruno@clisp.org>
14262
14263         gettime: Move AC_LIBOBJ invocations to module description.
14264         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
14265         * modules/gettime (Makefile.am): Augment lib_SOURCES.
14266
14267 2011-05-23  Bruno Haible  <bruno@clisp.org>
14268
14269         getndelim2: Move AC_LIBOBJ invocations to module description.
14270         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
14271         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
14272
14273 2011-05-23  Bruno Haible  <bruno@clisp.org>
14274
14275         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
14276         * m4/gc-pbkdf2-sha1.m4: Remove file.
14277         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
14278         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
14279         (Makefile.am): Augment lib_SOURCES.
14280
14281 2011-05-23  Bruno Haible  <bruno@clisp.org>
14282
14283         fts: Move AC_LIBOBJ invocations to module description.
14284         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
14285         * modules/fts (configure.ac): ... to here.
14286
14287 2011-05-23  Bruno Haible  <bruno@clisp.org>
14288
14289         file-type: Move AC_LIBOBJ invocations to module description.
14290         * m4/file-type.m4: Remove file.
14291         * modules/file-type (Files): Remove it.
14292         (configure.ac): Remove gl_FILE_TYPE call.
14293         (Makefile.am): Augment lib_SOURCES.
14294
14295 2011-05-23  Bruno Haible  <bruno@clisp.org>
14296
14297         filenamecat*: Respect rules for use of AC_LIBOBJ.
14298         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
14299         Remove AC_LIBOBJ invocation.
14300         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
14301         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
14302
14303 2011-05-23  Bruno Haible  <bruno@clisp.org>
14304
14305         filemode: Move AC_LIBOBJ invocations to module description.
14306         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
14307         * modules/filemode (Makefile.am): Augment lib_SOURCES.
14308
14309 2011-05-23  Bruno Haible  <bruno@clisp.org>
14310
14311         openat-safer: Move AC_LIBOBJ invocations to module description.
14312         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
14313         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
14314
14315 2011-05-23  Bruno Haible  <bruno@clisp.org>
14316
14317         fcntl-safer: Move AC_LIBOBJ invocations to module description.
14318         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
14319         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
14320
14321 2011-05-23  Bruno Haible  <bruno@clisp.org>
14322
14323         exclude: Move AC_LIBOBJ invocations to module description.
14324         * m4/exclude.m4: Remove file.
14325         * modules/exclude (Files): Remove it.
14326         (configure.ac): Remove gl_EXCLUDE call.
14327         (Makefile.am): Augment lib_SOURCES.
14328
14329 2011-05-23  Bruno Haible  <bruno@clisp.org>
14330
14331         dirname*: Respect rules for use of AC_LIBOBJ.
14332         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
14333         invocations.
14334         * modules/dirname (Makefile.am): Augment lib_SOURCES.
14335         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
14336
14337 2011-05-23  Bruno Haible  <bruno@clisp.org>
14338
14339         dirent-safer: Move AC_LIBOBJ invocations to module description.
14340         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
14341         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
14342
14343 2011-05-23  Bruno Haible  <bruno@clisp.org>
14344
14345         crypto/des: Move AC_LIBOBJ invocations to module description.
14346         * m4/des.m4: Remove file.
14347         * modules/crypto/des (Files): Remove it.
14348         (configure.ac): Remove gl_DES call.
14349         (Makefile.am): Augment lib_SOURCES.
14350
14351 2011-05-23  Bruno Haible  <bruno@clisp.org>
14352
14353         cycle-check: Move AC_LIBOBJ invocations to module description.
14354         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
14355         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
14356
14357 2011-05-23  Bruno Haible  <bruno@clisp.org>
14358
14359         c-strtold: Move AC_LIBOBJ invocations to module description.
14360         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
14361         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
14362
14363 2011-05-23  Bruno Haible  <bruno@clisp.org>
14364
14365         c-strtod: Move AC_LIBOBJ invocations to module description.
14366         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
14367         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
14368
14369 2011-05-23  Bruno Haible  <bruno@clisp.org>
14370
14371         crc: Move AC_LIBOBJ invocations to module description.
14372         * m4/crc.m4: Remove file.
14373         * modules/crc (Files): Remove it.
14374         (configure.ac): Remove gl_CRC call.
14375         (Makefile.am): Augment lib_SOURCES.
14376
14377 2011-05-23  Bruno Haible  <bruno@clisp.org>
14378
14379         close-stream: Move AC_LIBOBJ invocations to module description.
14380         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
14381         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
14382
14383 2011-05-23  Bruno Haible  <bruno@clisp.org>
14384
14385         closeout: Move AC_LIBOBJ invocations to module description.
14386         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
14387         * modules/closeout (Makefile.am): Augment lib_SOURCES.
14388
14389 2011-05-23  Bruno Haible  <bruno@clisp.org>
14390
14391         closein: Move AC_LIBOBJ invocations to module description.
14392         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
14393         * modules/closein (Makefile.am): Augment lib_SOURCES.
14394
14395 2011-05-23  Bruno Haible  <bruno@clisp.org>
14396
14397         cloexec: Move AC_LIBOBJ invocations to module description.
14398         * m4/cloexec.m4: Remove file.
14399         * modules/cloexec (Files): Remove it.
14400         (configure.ac): Remove gl_CLOEXEC call.
14401         (Makefile.am): Augment lib_SOURCES.
14402
14403 2011-05-23  Bruno Haible  <bruno@clisp.org>
14404
14405         check-version: Move AC_LIBOBJ invocations to module description.
14406         * m4/check-version.m4: Remove file.
14407         * modules/check-version (Files): Remove it.
14408         (configure.ac): Remove gl_CHECK_VERSION call.
14409         (Makefile.am): Augment lib_SOURCES.
14410
14411 2011-05-23  Bruno Haible  <bruno@clisp.org>
14412
14413         chdir-safer: Move AC_LIBOBJ invocations to module description.
14414         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
14415         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
14416
14417 2011-05-23  Bruno Haible  <bruno@clisp.org>
14418
14419         canonicalize: Move AC_LIBOBJ invocations to module description.
14420         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
14421         AC_LIBOBJ invocation.
14422         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
14423
14424 2011-05-23  Bruno Haible  <bruno@clisp.org>
14425
14426         canon-host: Move AC_LIBOBJ invocations to module description.
14427         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
14428         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
14429         instead of gl_CANON_HOST.
14430         (Makefile.am): Augment lib_SOURCES.
14431
14432 2011-05-23  Bruno Haible  <bruno@clisp.org>
14433
14434         backupfile: Move AC_LIBOBJ invocations to module description.
14435         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14436         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14437
14438 2011-05-23  Bruno Haible  <bruno@clisp.org>
14439
14440         argmatch: Move AC_LIBOBJ invocations to module description.
14441         * m4/argmatch.m4: Remove file.
14442         * modules/argmatch (Files): Remove it.
14443         (configure.ac): Remove gl_ARGMATCH call.
14444         (Makefile.am): Augment lib_SOURCES.
14445
14446 2011-05-23  Bruno Haible  <bruno@clisp.org>
14447
14448         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14449         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14450         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14451
14452 2011-05-23  Bruno Haible  <bruno@clisp.org>
14453
14454         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14455         * m4/arcfour.m4: Remove file.
14456         * modules/crypto/arcfour (Files): Remove it.
14457         (configure.ac): Remove gl_ARCFOUR call.
14458         (Makefile.am): Augment lib_SOURCES.
14459
14460 2011-05-22  Bruno Haible  <bruno@clisp.org>
14461
14462         write: Move AC_LIBOBJ invocations to module description.
14463         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14464         * modules/write (configure.ac): ... to here.
14465
14466 2011-05-22  Bruno Haible  <bruno@clisp.org>
14467
14468         wmemset: Move AC_LIBOBJ invocations to module description.
14469         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14470         here...
14471         * modules/wmemset (configure.ac): ... to here.
14472
14473 2011-05-22  Bruno Haible  <bruno@clisp.org>
14474
14475         wmemmove: Move AC_LIBOBJ invocations to module description.
14476         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14477         here...
14478         * modules/wmemmove (configure.ac): ... to here.
14479
14480 2011-05-22  Bruno Haible  <bruno@clisp.org>
14481
14482         wmemcpy: Move AC_LIBOBJ invocations to module description.
14483         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14484         here...
14485         * modules/wmemcpy (configure.ac): ... to here.
14486
14487 2011-05-22  Bruno Haible  <bruno@clisp.org>
14488
14489         wmemcmp: Move AC_LIBOBJ invocations to module description.
14490         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14491         here...
14492         * modules/wmemcmp (configure.ac): ... to here.
14493
14494 2011-05-22  Bruno Haible  <bruno@clisp.org>
14495
14496         wmemchr: Move AC_LIBOBJ invocations to module description.
14497         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14498         here...
14499         * modules/wmemchr (configure.ac): ... to here.
14500
14501 2011-05-22  Bruno Haible  <bruno@clisp.org>
14502
14503         wcswidth: Move AC_LIBOBJ invocations to module description.
14504         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14505         here...
14506         * modules/wcswidth (configure.ac): ... to here.
14507
14508 2011-05-22  Bruno Haible  <bruno@clisp.org>
14509
14510         wcwidth: Respect rules for use of AC_LIBOBJ.
14511         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14512         invocation from here...
14513         * modules/wcwidth (configure.ac): ... to here.
14514         (Depends-on): Update conditions.
14515
14516 2011-05-22  Bruno Haible  <bruno@clisp.org>
14517
14518         wctype: Move AC_LIBOBJ invocations to module description.
14519         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14520         invocation from here...
14521         * modules/wctype (configure.ac): ... to here.
14522         (Depends-on): Update conditions.
14523
14524 2011-05-22  Bruno Haible  <bruno@clisp.org>
14525
14526         wctrans: Move AC_LIBOBJ invocations to module description.
14527         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14528         invocation from here...
14529         * modules/wctrans (configure.ac): ... to here.
14530
14531 2011-05-22  Bruno Haible  <bruno@clisp.org>
14532
14533         wctomb: Move AC_LIBOBJ invocations to module description.
14534         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14535         invocations from here...
14536         * modules/wctomb (configure.ac): ... to here.
14537
14538 2011-05-22  Bruno Haible  <bruno@clisp.org>
14539
14540         wctob: Move AC_LIBOBJ invocations to module description.
14541         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14542         gl_PREREQ_WCTOB invocations from here...
14543         * modules/wctob (configure.ac): ... to here.
14544         (Depends-on): Update conditions.
14545
14546 2011-05-22  Bruno Haible  <bruno@clisp.org>
14547
14548         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14549         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14550         here...
14551         * modules/wcsxfrm (configure.ac): ... to here.
14552
14553 2011-05-22  Bruno Haible  <bruno@clisp.org>
14554
14555         wcstok: Move AC_LIBOBJ invocations to module description.
14556         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14557         * modules/wcstok (configure.ac): ... to here.
14558
14559 2011-05-22  Bruno Haible  <bruno@clisp.org>
14560
14561         wcsstr: Move AC_LIBOBJ invocations to module description.
14562         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14563         * modules/wcsstr (configure.ac): ... to here.
14564
14565 2011-05-22  Bruno Haible  <bruno@clisp.org>
14566
14567         wcsspn: Move AC_LIBOBJ invocations to module description.
14568         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14569         * modules/wcsspn (configure.ac): ... to here.
14570
14571 2011-05-22  Bruno Haible  <bruno@clisp.org>
14572
14573         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14574         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14575         gl_PREREQ_WCSRTOMBS invocations from here...
14576         * modules/wcsrtombs (configure.ac): ... to here.
14577
14578 2011-05-22  Bruno Haible  <bruno@clisp.org>
14579
14580         wcsrchr: Move AC_LIBOBJ invocations to module description.
14581         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14582         here...
14583         * modules/wcsrchr (configure.ac): ... to here.
14584
14585 2011-05-22  Bruno Haible  <bruno@clisp.org>
14586
14587         wcspbrk: Move AC_LIBOBJ invocations to module description.
14588         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14589         here...
14590         * modules/wcspbrk (configure.ac): ... to here.
14591
14592 2011-05-22  Bruno Haible  <bruno@clisp.org>
14593
14594         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14595         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14596         gl_PREREQ_WCSNRTOMBS invocations from here...
14597         * modules/wcsnrtombs (configure.ac): ... to here.
14598
14599 2011-05-22  Bruno Haible  <bruno@clisp.org>
14600
14601         wcsnlen: Move AC_LIBOBJ invocations to module description.
14602         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
14603         here...
14604         * modules/wcsnlen (configure.ac): ... to here.
14605
14606 2011-05-22  Bruno Haible  <bruno@clisp.org>
14607
14608         wcsncpy: Move AC_LIBOBJ invocations to module description.
14609         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
14610         here...
14611         * modules/wcsncpy (configure.ac): ... to here.
14612
14613 2011-05-22  Bruno Haible  <bruno@clisp.org>
14614
14615         wcsncmp: Move AC_LIBOBJ invocations to module description.
14616         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
14617         here...
14618         * modules/wcsncmp (configure.ac): ... to here.
14619
14620 2011-05-22  Bruno Haible  <bruno@clisp.org>
14621
14622         wcsncat: Move AC_LIBOBJ invocations to module description.
14623         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
14624         here...
14625         * modules/wcsncat (configure.ac): ... to here.
14626
14627 2011-05-22  Bruno Haible  <bruno@clisp.org>
14628
14629         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
14630         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
14631         from here...
14632         * modules/wcsncasecmp (configure.ac): ... to here.
14633
14634 2011-05-22  Bruno Haible  <bruno@clisp.org>
14635
14636         wcslen: Move AC_LIBOBJ invocations to module description.
14637         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
14638         * modules/wcslen (configure.ac): ... to here.
14639
14640 2011-05-22  Bruno Haible  <bruno@clisp.org>
14641
14642         wcsdup: Move AC_LIBOBJ invocations to module description.
14643         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14644         * modules/wcsdup (configure.ac): ... to here.
14645
14646 2011-05-22  Bruno Haible  <bruno@clisp.org>
14647
14648         wcscspn: Move AC_LIBOBJ invocations to module description.
14649         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14650         here...
14651         * modules/wcscspn (configure.ac): ... to here.
14652
14653 2011-05-22  Bruno Haible  <bruno@clisp.org>
14654
14655         wcscpy: Move AC_LIBOBJ invocations to module description.
14656         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14657         * modules/wcscpy (configure.ac): ... to here.
14658
14659 2011-05-22  Bruno Haible  <bruno@clisp.org>
14660
14661         wcscoll: Move AC_LIBOBJ invocations to module description.
14662         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
14663         here...
14664         * modules/wcscoll (configure.ac): ... to here.
14665
14666 2011-05-22  Bruno Haible  <bruno@clisp.org>
14667
14668         wcscmp: Move AC_LIBOBJ invocations to module description.
14669         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
14670         * modules/wcscmp (configure.ac): ... to here.
14671
14672 2011-05-22  Bruno Haible  <bruno@clisp.org>
14673
14674         wcschr: Move AC_LIBOBJ invocations to module description.
14675         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
14676         * modules/wcschr (configure.ac): ... to here.
14677
14678 2011-05-22  Bruno Haible  <bruno@clisp.org>
14679
14680         wcscat: Move AC_LIBOBJ invocations to module description.
14681         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
14682         * modules/wcscat (configure.ac): ... to here.
14683
14684 2011-05-22  Bruno Haible  <bruno@clisp.org>
14685
14686         wcscasecmp: Move AC_LIBOBJ invocations to module description.
14687         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
14688         here...
14689         * modules/wcscasecmp (configure.ac): ... to here.
14690
14691 2011-05-22  Bruno Haible  <bruno@clisp.org>
14692
14693         wcrtomb: Move AC_LIBOBJ invocations to module description.
14694         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
14695         invocations from here...
14696         * modules/wcrtomb (configure.ac): ... to here.
14697
14698 2011-05-22  Bruno Haible  <bruno@clisp.org>
14699
14700         wcpncpy: Move AC_LIBOBJ invocations to module description.
14701         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
14702         here...
14703         * modules/wcpncpy (configure.ac): ... to here.
14704
14705 2011-05-22  Bruno Haible  <bruno@clisp.org>
14706
14707         wcpcpy: Move AC_LIBOBJ invocations to module description.
14708         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
14709         * modules/wcpcpy (configure.ac): ... to here.
14710
14711 2011-05-22  Bruno Haible  <bruno@clisp.org>
14712
14713         waitpid: Move AC_LIBOBJ invocations to module description.
14714         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
14715         invocation from here...
14716         * modules/waitpid (configure.ac): ... to here.
14717
14718 2011-05-22  Bruno Haible  <bruno@clisp.org>
14719
14720         utimensat: Move AC_LIBOBJ invocations to module description.
14721         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
14722         here...
14723         * modules/utimensat (configure.ac): ... to here.
14724
14725 2011-05-22  Bruno Haible  <bruno@clisp.org>
14726
14727         usleep: Move AC_LIBOBJ invocations to module description.
14728         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
14729         here...
14730         * modules/usleep (configure.ac): ... to here.
14731
14732 2011-05-22  Bruno Haible  <bruno@clisp.org>
14733
14734         unlockpt: Move AC_LIBOBJ invocations to module description.
14735         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
14736         gl_PREREQ_UNLOCKPT invocations from here...
14737         * modules/unlockpt (configure.ac): ... to here.
14738
14739 2011-05-22  Bruno Haible  <bruno@clisp.org>
14740
14741         unlink: Respect rules for use of AC_LIBOBJ.
14742         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
14743         * modules/unlink (configure.ac): ... to here.
14744
14745 2011-05-22  Bruno Haible  <bruno@clisp.org>
14746
14747         uname: Move AC_LIBOBJ invocations to module description.
14748         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
14749         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
14750         here...
14751         * modules/uname (configure.ac): ... to here.
14752
14753 2011-05-22  Bruno Haible  <bruno@clisp.org>
14754
14755         ttyname_r: Move AC_LIBOBJ invocations to module description.
14756         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
14757         gl_PREREQ_TTYNAME_R invocations from here...
14758         * modules/ttyname_r (configure.ac): ... to here.
14759
14760 2011-05-22  Bruno Haible  <bruno@clisp.org>
14761
14762         tsearch: Move AC_LIBOBJ invocations to module description.
14763         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
14764         invocations from here...
14765         * modules/tsearch (configure.ac): ... to here.
14766
14767 2011-05-22  Bruno Haible  <bruno@clisp.org>
14768
14769         towctrans: Move AC_LIBOBJ invocations to module description.
14770         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
14771         AC_LIBOBJ invocation from here...
14772         * modules/towctrans (configure.ac): ... to here.
14773
14774 2011-05-22  Bruno Haible  <bruno@clisp.org>
14775
14776         tmpfile: Move AC_LIBOBJ invocations to module description.
14777         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
14778         invocations from here...
14779         * modules/tmpfile (configure.ac): ... to here.
14780
14781 2011-05-22  Bruno Haible  <bruno@clisp.org>
14782
14783         times: Move AC_LIBOBJ invocations to module description.
14784         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
14785         * modules/times (configure.ac): ... to here.
14786
14787 2011-05-22  Bruno Haible  <bruno@clisp.org>
14788
14789         time_r: Move AC_LIBOBJ invocations to module description.
14790         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
14791         invocations from here...
14792         * modules/time_r (configure.ac): ... to here.
14793
14794 2011-05-22  Bruno Haible  <bruno@clisp.org>
14795
14796         timegm: Move AC_LIBOBJ invocations to module description.
14797         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
14798         invocations from here...
14799         * modules/timegm (configure.ac): ... to here.
14800
14801 2011-05-22  Bruno Haible  <bruno@clisp.org>
14802
14803         tcgetsid: Move AC_LIBOBJ invocations to module description.
14804         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
14805         and gl_PREREQ_TCGETSID invocations from here...
14806         * modules/tcgetsid (configure.ac): ... to here.
14807         (Depends-on): Update conditions.
14808
14809 2011-05-22  Bruno Haible  <bruno@clisp.org>
14810
14811         symlinkat: Move AC_LIBOBJ invocations to module description.
14812         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
14813         here...
14814         * modules/symlinkat (configure.ac): ... to here.
14815
14816 2011-05-22  Bruno Haible  <bruno@clisp.org>
14817
14818         symlink: Move AC_LIBOBJ invocations to module description.
14819         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
14820         here...
14821         * modules/symlink (configure.ac): ... to here.
14822
14823 2011-05-22  Bruno Haible  <bruno@clisp.org>
14824
14825         strverscmp: Move AC_LIBOBJ invocations to module description.
14826         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
14827         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
14828         from here...
14829         * modules/strverscmp (configure.ac): ... to here.
14830
14831 2011-05-22  Bruno Haible  <bruno@clisp.org>
14832
14833         strtok_r: Move AC_LIBOBJ invocations to module description.
14834         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
14835         and gl_PREREQ_STRTOK_R invocations from here...
14836         * modules/strtok_r (configure.ac): ... to here.
14837         (Depends-on): Update conditions.
14838
14839 2011-05-22  Bruno Haible  <bruno@clisp.org>
14840
14841         strtoumax: Move AC_LIBOBJ invocations to module description.
14842         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
14843         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
14844         from here...
14845         * modules/strtoumax (configure.ac): ... to here.
14846
14847 2011-05-22  Bruno Haible  <bruno@clisp.org>
14848
14849         strtoimax: Move AC_LIBOBJ invocations to module description.
14850         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
14851         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
14852         from here...
14853         * modules/strtoimax (configure.ac): ... to here.
14854
14855 2011-05-22  Bruno Haible  <bruno@clisp.org>
14856
14857         strtoull: Move AC_LIBOBJ invocations to module description.
14858         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
14859         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
14860         from here...
14861         * modules/strtoull (configure.ac): ... to here.
14862
14863 2011-05-22  Bruno Haible  <bruno@clisp.org>
14864
14865         strtoll: Move AC_LIBOBJ invocations to module description.
14866         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
14867         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
14868         here...
14869         * modules/strtoll (configure.ac): ... to here.
14870
14871 2011-05-22  Bruno Haible  <bruno@clisp.org>
14872
14873         strtoul: Move AC_LIBOBJ invocations to module description.
14874         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
14875         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14876         * modules/strtoul (configure.ac): ... to here.
14877
14878 2011-05-22  Bruno Haible  <bruno@clisp.org>
14879
14880         strtol: Move AC_LIBOBJ invocations to module description.
14881         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
14882         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14883         * modules/strtol (configure.ac): ... to here.
14884
14885 2011-05-22  Bruno Haible  <bruno@clisp.org>
14886
14887         strtod: Move AC_LIBOBJ invocations to module description.
14888         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
14889         invocations from here...
14890         * modules/strtod (configure.ac): ... to here.
14891
14892 2011-05-22  Bruno Haible  <bruno@clisp.org>
14893
14894         strstr*: Move AC_LIBOBJ invocations to module description.
14895         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
14896         invocations from here...
14897         * modules/strstr-simple (configure.ac): ... to here.
14898         * modules/strstr (configure.ac): ... and here.
14899
14900 2011-05-22  Bruno Haible  <bruno@clisp.org>
14901
14902         strsignal: Move AC_LIBOBJ invocations to module description.
14903         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
14904         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
14905         * modules/strsignal (configure.ac): ... to here.
14906         (Depends-on): Update conditions.
14907
14908 2011-05-22  Bruno Haible  <bruno@clisp.org>
14909
14910         strsep: Move AC_LIBOBJ invocations to module description.
14911         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
14912         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
14913         here...
14914         * modules/strsep (configure.ac): ... to here.
14915
14916 2011-05-22  Bruno Haible  <bruno@clisp.org>
14917
14918         strptime: Move AC_LIBOBJ invocations to module description.
14919         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
14920         gl_PREREQ_STRPTIME invocations from here...
14921         * modules/strptime (configure.ac): ... to here.
14922
14923 2011-05-22  Bruno Haible  <bruno@clisp.org>
14924
14925         strpbrk: Move AC_LIBOBJ invocations to module description.
14926         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
14927         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
14928         here...
14929         * modules/strpbrk (configure.ac): ... to here.
14930
14931 2011-05-22  Bruno Haible  <bruno@clisp.org>
14932
14933         strnlen: Move AC_LIBOBJ invocations to module description.
14934         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
14935         invocations from here...
14936         * modules/strnlen (configure.ac): ... to here.
14937
14938 2011-05-22  Bruno Haible  <bruno@clisp.org>
14939
14940         strndup: Move AC_LIBOBJ invocations to module description.
14941         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
14942         invocations from here...
14943         * modules/strndup (configure.ac): ... to here.
14944         (Depends-on): Update conditions.
14945
14946 2011-05-22  Bruno Haible  <bruno@clisp.org>
14947
14948         strncat: Move AC_LIBOBJ invocations to module description.
14949         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
14950         invocations from here...
14951         * modules/strncat (configure.ac): ... to here.
14952
14953 2011-05-22  Bruno Haible  <bruno@clisp.org>
14954
14955         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
14956         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
14957         invocations from here...
14958         * modules/strdup (configure.ac): ... to here.
14959         * modules/strdup-posix (configure.ac): ... and here.
14960
14961 2011-05-22  Bruno Haible  <bruno@clisp.org>
14962
14963         strcspn: Move AC_LIBOBJ invocations to module description.
14964         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
14965         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
14966         here...
14967         * modules/strcspn (configure.ac): ... to here.
14968
14969 2011-05-22  Bruno Haible  <bruno@clisp.org>
14970
14971         strchrnul: Move AC_LIBOBJ invocations to module description.
14972         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
14973         gl_PREREQ_STRCHRNUL invocations from here...
14974         * modules/strchrnul (configure.ac): ... to here.
14975
14976 2011-05-22  Bruno Haible  <bruno@clisp.org>
14977
14978         strcasestr*: Move AC_LIBOBJ invocations to module description.
14979         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14980         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
14981         * modules/strcasestr-simple (configure.ac): ... to here.
14982         * modules/strcasestr (configure.ac): ... and here.
14983
14984 2011-05-22  Bruno Haible  <bruno@clisp.org>
14985
14986         strcase: Move AC_LIBOBJ invocations to module description.
14987         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
14988         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
14989         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
14990         gl_PREREQ_STRNCASECMP invocations from here...
14991         * modules/strcase (configure.ac): ... to here.
14992
14993 2011-05-22  Bruno Haible  <bruno@clisp.org>
14994
14995         stpncpy: Move AC_LIBOBJ invocations to module description.
14996         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
14997         here...
14998         * modules/stpncpy (configure.ac): ... to here.
14999
15000 2011-05-22  Bruno Haible  <bruno@clisp.org>
15001
15002         stpcpy: Move AC_LIBOBJ invocations to module description.
15003         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
15004         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
15005         here...
15006         * modules/stpcpy (configure.ac): ... to here.
15007
15008 2011-05-21  Bruno Haible  <bruno@clisp.org>
15009
15010         stat: Move AC_LIBOBJ invocations to module description.
15011         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15012         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15013         here...
15014         * modules/stat (configure.ac): ... to here.
15015
15016 2011-05-21  Bruno Haible  <bruno@clisp.org>
15017
15018         sleep: Move AC_LIBOBJ invocations to module description.
15019         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15020         * modules/sleep (configure.ac): ... to here.
15021
15022 2011-05-21  Bruno Haible  <bruno@clisp.org>
15023
15024         signbit: Move AC_LIBOBJ invocations to module description.
15025         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15026         * modules/signbit (configure.ac): ... to here.
15027
15028 2011-05-21  Bruno Haible  <bruno@clisp.org>
15029
15030         sigprocmask: Move AC_LIBOBJ invocations to module description.
15031         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15032         gl_PREREQ_SIGPROMASK invocations from here...
15033         * modules/sigprocmask (configure.ac): ... to here.
15034
15035 2011-05-21  Bruno Haible  <bruno@clisp.org>
15036
15037         sigaction: Move AC_LIBOBJ invocations to module description.
15038         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15039         gl_PREREQ_SIGACTION invocations from here...
15040         * modules/sigaction (configure.ac): ... to here.
15041
15042 2011-05-21  Bruno Haible  <bruno@clisp.org>
15043
15044         sig2str: Move AC_LIBOBJ invocations to module description.
15045         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15046         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15047         here...
15048         * modules/sig2str (configure.ac): ... to here.
15049
15050 2011-05-21  Bruno Haible  <bruno@clisp.org>
15051
15052         setlocale: Move AC_LIBOBJ invocations to module description.
15053         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15054         gl_PREREQ_SETLOCALE invocations from here...
15055         * modules/setlocale (configure.ac): ... to here.
15056
15057 2011-05-21  Bruno Haible  <bruno@clisp.org>
15058
15059         unsetenv: Move AC_LIBOBJ invocations to module description.
15060         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15061         and gl_PREREQ_UNSETENV invocations from here...
15062         * modules/unsetenv (configure.ac): ... to here.
15063         (Depends-on): Update.
15064
15065 2011-05-21  Bruno Haible  <bruno@clisp.org>
15066
15067         setenv: Move AC_LIBOBJ invocations to module description.
15068         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
15069         here...
15070         * modules/setenv (configure.ac): ... to here.
15071
15072 2011-05-21  Bruno Haible  <bruno@clisp.org>
15073
15074         selinux-h: Move AC_LIBOBJ invocations to module description.
15075         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
15076         AC_LIBOBJ invocation from here...
15077         * modules/selinux-h (configure.ac): ... to here.
15078
15079 2011-05-21  Bruno Haible  <bruno@clisp.org>
15080
15081         select: Respect rules for use of AC_LIBOBJ.
15082         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
15083         here...
15084         * modules/select (configure.ac): ... to here.
15085
15086 2011-05-21  Bruno Haible  <bruno@clisp.org>
15087
15088         scandir: Move AC_LIBOBJ invocations to module description.
15089         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
15090         invocations from here...
15091         * modules/scandir (configure.ac): ... to here.
15092
15093 2011-05-21  Bruno Haible  <bruno@clisp.org>
15094
15095         rpmatch: Move AC_LIBOBJ invocations to module description.
15096         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
15097         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
15098         here...
15099         * modules/rpmatch (configure.ac): ... to here.
15100
15101 2011-05-21  Bruno Haible  <bruno@clisp.org>
15102
15103         rmdir: Respect rules for use of AC_LIBOBJ.
15104         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
15105         * modules/rmdir (configure.ac): ... to here.
15106
15107 2011-05-21  Bruno Haible  <bruno@clisp.org>
15108
15109         renameat: Move AC_LIBOBJ invocations to module description.
15110         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
15111         here...
15112         * modules/renameat (configure.ac): ... to here.
15113
15114 2011-05-21  Bruno Haible  <bruno@clisp.org>
15115
15116         rename: Respect rules for use of AC_LIBOBJ.
15117         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
15118         here...
15119         * modules/rename (configure.ac): ... to here.
15120
15121 2011-05-21  Bruno Haible  <bruno@clisp.org>
15122
15123         remove: Move AC_LIBOBJ invocations to module description.
15124         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
15125         here...
15126         * modules/remove (configure.ac): ... to here.
15127
15128 2011-05-21  Bruno Haible  <bruno@clisp.org>
15129
15130         relocatable-lib: Move AC_LIBOBJ invocations to module description.
15131         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
15132         macro.
15133         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
15134         * modules/relocatable-lib (configure.ac): ... to here.
15135         * modules/relocatable-prog-wrapper (configure.ac): Invoke
15136         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
15137
15138 2011-05-21  Bruno Haible  <bruno@clisp.org>
15139
15140         relocatable-prog: Move AC_LIBOBJ invocations to module description.
15141         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
15142         here...
15143         * modules/relocatable-prog (configure.ac): ... to here.
15144
15145 2011-05-21  Bruno Haible  <bruno@clisp.org>
15146
15147         regex: Move AC_LIBOBJ invocations to module description.
15148         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
15149         invocations from here...
15150         * modules/regex (configure.ac): ... to here.
15151
15152 2011-05-21  Bruno Haible  <bruno@clisp.org>
15153
15154         realloc-*: Move AC_LIBOBJ invocations to module description.
15155         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
15156         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
15157         AC_LIBOBJ invocations from here...
15158         * modules/realloc-gnu (configure.ac): ... to here.
15159         * modules/realloc-posix (configure.ac): ... and here.
15160
15161 2011-05-21  Bruno Haible  <bruno@clisp.org>
15162
15163         readutmp: Move AC_LIBOBJ invocations to module description.
15164         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
15165         * modules/readutmp (configure.ac): ... to here.
15166
15167 2011-05-21  Bruno Haible  <bruno@clisp.org>
15168
15169         readlinkat: Move AC_LIBOBJ invocations to module description.
15170         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
15171         here...
15172         * modules/readlinkat (configure.ac): ... to here.
15173
15174 2011-05-21  Bruno Haible  <bruno@clisp.org>
15175
15176         readlink: Move AC_LIBOBJ invocations to module description.
15177         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
15178         gl_PREREQ_READLINK invocations from here...
15179         * modules/readlink (configure.ac): ... to here.
15180
15181 2011-05-21  Bruno Haible  <bruno@clisp.org>
15182
15183         readline: Move AC_LIBOBJ invocations to module description.
15184         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
15185         gl_PREREQ_READLINE invocations from here...
15186         * modules/readline (configure.ac): ... to here.
15187
15188 2011-05-21  Bruno Haible  <bruno@clisp.org>
15189
15190         read: Move AC_LIBOBJ invocations to module description.
15191         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
15192         * modules/read (configure.ac): ... to here.
15193
15194 2011-05-21  Bruno Haible  <bruno@clisp.org>
15195
15196         rawmemchr: Move AC_LIBOBJ invocations to module description.
15197         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
15198         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
15199         from here...
15200         * modules/rawmemchr (configure.ac): ... to here.
15201
15202 2011-05-21  Bruno Haible  <bruno@clisp.org>
15203
15204         random_r: Move AC_LIBOBJ invocations to module description.
15205         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
15206         gl_PREREQ_RANDOM_R invocations from here...
15207         * modules/random_r (configure.ac): ... to here.
15208
15209 2011-05-21  Bruno Haible  <bruno@clisp.org>
15210
15211         pwrite: Move AC_LIBOBJ invocations to module description.
15212         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
15213         * modules/pwrite (configure.ac): ... to here.
15214
15215 2011-05-21  Bruno Haible  <bruno@clisp.org>
15216
15217         putenv: Move AC_LIBOBJ invocations to module description.
15218         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
15219         * modules/putenv (configure.ac): ... to here.
15220
15221 2011-05-21  Bruno Haible  <bruno@clisp.org>
15222
15223         login_tty: Move AC_LIBOBJ invocations to module description.
15224         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
15225         * modules/login_tty (configure.ac): ... to here.
15226
15227 2011-05-21  Bruno Haible  <bruno@clisp.org>
15228
15229         openpty: Move AC_LIBOBJ invocations to module description.
15230         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
15231         * modules/openpty (configure.ac): ... to here.
15232
15233 2011-05-21  Bruno Haible  <bruno@clisp.org>
15234
15235         forkpty: Move AC_LIBOBJ invocations to module description.
15236         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
15237         * modules/forkpty (configure.ac): ... to here.
15238
15239 2011-05-21  Bruno Haible  <bruno@clisp.org>
15240
15241         ptsname: Move AC_LIBOBJ invocations to module description.
15242         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
15243         invocations from here...
15244         * modules/ptsname (configure.ac): ... to here.
15245
15246 2011-05-21  Bruno Haible  <bruno@clisp.org>
15247
15248         pread: Move AC_LIBOBJ invocations to module description.
15249         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
15250         * modules/pread (configure.ac): ... to here.
15251
15252 2011-05-21  Bruno Haible  <bruno@clisp.org>
15253
15254         posix_spawn*: Move AC_LIBOBJ invocations to module description.
15255         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
15256         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
15257         * modules/posix_spawn (configure.ac): ... to here.
15258         * modules/posix_spawnp (configure.ac): ... and here.
15259
15260 2011-05-21  Bruno Haible  <bruno@clisp.org>
15261
15262         popen: Move AC_LIBOBJ invocations to module description.
15263         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
15264         invocations from here...
15265         * modules/popen (configure.ac): ... to here.
15266
15267 2011-05-21  Bruno Haible  <bruno@clisp.org>
15268
15269         poll: Move AC_LIBOBJ invocations to module description.
15270         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
15271         invocations from here...
15272         * modules/poll (configure.ac): ... to here.
15273
15274 2011-05-21  Bruno Haible  <bruno@clisp.org>
15275
15276         pipe-posix: Move AC_LIBOBJ invocations to module description.
15277         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
15278         * modules/pipe-posix (configure.ac): ... to here.
15279
15280 2011-05-21  Bruno Haible  <bruno@clisp.org>
15281
15282         openat: Respect rules for use of AC_LIBOBJ.
15283         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
15284         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15285         * modules/openat (configure.ac): ... to here.
15286
15287 2011-05-21  Bruno Haible  <bruno@clisp.org>
15288
15289         obstack-printf*: Move AC_LIBOBJ invocations to module description.
15290         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
15291         invocation from here...
15292         * modules/obstack-printf (configure.ac): ... to here.
15293         * modules/obstack-printf-posix (configure.ac): ... and here.
15294
15295 2011-05-21  Bruno Haible  <bruno@clisp.org>
15296
15297         nl_langinfo: Move AC_LIBOBJ invocations to module description.
15298         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
15299         from here...
15300         * modules/nl_langinfo (configure.ac): ... to here.
15301
15302 2011-05-21  Bruno Haible  <bruno@clisp.org>
15303
15304         nanosleep: Move AC_LIBOBJ invocations to module description.
15305         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
15306         gl_PREREQ_NANOSLEEP invocations from here...
15307         * modules/nanosleep (configure.ac): ... to here.
15308
15309 2011-05-21  Bruno Haible  <bruno@clisp.org>
15310
15311         mountlist: Move AC_LIBOBJ invocations to module description.
15312         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
15313         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
15314         * modules/mountlist (configure.ac): ... to here.
15315
15316 2011-05-21  Bruno Haible  <bruno@clisp.org>
15317
15318         mktime: Respect rules for use of AC_LIBOBJ.
15319         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
15320         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
15321         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
15322         (gl_FUNC_MKTIME_INTERNAL): ... and here...
15323         * modules/mktime (configure.ac): ... to here.
15324         * modules/mktime-internal (configure.ac): ... and here.
15325         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
15326
15327 2011-05-21  Bruno Haible  <bruno@clisp.org>
15328
15329         mkstemps: Move AC_LIBOBJ invocations to module description.
15330         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
15331         here...
15332         * modules/mkstemps (configure.ac): ... to here.
15333
15334 2011-05-21  Bruno Haible  <bruno@clisp.org>
15335
15336         mkstemp: Move AC_LIBOBJ invocations to module description.
15337         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
15338         gl_PREREQ_MKSTEMP invocations from here...
15339         * modules/mkstemp (configure.ac): ... to here.
15340
15341 2011-05-21  Bruno Haible  <bruno@clisp.org>
15342
15343         mkostemps: Move AC_LIBOBJ invocations to module description.
15344         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
15345         here...
15346         * modules/mkostemps (configure.ac): ... to here.
15347
15348 2011-05-21  Bruno Haible  <bruno@clisp.org>
15349
15350         mkostemp: Move AC_LIBOBJ invocations to module description.
15351         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
15352         gl_PREREQ_MKOSTEMP invocations from here...
15353         * modules/mkostemp (configure.ac): ... to here.
15354
15355 2011-05-21  Bruno Haible  <bruno@clisp.org>
15356
15357         mknod: Move AC_LIBOBJ invocations to module description.
15358         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
15359         * modules/mknod (configure.ac): ... to here.
15360
15361 2011-05-21  Bruno Haible  <bruno@clisp.org>
15362
15363         mkfifoat: Move AC_LIBOBJ invocations to module description.
15364         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
15365         here...
15366         * modules/mkfifoat (configure.ac): ... to here.
15367
15368 2011-05-21  Bruno Haible  <bruno@clisp.org>
15369
15370         mkfifo: Respect rules for use of AC_LIBOBJ.
15371         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
15372         here...
15373         * modules/mkfifo (configure.ac): ... to here.
15374
15375 2011-05-21  Bruno Haible  <bruno@clisp.org>
15376
15377         mkdtemp: Move AC_LIBOBJ invocations to module description.
15378         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
15379         invocations from here...
15380         * modules/mkdtemp (configure.ac): ... to here.
15381
15382 2011-05-21  Bruno Haible  <bruno@clisp.org>
15383
15384         mkdir: Move AC_LIBOBJ invocations to module description.
15385         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
15386         * modules/mkdir (configure.ac): ... to here.
15387
15388 2011-05-21  Bruno Haible  <bruno@clisp.org>
15389
15390         memset: Move AC_LIBOBJ invocations to module description.
15391         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
15392         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
15393         here...
15394         * modules/memset (configure.ac): ... to here.
15395
15396 2011-05-21  Bruno Haible  <bruno@clisp.org>
15397
15398         memrchr: Move AC_LIBOBJ invocations to module description.
15399         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
15400         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
15401         here...
15402         * modules/memrchr (configure.ac): ... to here.
15403
15404 2011-05-21  Bruno Haible  <bruno@clisp.org>
15405
15406         mempcpy: Move AC_LIBOBJ invocations to module description.
15407         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
15408         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
15409         here...
15410         * modules/mempcpy (configure.ac): ... to here.
15411
15412 2011-05-21  Bruno Haible  <bruno@clisp.org>
15413
15414         memmove: Move AC_LIBOBJ invocations to module description.
15415         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
15416         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
15417         here...
15418         * modules/memmove (configure.ac): ... to here.
15419
15420 2011-05-21  Bruno Haible  <bruno@clisp.org>
15421
15422         memmem*: Move AC_LIBOBJ invocations to module description.
15423         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
15424         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
15425         here...
15426         (gl_FUNC_MEMMEM): ... and here...
15427         * modules/memmem-simple (configure.ac): ... to here.
15428         * modules/memmem (configure.ac): ... and here.
15429
15430 2011-05-21  Bruno Haible  <bruno@clisp.org>
15431
15432         memcpy: Move AC_LIBOBJ invocations to module description.
15433         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15434         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15435         here...
15436         * modules/memcpy (configure.ac): ... to here.
15437
15438 2011-05-21  Bruno Haible  <bruno@clisp.org>
15439
15440         memcmp: Simplify autoconf macro.
15441         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15442         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15443         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15444
15445 2011-05-21  Bruno Haible  <bruno@clisp.org>
15446
15447         memcmp: Move AC_LIBOBJ invocations to module description.
15448         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15449         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15450         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15451         * modules/memcmp (configure.ac): ... to here.
15452         (Depends-on): Update conditions.
15453
15454 2011-05-21  Bruno Haible  <bruno@clisp.org>
15455
15456         memchr: Respect rules for use of AC_LIBOBJ.
15457         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15458         invocations from here...
15459         * modules/memchr (configure.ac): ... to here.
15460
15461 2011-05-21  Bruno Haible  <bruno@clisp.org>
15462
15463         mbtowc: Move AC_LIBOBJ invocations to module description.
15464         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15465         invocations from here...
15466         * modules/mbtowc (configure.ac): ... to here.
15467
15468 2011-05-21  Bruno Haible  <bruno@clisp.org>
15469
15470         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15471         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15472         gl_PREREQ_MBSRTOWCS invocations from here...
15473         * modules/mbsrtowcs (configure.ac): ... to here.
15474
15475 2011-05-21  Bruno Haible  <bruno@clisp.org>
15476
15477         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15478         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15479         gl_PREREQ_MBSNRTOWCS invocations from here...
15480         * modules/mbsnrtowcs (configure.ac): ... to here.
15481
15482 2011-05-21  Bruno Haible  <bruno@clisp.org>
15483
15484         mbsinit: Move AC_LIBOBJ invocations to module description.
15485         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15486         invocations from here...
15487         * modules/mbsinit (configure.ac): ... to here.
15488
15489 2011-05-21  Bruno Haible  <bruno@clisp.org>
15490
15491         mbrlen: Move AC_LIBOBJ invocations to module description.
15492         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15493         invocations from here...
15494         * modules/mbrlen (configure.ac): ... to here.
15495
15496 2011-05-21  Bruno Haible  <bruno@clisp.org>
15497
15498         mbrtowc: Respect rules for use of AC_LIBOBJ.
15499         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15500         invocations from here...
15501         * modules/mbrtowc (configure.ac): ... to here.
15502
15503 2011-05-21  Bruno Haible  <bruno@clisp.org>
15504
15505         malloc-*: Move AC_LIBOBJ invocations to module description.
15506         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15507         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15508         AC_LIBOBJ invocations from here...
15509         * modules/malloc-gnu (configure.ac): ... to here.
15510         * modules/malloc-posix (configure.ac): ... and here.
15511
15512 2011-05-21  Bruno Haible  <bruno@clisp.org>
15513
15514         lstat, openat: Respect rules for use of AC_LIBOBJ.
15515         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15516         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15517         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15518         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15519         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15520         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15521         here.
15522         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15523
15524 2011-05-21  Bruno Haible  <bruno@clisp.org>
15525
15526         lseek: Move AC_LIBOBJ invocations to module description.
15527         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15528         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15529         * modules/lseek (configure.ac): ... to here.
15530
15531 2011-05-21  Bruno Haible  <bruno@clisp.org>
15532
15533         linkat: Move AC_LIBOBJ invocations to module description.
15534         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15535         here...
15536         * modules/linkat (configure.ac): ... to here.
15537
15538 2011-05-21  Bruno Haible  <bruno@clisp.org>
15539
15540         link: Respect rules for use of AC_LIBOBJ.
15541         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15542         * modules/link (configure.ac): ... to here.
15543
15544 2011-05-21  Bruno Haible  <bruno@clisp.org>
15545
15546         lchown: Move AC_LIBOBJ invocations to module description.
15547         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15548         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15549         * modules/lchown (configure.ac): ... to here.
15550
15551 2011-05-21  Bruno Haible  <bruno@clisp.org>
15552
15553         iswctype: Move AC_LIBOBJ invocations to module description.
15554         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15555         here...
15556         * modules/iswctype (configure.ac): ... to here.
15557
15558 2011-05-21  Bruno Haible  <bruno@clisp.org>
15559
15560         iswblank: Move AC_LIBOBJ invocations to module description.
15561         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15562         here...
15563         * modules/iswblank (configure.ac): ... to here.
15564
15565 2011-05-21  Bruno Haible  <bruno@clisp.org>
15566
15567         atanl: Move AC_LIBOBJ invocations to module description.
15568         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15569         * modules/atanl (configure.ac): ... to here.
15570
15571 2011-05-21  Bruno Haible  <bruno@clisp.org>
15572
15573         acosl: Move AC_LIBOBJ invocations to module description.
15574         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15575         * modules/acosl (configure.ac): ... to here.
15576
15577 2011-05-21  Bruno Haible  <bruno@clisp.org>
15578
15579         asinl: Respect rules for use of AC_LIBOBJ.
15580         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15581         * modules/asinl (configure.ac): ... to here.
15582
15583 2011-05-21  Bruno Haible  <bruno@clisp.org>
15584
15585         tanl: Move AC_LIBOBJ invocations to module description.
15586         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15587         * modules/tanl (configure.ac): ... to here.
15588
15589 2011-05-21  Bruno Haible  <bruno@clisp.org>
15590
15591         cosl: Move AC_LIBOBJ invocations to module description.
15592         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15593         * modules/cosl (configure.ac): ... to here.
15594
15595 2011-05-21  Bruno Haible  <bruno@clisp.org>
15596
15597         sinl: Move AC_LIBOBJ invocations to module description.
15598         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15599         * modules/sinl (configure.ac): ... to here.
15600
15601 2011-05-21  Bruno Haible  <bruno@clisp.org>
15602
15603         logl: Move AC_LIBOBJ invocations to module description.
15604         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
15605         * modules/logl (configure.ac): ... to here.
15606
15607 2011-05-21  Bruno Haible  <bruno@clisp.org>
15608
15609         expl: Move AC_LIBOBJ invocations to module description.
15610         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
15611         * modules/expl (configure.ac): ... to here.
15612
15613 2011-05-21  Bruno Haible  <bruno@clisp.org>
15614
15615         roundl: Move AC_LIBOBJ invocations to module description.
15616         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
15617         * modules/roundl (configure.ac): ... to here.
15618
15619 2011-05-21  Bruno Haible  <bruno@clisp.org>
15620
15621         round: Move AC_LIBOBJ invocations to module description.
15622         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
15623         * modules/round (configure.ac): ... to here.
15624
15625 2011-05-21  Bruno Haible  <bruno@clisp.org>
15626
15627         roundf: Move AC_LIBOBJ invocations to module description.
15628         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
15629         * modules/roundf (configure.ac): ... to here.
15630
15631 2011-05-21  Bruno Haible  <bruno@clisp.org>
15632
15633         truncl: Move AC_LIBOBJ invocations to module description.
15634         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
15635         * modules/truncl (configure.ac): ... to here.
15636
15637 2011-05-21  Bruno Haible  <bruno@clisp.org>
15638
15639         trunc: Move AC_LIBOBJ invocations to module description.
15640         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
15641         * modules/trunc (configure.ac): ... to here.
15642
15643 2011-05-21  Bruno Haible  <bruno@clisp.org>
15644
15645         truncf: Move AC_LIBOBJ invocations to module description.
15646         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15647         * modules/truncf (configure.ac): ... to here.
15648
15649 2011-05-21  Bruno Haible  <bruno@clisp.org>
15650
15651         ceill: Move AC_LIBOBJ invocations to module description.
15652         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15653         * modules/ceill (configure.ac): ... to here.
15654
15655 2011-05-21  Bruno Haible  <bruno@clisp.org>
15656
15657         ceil: Move AC_LIBOBJ invocations to module description.
15658         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15659         * modules/ceil (configure.ac): ... to here.
15660
15661 2011-05-21  Bruno Haible  <bruno@clisp.org>
15662
15663         ceilf: Move AC_LIBOBJ invocations to module description.
15664         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
15665         * modules/ceilf (configure.ac): ... to here.
15666
15667 2011-05-21  Bruno Haible  <bruno@clisp.org>
15668
15669         floorl: Respect rules for use of AC_LIBOBJ.
15670         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
15671         * modules/floorl (configure.ac): ... to here.
15672
15673 2011-05-21  Bruno Haible  <bruno@clisp.org>
15674
15675         floor: Respect rules for use of AC_LIBOBJ.
15676         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
15677         * modules/floor (configure.ac): ... to here.
15678
15679 2011-05-21  Bruno Haible  <bruno@clisp.org>
15680
15681         floorf: Move AC_LIBOBJ invocations to module description.
15682         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
15683         * modules/floorf (configure.ac): ... to here.
15684
15685 2011-05-20  Bruno Haible  <bruno@clisp.org>
15686
15687         sqrtl: Respect rules for use of AC_LIBOBJ.
15688         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
15689         * modules/sqrtl (configure.ac): ... to here.
15690
15691 2011-05-20  Bruno Haible  <bruno@clisp.org>
15692
15693         ldexpl: Respect rules for use of AC_LIBOBJ.
15694         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
15695         * modules/ldexpl (configure.ac): ... to here.
15696
15697 2011-05-20  Bruno Haible  <bruno@clisp.org>
15698
15699         frexpl*: Respect rules for use of AC_LIBOBJ.
15700         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
15701         invocation from here...
15702         * modules/frexpl (configure.ac): ... to here.
15703         * modules/frexpl-nolibm (configure.ac): ... and here.
15704
15705 2011-05-20  Bruno Haible  <bruno@clisp.org>
15706
15707         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
15708         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
15709         invocation from here...
15710         * modules/frexp (configure.ac): ... to here.
15711         * modules/frexp-nolibm (configure.ac): ... and here.
15712
15713 2011-05-20  Bruno Haible  <bruno@clisp.org>
15714
15715         isnan: Respect rules for use of AC_LIBOBJ.
15716         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
15717         invocations here.
15718         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
15719         REPLACE_ISNAN.
15720         * modules/isnand (configure.ac): Likewise.
15721         * modules/isnanl (configure.ac): Likewise.
15722
15723 2011-05-20  Bruno Haible  <bruno@clisp.org>
15724
15725         isnanl*: Respect rules for use of AC_LIBOBJ.
15726         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
15727         invocation from here...
15728         * modules/isnanl (configure.ac): ... to here.
15729         * modules/isnanl-nolibm (configure.ac): ... and here.
15730
15731 2011-05-20  Bruno Haible  <bruno@clisp.org>
15732
15733         isnand*: Move AC_LIBOBJ invocations to module description.
15734         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
15735         invocation from here...
15736         * modules/isnand (configure.ac): ... to here.
15737         * modules/isnand-nolibm (configure.ac): ... and here.
15738
15739 2011-05-20  Bruno Haible  <bruno@clisp.org>
15740
15741         isnanf*: Move AC_LIBOBJ invocations to module description.
15742         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
15743         invocation from here...
15744         * modules/isnanf (configure.ac): ... to here.
15745         * modules/isnanf-nolibm (configure.ac): ... and here.
15746
15747 2011-05-20  Bruno Haible  <bruno@clisp.org>
15748
15749         isnan*: Separate the AC_LIBOBJ invocations.
15750         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
15751         AC_LIBOBJ invocation.
15752         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
15753         here.
15754         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
15755         AC_LIBOBJ invocation.
15756         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
15757         here.
15758         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
15759         AC_LIBOBJ invocation.
15760         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
15761         here.
15762         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
15763
15764 2011-05-08  Bruno Haible  <bruno@clisp.org>
15765
15766         isinf: Move AC_LIBOBJ invocations to module description.
15767         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
15768         * modules/isinf (configure.ac): ... to here.
15769
15770 2011-05-08  Bruno Haible  <bruno@clisp.org>
15771
15772         isfinite: Move AC_LIBOBJ invocations to module description.
15773         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
15774         * modules/isfinite (configure.ac): ... to here.
15775
15776 2011-05-08  Bruno Haible  <bruno@clisp.org>
15777
15778         isblank: Move AC_LIBOBJ invocations to module description.
15779         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
15780         here...
15781         * modules/isblank (configure.ac): ... to here.
15782
15783 2011-05-08  Bruno Haible  <bruno@clisp.org>
15784
15785         isapipe: Move AC_LIBOBJ invocations to module description.
15786         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
15787         gl_PREREQ_ISAPIPE invocations from here...
15788         * modules/isapipe (configure.ac): ... to here.
15789         (Depends-on): Update condition.
15790
15791 2011-05-08  Bruno Haible  <bruno@clisp.org>
15792
15793         ioctl: Move AC_LIBOBJ invocations to module description.
15794         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
15795         invocations from here...
15796         * modules/ioctl (configure.ac): ... to here.
15797         (Depends-on): Update condition.
15798
15799 2011-05-08  Bruno Haible  <bruno@clisp.org>
15800
15801         imaxdiv: Move AC_LIBOBJ invocations to module description.
15802         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
15803         invocations from here...
15804         * modules/imaxdiv (configure.ac): ... to here.
15805
15806 2011-05-08  Bruno Haible  <bruno@clisp.org>
15807
15808         imaxabs: Move AC_LIBOBJ invocations to module description.
15809         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
15810         invocations from here...
15811         * modules/imaxabs (configure.ac): ... to here.
15812
15813 2011-05-08  Bruno Haible  <bruno@clisp.org>
15814
15815         getaddrinfo: Move AC_LIBOBJ invocations to module description.
15816         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
15817         AC_LIBOBJ invocations from here...
15818         * modules/getaddrinfo (configure.ac): ... to here.
15819         (Depends-on): Add conditions.
15820
15821 2011-05-08  Bruno Haible  <bruno@clisp.org>
15822
15823         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15824         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
15825         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15826         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
15827         (gl_PREREQ_INET_PTON): ... from here.
15828         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
15829         gl_PREREQ_INET_PTON here.
15830         (Depends-on): Update condition.
15831
15832 2011-05-08  Bruno Haible  <bruno@clisp.org>
15833
15834         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15835         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
15836         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15837         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
15838         (gl_PREREQ_INET_NTOP): ... from here.
15839         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
15840         gl_PREREQ_INET_NTOP here.
15841         (Depends-on): Update condition.
15842
15843 2011-05-08  Bruno Haible  <bruno@clisp.org>
15844
15845         iconv_open: Move AC_LIBOBJ invocations to module description.
15846         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
15847         AC_LIBOBJ invocations from here...
15848         * modules/iconv_open (configure.ac): ... to here.
15849
15850 2011-05-08  Bruno Haible  <bruno@clisp.org>
15851
15852         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
15853         If module 'iconv_open' is among the main modules and module
15854         'iconv_open-utf' is among the tests dependencies, then
15855         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
15856         return the special iconv_t values. Therefore iconv() and iconv_close()
15857         must support these special iconv_t values, already in lib, not only in
15858         tests.
15859         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
15860         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
15861         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
15862         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
15863         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
15864         (Depends-on): Add the dependencies of iconv_open-utf.
15865         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
15866         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
15867         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
15868
15869 2011-05-08  Bruno Haible  <bruno@clisp.org>
15870
15871         group-member: Move AC_LIBOBJ invocations to module description.
15872         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
15873         gl_PREREQ_GROUP_MEMBER invocations from here...
15874         * modules/group-member (configure.ac): ... to here.
15875
15876 2011-05-08  Bruno Haible  <bruno@clisp.org>
15877
15878         grantpt: Move AC_LIBOBJ invocations to module description.
15879         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
15880         invocations from here...
15881         * modules/grantpt (configure.ac): ... to here.
15882
15883 2011-05-08  Bruno Haible  <bruno@clisp.org>
15884
15885         glob: Move AC_LIBOBJ invocations to module description.
15886         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
15887         from here...
15888         * modules/glob (configure.ac): ... to here.
15889
15890 2011-05-08  Bruno Haible  <bruno@clisp.org>
15891
15892         getusershell: Move AC_LIBOBJ invocations to module description.
15893         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
15894         Move AC_LIBOBJ invocation from here...
15895         * modules/getusershell (configure.ac): ... to here.
15896         (Depends-on): Update condition.
15897
15898 2011-05-08  Bruno Haible  <bruno@clisp.org>
15899
15900         gettimeofday: Move AC_LIBOBJ invocations to module description.
15901         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
15902         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
15903         gl_PREREQ_GETTIMEOFDAY invocations from here...
15904         * modules/gettimeofday (configure.ac): ... to here.
15905
15906 2011-05-08  Bruno Haible  <bruno@clisp.org>
15907
15908         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
15909         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
15910         just gl_FUNC_TZSET.
15911         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
15912         (gl_FUNC_TZSET_CLOBBER): Remove actions.
15913         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
15914         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
15915
15916 2011-05-08  Bruno Haible  <bruno@clisp.org>
15917
15918         getsubopt: Move AC_LIBOBJ invocations to module description.
15919         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
15920         gl_PREREQ_GETSUBOPT invocations from here...
15921         * modules/getsubopt (configure.ac): ... to here.
15922
15923 2011-05-08  Bruno Haible  <bruno@clisp.org>
15924
15925         getpass-gnu: Move AC_LIBOBJ invocations to module description.
15926         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
15927         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
15928         * modules/getpass-gnu (configure.ac): ... to here.
15929
15930 2011-05-08  Bruno Haible  <bruno@clisp.org>
15931
15932         getpass: Move AC_LIBOBJ invocations to module description.
15933         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
15934         gl_PREREQ_GETPASS invocations from here...
15935         * modules/getpass (configure.ac): ... to here.
15936
15937 2011-05-08  Bruno Haible  <bruno@clisp.org>
15938
15939         getpagesize: Move AC_LIBOBJ invocations to module description.
15940         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
15941         from here...
15942         * modules/getpagesize (configure.ac): ... to here.
15943
15944 2011-05-08  Bruno Haible  <bruno@clisp.org>
15945
15946         getopt: Move AC_LIBOBJ invocations to module description.
15947         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
15948         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
15949         invocations from here...
15950         * modules/getopt-gnu (configure.ac): ... to here.
15951         * modules/getopt-posix (configure.ac): ... and here.
15952         (Depends-on): Update condition.
15953
15954 2011-05-08  Bruno Haible  <bruno@clisp.org>
15955
15956         getopt, argp: Respect rules for use of AC_LIBOBJ.
15957         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
15958         (gl_REPLACE_GETOPT_ALWAYS): New macro.
15959         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
15960         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
15961
15962 2011-05-08  Bruno Haible  <bruno@clisp.org>
15963
15964         getlogin_r: Move AC_LIBOBJ invocations to module description.
15965         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
15966         gl_PREREQ_GETLOGIN_R invocations from here...
15967         * modules/getlogin_r (configure.ac): ... to here.
15968
15969 2011-05-08  Bruno Haible  <bruno@clisp.org>
15970
15971         getlogin: Move AC_LIBOBJ invocations to module description.
15972         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
15973         here...
15974         * modules/getlogin (configure.ac): ... to here.
15975
15976 2011-05-08  Bruno Haible  <bruno@clisp.org>
15977
15978         getloadavg: Move AC_LIBOBJ invocations to module description.
15979         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
15980         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
15981         * modules/getloadavg (configure.ac): ... to here.
15982
15983 2011-05-08  Bruno Haible  <bruno@clisp.org>
15984
15985         gethrxtime: Move AC_LIBOBJ invocations to module description.
15986         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
15987         LIB_GETHRXTIME from here...
15988         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
15989         invocations from here...
15990         * modules/gethrxtime (configure.ac): ... to here.
15991
15992 2011-05-08  Bruno Haible  <bruno@clisp.org>
15993
15994         gethostname: Move AC_LIBOBJ invocations to module description.
15995         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
15996         gl_PREREQ_GETHOSTNAME invocations from here...
15997         * modules/gethostname (configure.ac): ... to here.
15998
15999 2011-05-08  Bruno Haible  <bruno@clisp.org>
16000
16001         getgroups: Move AC_LIBOBJ invocations to module description.
16002         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
16003         here...
16004         * modules/getgroups (configure.ac): ... to here.
16005
16006 2011-05-08  Bruno Haible  <bruno@clisp.org>
16007
16008         getdtablesize: Move AC_LIBOBJ invocations to module description.
16009         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16010         invocation from here...
16011         * modules/getdtablesize (configure.ac): ... to here.
16012
16013 2011-05-08  Bruno Haible  <bruno@clisp.org>
16014
16015         getdomainname: Move AC_LIBOBJ invocations to module description.
16016         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16017         gl_PREREQ_GETDOMAINNAME invocations from here...
16018         * modules/getdomainname (configure.ac): ... to here.
16019
16020 2011-05-08  Bruno Haible  <bruno@clisp.org>
16021
16022         getline: Move AC_LIBOBJ invocations to module description.
16023         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16024         invocations from here...
16025         * modules/getline (configure.ac): ... to here.
16026
16027 2011-05-08  Bruno Haible  <bruno@clisp.org>
16028
16029         getline: Simplify.
16030         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16031         It's already handled through the module dependency.
16032
16033 2011-05-08  Bruno Haible  <bruno@clisp.org>
16034
16035         getdelim: Move AC_LIBOBJ invocations to module description.
16036         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16037         and gl_PREREQ_GETDELIM invocations from here...
16038         * modules/getdelim (configure.ac): ... to here.
16039         (Depends-on): Fix condition.
16040
16041 2011-05-08  Bruno Haible  <bruno@clisp.org>
16042
16043         getcwd: Move AC_LIBOBJ invocations to module description.
16044         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16045         invocations from here...
16046         * modules/getcwd (configure.ac): ... to here.
16047
16048 2011-05-08  Bruno Haible  <bruno@clisp.org>
16049
16050         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16051         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16052         here...
16053         * modules/getcwd-lgpl (configure.ac): ... to here.
16054
16055 2011-05-07  Bruno Haible  <bruno@clisp.org>
16056
16057         crypto/gc: Move AC_LIBOBJ invocations to module description.
16058         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16059         * modules/crypto/gc (configure.ac): ... to here.
16060
16061 2011-05-07  Bruno Haible  <bruno@clisp.org>
16062
16063         fwriting: Move AC_LIBOBJ invocations to module description.
16064         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
16065         here...
16066         * modules/fwriting (configure.ac): ... to here.
16067
16068 2011-05-07  Bruno Haible  <bruno@clisp.org>
16069
16070         fwritable: Move AC_LIBOBJ invocations to module description.
16071         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
16072         here...
16073         * modules/fwritable (configure.ac): ... to here.
16074
16075 2011-05-07  Bruno Haible  <bruno@clisp.org>
16076
16077         futimens: Move AC_LIBOBJ invocations to module description.
16078         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
16079         here...
16080         * modules/futimens (configure.ac): ... to here.
16081
16082 2011-05-07  Bruno Haible  <bruno@clisp.org>
16083
16084         ftruncate: Move AC_LIBOBJ invocations to module description.
16085         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
16086         gl_PREREQ_FTRUNCATE invocations from here...
16087         * modules/ftruncate (configure.ac): ... to here.
16088
16089 2011-05-07  Bruno Haible  <bruno@clisp.org>
16090
16091         fsync: Move AC_LIBOBJ invocations to module description.
16092         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
16093         invocations from here...
16094         * modules/fsync (configure.ac): ... to here.
16095
16096 2011-05-07  Bruno Haible  <bruno@clisp.org>
16097
16098         fsusage: Move AC_LIBOBJ invocations to module description.
16099         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
16100         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
16101         * modules/fsusage (configure.ac): ... to here.
16102
16103 2011-05-07  Bruno Haible  <bruno@clisp.org>
16104
16105         freopen: Move AC_LIBOBJ invocations to module description.
16106         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
16107         invocations from here...
16108         * modules/freopen (configure.ac): ... to here.
16109
16110 2011-05-07  Bruno Haible  <bruno@clisp.org>
16111
16112         free: Move AC_LIBOBJ invocations to module description.
16113         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
16114         invocations from here...
16115         * modules/free (configure.ac): ... to here.
16116
16117 2011-05-07  Bruno Haible  <bruno@clisp.org>
16118
16119         freadable: Move AC_LIBOBJ invocations to module description.
16120         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
16121         here...
16122         * modules/freadable (configure.ac): ... to here.
16123
16124 2011-05-07  Bruno Haible  <bruno@clisp.org>
16125
16126         fpurge: Move AC_LIBOBJ invocations to module description.
16127         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
16128         invocations from here...
16129         * modules/fpurge (configure.ac): ... to here.
16130
16131 2011-05-07  Bruno Haible  <bruno@clisp.org>
16132
16133         fpending: Move AC_LIBOBJ invocations to module description.
16134         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
16135         gl_FUNC_FPENDING.
16136         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
16137         invocations from here...
16138         * modules/fpending (configure.ac): ... to here.
16139
16140 2011-05-07  Bruno Haible  <bruno@clisp.org>
16141
16142         fopen: Move AC_LIBOBJ invocations to module description.
16143         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
16144         invocations from here...
16145         * modules/fopen (configure.ac): ... to here.
16146
16147 2011-05-07  Bruno Haible  <bruno@clisp.org>
16148
16149         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
16150         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
16151         gl_FUNC_FNMATCH_POSIX.
16152         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
16153         invocations from here...
16154         * modules/fnmatch (configure.ac): ... to here.
16155         * modules/fnmatch-gnu (configure.ac): ... and here.
16156
16157 2011-05-07  Bruno Haible  <bruno@clisp.org>
16158
16159         flock: Move AC_LIBOBJ invocations to module description.
16160         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
16161         invocations from here...
16162         * modules/flock (configure.ac): ... to here.
16163
16164 2011-05-07  Bruno Haible  <bruno@clisp.org>
16165
16166         fileblocks: Move AC_LIBOBJ invocations to module description.
16167         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
16168         gl_PREREQ_FILEBLOCKS invocations from here...
16169         * modules/fileblocks (configure.ac): ... to here.
16170
16171 2011-05-06  Bruno Haible  <bruno@clisp.org>
16172
16173         fflush: Move AC_LIBOBJ invocations to module description.
16174         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
16175         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
16176         invocations from here...
16177         * modules/fflush (configure.ac): ... to here.
16178
16179 2011-05-06  Bruno Haible  <bruno@clisp.org>
16180
16181         fdopendir: Move AC_LIBOBJ invocations to module description.
16182         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
16183         here...
16184         * modules/fdopendir (configure.ac): ... to here.
16185         (Depends-on): Improve conditions.
16186
16187 2011-05-06  Bruno Haible  <bruno@clisp.org>
16188
16189         _Exit: Move AC_LIBOBJ invocations to module description.
16190         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
16191         invocations from here...
16192         * modules/_Exit (configure.ac): ... to here.
16193
16194 2011-05-21  Bruno Haible  <bruno@clisp.org>
16195
16196         euidaccess: Respect rules for use of AC_LIBOBJ.
16197         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16198         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
16199         from here...
16200         * modules/euidaccess (configure.ac): ... to here.
16201
16202 2011-05-06  Bruno Haible  <bruno@clisp.org>
16203
16204         error: Move AC_LIBOBJ invocations to module description.
16205         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
16206         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
16207         invocations from here...
16208         * modules/error (configure.ac): ... to here.
16209
16210 2011-05-06  Bruno Haible  <bruno@clisp.org>
16211
16212         duplocale: Move AC_LIBOBJ invocations to module description.
16213         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
16214         gl_PREREQ_DUPLOCALE invocations from here...
16215         * modules/duplocale (configure.ac): ... to here.
16216
16217 2011-05-05  Bruno Haible  <bruno@clisp.org>
16218
16219         dirfd: Move AC_LIBOBJ invocations to module description.
16220         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
16221         gl_FUNC_DIRFD.
16222         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
16223         here...
16224         * modules/dirfd (configure.ac): ... to here.
16225         (Depends-on): Fix condition.
16226
16227 2011-05-05  Bruno Haible  <bruno@clisp.org>
16228
16229         chown: Respect rules for use of AC_LIBOBJ.
16230         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
16231         * modules/chown (configure.ac): ... to here.
16232
16233 2011-05-05  Bruno Haible  <bruno@clisp.org>
16234
16235         chdir-long: Move AC_LIBOBJ invocations to module description.
16236         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
16237         gl_PREREQ_CHDIR_LONG invocations from here...
16238         * modules/chdir-long (configure.ac): ... to here.
16239
16240 2011-05-05  Bruno Haible  <bruno@clisp.org>
16241
16242         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
16243         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
16244         from here...
16245         * modules/canonicalize-lgpl (configure.ac): ... to here.
16246
16247 2011-05-05  Bruno Haible  <bruno@clisp.org>
16248
16249         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
16250         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
16251         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
16252         REPLACE_CALLOC.
16253         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
16254         * modules/calloc-gnu (configure.ac): Likewise.
16255
16256 2011-05-05  Bruno Haible  <bruno@clisp.org>
16257
16258         btowc: Move AC_LIBOBJ invocations to module description.
16259         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
16260         invocations from here...
16261         * modules/btowc (configure.ac): ... to here.
16262
16263 2011-05-21  Bruno Haible  <bruno@clisp.org>
16264
16265         atexit: Move AC_LIBOBJ invocations to module description.
16266         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
16267         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
16268         here...
16269         * modules/atexit (configure.ac): ... to here.
16270
16271 2011-05-05  Bruno Haible  <bruno@clisp.org>
16272
16273         atoll: Move AC_LIBOBJ invocations to module description.
16274         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
16275         invocations from here...
16276         * modules/atoll (configure.ac): ... to here.
16277
16278 2011-05-05  Bruno Haible  <bruno@clisp.org>
16279
16280         argz: Move AC_LIBOBJ invocations to module description.
16281         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
16282         * modules/argz (configure.ac): ... to here.
16283
16284 2011-05-05  Bruno Haible  <bruno@clisp.org>
16285
16286         alphasort: Move AC_LIBOBJ invocations to module description.
16287         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
16288         gl_PREREQ_ALPHASORT invocations from here...
16289         * modules/alphasort (configure.ac): ... to here.
16290
16291 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16292
16293         verify: new macro verify_expr; verify_true deprecated
16294         * NEWS: Mention this.
16295         * doc/verify.texi (Compile-time Assertions): Document this.
16296         * lib/verify.h (verify_true): Deprecate.
16297         (verify_expr): New macro.
16298         * tests/test-verify.c (function): Test verify_expr.
16299
16300 2011-06-14  Jim Meyering  <meyering@redhat.com>
16301
16302         init.sh: give more portable redirection-related advice in a comment
16303         * tests/init.sh (stderr_fileno_): Update the advice in comments.
16304         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
16305         for lots of discussion.  Stefano Lattarini suggested the solution
16306         of putting "9>&2" after the command.  Reported by Bruno Haible.
16307
16308 2011-06-13  Bruno Haible  <bruno@clisp.org>
16309
16310         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
16311         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
16312         'none'.
16313
16314 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16315
16316         ftoastr: use strtof only if HAVE_STRTOF
16317         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
16318         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
16319         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
16320         * modules/ftoastr (configure.ac): Check for strtof.
16321
16322 2011-06-13  Bruno Haible  <bruno@clisp.org>
16323
16324         gnulib-tool: Addendum to 2011-06-08 commit.
16325         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
16326         and --witness-c-macro have been given, augment AM_CPPFLAGS.
16327
16328 2011-06-13  Bruno Haible  <bruno@clisp.org>
16329
16330         fseeko: Provide a non-inline replacement of fseek().
16331         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
16332         * modules/fseeko (Depends-on): Add fseek.
16333         * modules/fseek (License): Change to LGPLv2+.
16334
16335 2011-06-13  Bruno Haible  <bruno@clisp.org>
16336
16337         ftello: Provide a non-inline replacement of ftell().
16338         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
16339         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
16340         not have ftello() (such as on mingw).
16341         * modules/ftello (Depends-on): Add ftell.
16342         * modules/ftell (License): Change to LGPLv2+.
16343
16344 2011-05-07  Bruno Haible  <bruno@clisp.org>
16345
16346         ftell: Move AC_LIBOBJ invocations to module description.
16347         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
16348         * modules/ftell (configure.ac): ... to here.
16349
16350 2011-05-07  Bruno Haible  <bruno@clisp.org>
16351
16352         ftello: Respect rules for use of AC_LIBOBJ.
16353         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
16354         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
16355         here...
16356         * modules/ftello (configure.ac): ... to here.
16357
16358 2011-05-07  Bruno Haible  <bruno@clisp.org>
16359
16360         fseeko: Simplify.
16361         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
16362         (gl_FUNC_FSEEKO): Inline it here.
16363
16364 2011-05-07  Bruno Haible  <bruno@clisp.org>
16365
16366         fseek: Move AC_LIBOBJ invocations to module description.
16367         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
16368         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16369         * modules/fseek (configure.ac): ... to here.
16370
16371 2011-05-07  Bruno Haible  <bruno@clisp.org>
16372
16373         fseek: Respect rules for use of AC_LIBOBJ.
16374         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
16375         here...
16376         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
16377
16378 2011-05-07  Bruno Haible  <bruno@clisp.org>
16379
16380         fseeko: Respect rules for use of AC_LIBOBJ.
16381         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
16382         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
16383         here...
16384         * modules/fseeko (configure.ac): ... to here.
16385
16386 2011-06-13  Bruno Haible  <bruno@clisp.org>
16387
16388         gnulib-tool: Allow comments in the 'Depends-on' section.
16389         * doc/gnulib.texi (Module description): Mention comment syntax in the
16390         Depends-on section.
16391         * gnulib-tool (func_get_dependencies): Filter out comment lines.
16392
16393 2011-06-13  Bruno Haible  <bruno@clisp.org>
16394
16395         file-set.h: guard __attibute__ use, now that it's not always defined
16396         * lib/file-set.h (record_file): Use __attribute__ only with compiler
16397         versions that support it.  This fixes a coreutils build failure with
16398         the vendor cc on HP-UX 11.31.
16399
16400 2011-06-12  Bruno Haible  <bruno@clisp.org>
16401
16402         acl: Add support for HP-UX >= 11.11 JFS ACLs.
16403         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
16404         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
16405         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
16406         (acl, aclsort): New declarations.
16407         (aclv_nontrivial): New declaration.
16408         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
16409         (file_has_acl): Read also the second kind of HP-UX ACLs.
16410         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
16411         kind of HP-UX ACLs if the first kind fails.
16412         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
16413         second kind of HP-UX ACLs.
16414         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
16415         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
16416         agree.
16417         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16418         hpuxjfs.
16419         Handle hpuxjfs.
16420         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16421         hpuxjfs.
16422         Handle hpuxjfs.
16423         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16424         (func_test_same_acls): Use both lsacl and getacl.
16425         Handle hpuxjfs.
16426         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16427         (func_test_same_acls): Use both lsacl and getacl.
16428         Handle hpuxjfs.
16429
16430 2011-06-12  Bruno Haible  <bruno@clisp.org>
16431
16432         acl: Complete the 2010-08-10 fix.
16433         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16434         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16435         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16436         explicitly.
16437         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16438         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16439
16440 2011-06-12  Bruno Haible  <bruno@clisp.org>
16441
16442         spawn-pipe tests: Comments.
16443         * tests/test-spawn-pipe-child.c (main): Update comment.
16444         Reported by James Youngman <jay@gnu.org>.
16445
16446 2011-06-11  James Youngman  <jay@gnu.org>
16447
16448         New module 'stat-size'.
16449         * modules/stat-size: New module.  Provides macros for accessing
16450         file size information in instances of struct stat.  Depends on the
16451         fileblocks module because it calls st_blocks.
16452         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16453         * doc/gnulib.texi: Include stat-size.texi.
16454         * doc/stat-size.texi: Documentation for this module.
16455         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16456         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16457         AC_STRUCT_ST_BLOCKS.
16458
16459 2011-06-09  Bruno Haible  <bruno@clisp.org>
16460
16461         thread: Support pthreads-win32.
16462         * lib/glthread/thread.h (gl_thread_self): Define differently on
16463         pthreads-win32.
16464         (gl_null_thread): New declaration.
16465         (gl_thread_self_pointer): New macro.
16466         * lib/glthread/thread.c (gl_null_thread): New constant.
16467         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16468         gl_thread_self.
16469         * tests/test-tls.c: Likewise.
16470         Suggested by Paul Eggert. Reported by Eric Blake.
16471
16472 2011-06-09  Bruno Haible  <bruno@clisp.org>
16473
16474         thread: Fix confusion between NULL and 0.
16475         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16476         Reported by Paul Eggert.
16477
16478 2011-06-09  Bruno Haible  <bruno@clisp.org>
16479
16480         spawn-pipe tests: Avoid test failure on HP-UX 11.
16481         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16482         is closed.
16483
16484 2011-06-09  Bruno Haible  <bruno@clisp.org>
16485
16486         acl tests: Fix compilation error on HP-UX 11.
16487         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16488
16489 2011-06-09  Bruno Haible  <bruno@clisp.org>
16490
16491         rmdir: Avoid test failure on HP-UX 10.20.
16492         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16493         EEXIST.
16494
16495 2011-06-08  Eric Blake  <eblake@redhat.com>
16496
16497         perror: fix test on mingw
16498         * modules/perror-tests (Depends-on): Add dup2.
16499
16500         strerror_r-posix: fix on MacOS
16501         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16502         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16503         logic bug.
16504         * lib/strerror_r.c (strerror_r): Fix the bug.
16505         * lib/strerror.c (strerror): Likewise.
16506         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16507         problem.
16508         * doc/posix-functions/strerror.texi (strerror): Likewise.
16509         * doc/posix-functions/perror.texi (perror): Likewise.
16510         * tests/test-strerror.c (main): Enhance test.
16511         * tests/test-strerror_r.c (main): Likewise.
16512
16513 2011-06-08  Bruno Haible  <bruno@clisp.org>
16514
16515         gnulib-tool: Better isolation between different gnulib-tool invocations.
16516         * gnulib-tool: New option --witness-c-macro.
16517         (witness_c_macro): New variable.
16518         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16519         AM_CPPFLAGS define it as a C macro.
16520         (func_emit_tests_Makefile_am): Likewise.
16521         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16522         read it from there.
16523         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16524         m4_define, not AC_DEFUN.
16525         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16526         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16527         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16528         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16529         s|...|...|, to substitute the values of the GNULIB_* module indicator
16530         variables.
16531         * modules/dirent (Makefile.am): Likewise.
16532         * modules/fcntl-h (Makefile.am): Likewise.
16533         * modules/iconv-h (Makefile.am): Likewise.
16534         * modules/langinfo (Makefile.am): Likewise.
16535         * modules/locale (Makefile.am): Likewise.
16536         * modules/math (Makefile.am): Likewise.
16537         * modules/netdb (Makefile.am): Likewise.
16538         * modules/poll-h (Makefile.am): Likewise.
16539         * modules/pty (Makefile.am): Likewise.
16540         * modules/search (Makefile.am): Likewise.
16541         * modules/signal (Makefile.am): Likewise.
16542         * modules/spawn (Makefile.am): Likewise.
16543         * modules/stdio (Makefile.am): Likewise.
16544         * modules/stdlib (Makefile.am): Likewise.
16545         * modules/string (Makefile.am): Likewise.
16546         * modules/sys_ioctl (Makefile.am): Likewise.
16547         * modules/sys_select (Makefile.am): Likewise.
16548         * modules/sys_socket (Makefile.am): Likewise.
16549         * modules/sys_stat (Makefile.am): Likewise.
16550         * modules/sys_times (Makefile.am): Likewise.
16551         * modules/sys_utsname (Makefile.am): Likewise.
16552         * modules/sys_wait (Makefile.am): Likewise.
16553         * modules/termios (Makefile.am): Likewise.
16554         * modules/time (Makefile.am): Likewise.
16555         * modules/unistd (Makefile.am): Likewise.
16556         * modules/wchar (Makefile.am): Likewise.
16557
16558 2011-06-08  Eric Blake  <eblake@redhat.com>
16559
16560         strerror: simplify replacement
16561         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16562         * modules/strerror (configure.ac): No prereqs needed here...
16563         * modules/strerror-override (configure.ac): ...but this needs it.
16564         (Files): Add file for needed prereq macro.
16565
16566 2011-06-08  Bruno Haible  <bruno@clisp.org>
16567
16568         strerror_r-posix: Tweaks.
16569         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16570         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16571         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16572         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16573         (gl_FUNC_STRERROR_R): ... to here.
16574         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16575
16576 2011-06-07  Eric Blake  <eblake@redhat.com>
16577
16578         perror: document fixed bugs
16579         * doc/posix-functions/perror.texi (perror): Document recent
16580         patches.
16581
16582 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16583
16584         stat-time: get_stat_birthtime failure is better-defined
16585         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16586         return a timestamp whose tv_sec and tv_nsec values are both -1.
16587         Previously, the spec said only that the tv_nsec value was negative.
16588         This upward-compatible change simplifies GNU tar a bit.
16589
16590 2011-06-07  Eric Blake  <eblake@redhat.com>
16591
16592         strerror_r-posix: work around cygwin 1.7.9
16593         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16594         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16595         bug without replacing strerror_r.
16596         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16597         strerror_r is buggy, but without requiring strerror_r compilation.
16598         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16599
16600         test-perror: relax test to ignore cygwin bug
16601         * tests/test-perror2.c (main): Relax test on requiring detection
16602         of stream errors, and use unbuffered stream.
16603         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
16604         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16605         * doc/posix-functions/fputc.texi (fputc): Likewise.
16606         * doc/posix-functions/fputs.texi (fputs): Likewise.
16607         * doc/posix-functions/fputws.texi (fputws): Likewise.
16608         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16609         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
16610         * doc/posix-functions/getopt.texi (getopt): Likewise.
16611         * doc/posix-functions/perror.texi (perror): Likewise.
16612         * doc/posix-functions/printf.texi (printf): Likewise.
16613         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
16614         * doc/posix-functions/psignal.texi (psignal): Likewise.
16615         * doc/posix-functions/putc.texi (putc): Likewise.
16616         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
16617         Likewise.
16618         * doc/posix-functions/putchar.texi (putchar): Likewise.
16619         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
16620         Likewise.
16621         * doc/posix-functions/puts.texi (puts): Likewise.
16622         * doc/posix-functions/putwc.texi (putwc): Likewise.
16623         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
16624         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16625         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16626         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16627         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16628         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16629         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16630         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16631
16632 2011-05-22  Bruno Haible  <bruno@clisp.org>
16633
16634         strerror: Move AC_LIBOBJ invocations to module description.
16635         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
16636         gl_PREREQ_STRERROR invocations from here...
16637         * modules/strerror (configure.ac): ... to here.
16638
16639 2011-05-21  Bruno Haible  <bruno@clisp.org>
16640
16641         perror: Use common idiom.
16642         * modules/perror (configure.ac): Reorder statements.
16643
16644 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16645
16646         tests: fix usage message in 'mktempd_'
16647         * tests/init.sh (mktempd_): In the usage message, use literal
16648         'mktempd_', not '$ME' (which is even undefined), as the name of
16649         the subroutine.
16650
16651 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16652
16653         tests init: new function 'fatal_', for hard errors
16654         Before this patch, the only way offered by tests/init.sh to
16655         properly signal a hard error was the `framework_failure_'
16656         function.  But the error message issued by that function,
16657         as its name would suggest, refers to a set-up failure in the
16658         testsuite, while hard errors can obviously also be due to
16659         other reasons.  The best way to fix this inconsistency is to
16660         introduce a new function with a more general error message.
16661         * tests/init.sh (fatal_): New function.
16662
16663 2011-06-06  Eric Blake  <eblake@redhat.com>
16664
16665         canonicalize-lgpl: use common idiom
16666         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
16667         over newer POSIX -Rf.
16668         Reported by Bruno Haible.
16669
16670         canonicalize-lgpl: work around AIX realpath bug
16671         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
16672         * doc/posix-functions/realpath.texi (realpath): Document it.
16673         Reported by Bruno Haible.
16674
16675         strerror: work around FreeBSD bug
16676         * lib/strerror.c (strerror): Special case 0.
16677         Reported by Bruno Haible.
16678
16679         strerror-override: avoid bloating errno module
16680         * modules/errno (Files, configure.ac): Move replacement strings...
16681         * modules/strerror-override: ...to new module.
16682         * modules/strerror (Depends-on): Add strerror-override.
16683         * modules/strerror_r-posix (Depends-on): Likewise.
16684         * MODULES.html.sh: Document new module.
16685         Reported by Bruno Haible.
16686
16687 2011-06-06  Bruno Haible  <bruno@clisp.org>
16688
16689         spawn-pipe tests: Rename program.
16690         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
16691         * tests/test-spawn-pipe-child.c: Update comment.
16692         * tests/test-spawn-pipe.sh: Update.
16693         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
16694
16695         spawn-pipe tests: Link the child program only against libc.
16696         * tests/test-spawn-pipe-child.c: New file, extracted from
16697         tests/test-spawn-pipe.c.
16698         (main): Expect only one argument.
16699         (is_open): New function, copied from tests/test-pipe.c.
16700         * tests/test-spawn-pipe.c: Don't include <errno.h>.
16701         (child_main): Remove function.
16702         (test_pipe): Pass only one argument to the child program.
16703         (main): Remove child process code. Expect the child program's name as
16704         first argument.
16705         * tests/test-spawn-pipe.sh: Pass the child program's name as first
16706         argument.
16707         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
16708         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
16709         test-spawn-pipe-child against no libraries.
16710
16711 2011-06-06  Bruno Haible  <bruno@clisp.org>
16712
16713         careadlinkat: Avoid mismatch between ssize_t and int.
16714         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
16715         * lib/careadlinkat.c (careadlinkatcwd): Define always.
16716
16717 2011-06-06  Jim Meyering  <meyering@redhat.com>
16718
16719         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
16720         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
16721         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
16722
16723 2011-06-05  Bruno Haible  <bruno@clisp.org>
16724
16725         ansi-c++-opt: Interoperability with libtool.
16726         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
16727         set the variable to "no", not to ":".
16728         * NEWS: Mention the change.
16729
16730 2011-06-05  Bruno Haible  <bruno@clisp.org>
16731
16732         acl: Fix test failure on AIX 7.
16733         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
16734         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
16735
16736 2011-06-05  Bruno Haible  <bruno@clisp.org>
16737
16738         pipe-filter-ii: Fix test failure on AIX and IRIX.
16739         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
16740         with EAGAIN, retry with a smaller buffer size.
16741
16742 2011-06-05  Bruno Haible  <bruno@clisp.org>
16743
16744         localename: Fix link dependencies.
16745         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
16746         * modules/localename-tests (Makefile.am): Link test-localename with
16747         $(LIBTHREAD).
16748
16749 2011-06-05  Bruno Haible  <bruno@clisp.org>
16750
16751         error: Avoid gcc warning.
16752         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
16753
16754 2011-06-05  Bruno Haible  <bruno@clisp.org>
16755
16756         unsetenv: Avoid gcc warning.
16757         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
16758
16759 2011-06-05  Bruno Haible  <bruno@clisp.org>
16760
16761         setenv: Avoid gcc warning.
16762         * lib/setenv.c (setenv): Provide declaration if system lacks it.
16763
16764 2011-06-05  Bruno Haible  <bruno@clisp.org>
16765
16766         sys_select: Ensure memset is declared also on AIX 7.
16767         * lib/sys_select.in.h: Include <string.h> also on AIX.
16768         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
16769         self-contained also on AIX 7.1.
16770
16771 2011-06-04  Jim Meyering  <meyering@redhat.com>
16772
16773         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
16774         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
16775         function name, "error".
16776         (_gl_translatable_diag_func_re): New configurable variable.
16777
16778 2011-06-04  Bruno Haible  <bruno@clisp.org>
16779
16780         getopt: Avoid gcc warning.
16781         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
16782
16783 2011-06-04  Bruno Haible  <bruno@clisp.org>
16784
16785         strerror_r: Fix comments.
16786         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
16787         commit.
16788
16789 2011-06-04  Bruno Haible  <bruno@clisp.org>
16790
16791         perror: Fix compilation error.
16792         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
16793         Undefine fprintf, not sprintf.
16794         * modules/perror (Depends-on): Remove intprops, verify.
16795
16796 2011-06-04  Bruno Haible  <bruno@clisp.org>
16797
16798         setlocale: Enable replacement on Cygwin 1.5.
16799         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
16800         Cygwin 1.5.x.
16801         * doc/posix-functions/setlocale.texi: Mention that the problem with the
16802         LC_CTYPE category also exists on Cygwin 1.5.x.
16803
16804 2011-06-04  Bruno Haible  <bruno@clisp.org>
16805
16806         strerror-override: Don't disable symbol renamings.
16807         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
16808         * lib/strerror-override.c: Include config.h.
16809         (strerror_override): Don't undefine.
16810
16811 2011-06-03  Bruno Haible  <bruno@clisp.org>
16812
16813         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
16814         * lib/localename.h: Update copyright header.
16815         * lib/localename.c: Likewise.
16816         * lib/relocatable.h: Likewise.
16817         * lib/relocatable.c: Likewise.
16818
16819 2011-06-02  Bruno Haible  <bruno@clisp.org>
16820
16821         doc: Fix a module name.
16822         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
16823
16824 2011-06-02  Bruno Haible  <bruno@clisp.org>
16825
16826         pipe2: Remove dependency on 'nonblocking' module.
16827         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
16828         O_NONBLOCK is defined by gnulib.
16829         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
16830         is zero.
16831         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
16832         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
16833         defined by gnulib.
16834         (get_nonblocking_flag): New function.
16835         (main): Test O_NONBLOCK flag only if it is nonzero.
16836         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
16837
16838 2011-06-03  Jim Meyering  <meyering@redhat.com>
16839
16840         maint: three new prohibit-header-without-use rules
16841         Prohibit use of cloexec.h, posixver.h, same.h without use.
16842         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
16843         (sc_prohibit_posixver_without_use): Likewise.
16844         (sc_prohibit_same_without_use): Likewise.
16845
16846 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16847
16848         allocator: 'die' routine is now given requested size
16849         * lib/allocator.h (struct allocator.die): New size arg.
16850         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
16851         If the actual problem is an ssize_t limitation, not a size_t or
16852         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
16853
16854 2011-06-01  Eric Blake  <eblake@redhat.com>
16855
16856         strerror: drop strerror_r dependency
16857         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
16858         * lib/strerror-override.c (strerror_override): ...to new file.
16859         * lib/strerror-override.h: Add prototype.
16860         * lib/strerror-impl.h: Delete.
16861         * lib/strerror.c (strerror): New implementation.
16862         * modules/errno (Files): Add new files.
16863         (configure.ac): Compile new file as appropriate.
16864         * modules/strerror (Files): Drop unused file.
16865         (Depends-on): Drop strerror_r-posix.
16866         * MODULES.html.sh: Document strerror_r-posix.
16867         Requested by Sam Steingold.
16868
16869         perror: call strerror_r directly
16870         * modules/perror (Files): Drop strerror-impl.h.
16871         * lib/perror.c (perror): Use our own stack buffer, rather than
16872         calling a wrapper that uses static storage.
16873         * doc/posix-functions/perror.texi (perror): Document a limitation
16874         of our replacement.
16875
16876         strerror_r: fix includes for FreeBSD
16877         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
16878         since we use abort on some platforms.
16879         Reported by Matthias Bolte.
16880
16881 2011-05-31  Bruno Haible  <bruno@clisp.org>
16882
16883         Fix link errors in tests: openat-die uses gettext-h.
16884         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
16885         against $(LIBINTL).
16886         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
16887         against $(LIBINTL).
16888         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
16889         $(LIBINTL).
16890         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
16891         against $(LIBINTL).
16892         * modules/linkat-tests (Makefile.am): Link test-linkat against
16893         $(LIBINTL).
16894         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
16895         $(LIBINTL).
16896         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
16897         against $(LIBINTL).
16898         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
16899         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
16900         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
16901         $(LIBINTL).
16902         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
16903         $(LIBINTL).
16904         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
16905         $(LIBINTL).
16906         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16907
16908 2011-05-31  Bruno Haible  <bruno@clisp.org>
16909
16910         Fix link errors in tests: wait-process uses gettext-h.
16911         * modules/nonblocking-pipe-tests (Makefile.am): Set
16912         test_nonblocking_pipe_main_LDADD.
16913         * modules/nonblocking-socket-tests (Makefile.am): Link
16914         test-nonblocking-socket-main against $(LIBINTL).
16915         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16916
16917 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16918
16919         assert-h: work around 'verify' incompatibility
16920         * lib/verify.h: Use @...@ directives, not ifdef.
16921         * modules/assert-h (assert.h): Implement the directives.
16922         (assert.h): Substitute the symbol-prefix more consistently.
16923
16924 2011-05-29  Jim Meyering  <meyering@redhat.com>
16925
16926         trim: remove three superfluous assignments
16927         * lib/trim.c (trim2): Remove three superfluous assignments
16928         and correct brace positioning.
16929
16930 2011-05-29  Bruno Haible  <bruno@clisp.org>
16931
16932         wctype-h: Avoid namespace pollution on Solaris 2.6.
16933         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
16934         identifiers.
16935         * doc/posix-headers/wctype.texi: Mention the problem.
16936         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16937
16938 2011-05-28  Jim Meyering  <meyering@redhat.com>
16939
16940         parse-datetime.y: accommodate -Wstrict-overflow
16941         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
16942         placate -Wstrict-overflow.
16943
16944         trim: avoid a warning from -O2 -Wstrict-overflow
16945         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
16946
16947 2011-05-29  Bruno Haible  <bruno@clisp.org>
16948
16949         gnulib-tool: Fix bug in yesterday's commit.
16950         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
16951         twice.
16952
16953 2011-05-29  Bruno Haible  <bruno@clisp.org>
16954
16955         Allow multiple gnulib generated include files to be combined.
16956         * gnulib-tool (func_compute_include_guard_prefix): New function.
16957         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
16958         ${gl_include_guard_prefix} references.
16959         (func_import, func_create_testdir): Invoke
16960         func_compute_include_guard_prefix.
16961         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
16962         * lib/ctype.in.h: Likewise.
16963         * lib/dirent.in.h: Likewise.
16964         * lib/errno.in.h: Likewise.
16965         * lib/fcntl.in.h: Likewise.
16966         * lib/float.in.h: Likewise.
16967         * lib/getopt.in.h: Likewise.
16968         * lib/iconv.in.h: Likewise.
16969         * lib/langinfo.in.h: Likewise.
16970         * lib/locale.in.h: Likewise.
16971         * lib/math.in.h: Likewise.
16972         * lib/netdb.in.h: Likewise.
16973         * lib/netinet_in.in.h: Likewise.
16974         * lib/poll.in.h: Likewise.
16975         * lib/pthread.in.h: Likewise.
16976         * lib/pty.in.h: Likewise.
16977         * lib/sched.in.h: Likewise.
16978         * lib/se-selinux.in.h: Likewise.
16979         * lib/search.in.h: Likewise.
16980         * lib/signal.in.h: Likewise.
16981         * lib/spawn.in.h: Likewise.
16982         * lib/stdarg.in.h: Likewise.
16983         * lib/stddef.in.h: Likewise.
16984         * lib/stdint.in.h: Likewise.
16985         * lib/stdio.in.h: Likewise.
16986         * lib/stdlib.in.h: Likewise.
16987         * lib/string.in.h: Likewise.
16988         * lib/strings.in.h: Likewise.
16989         * lib/sys_file.in.h: Likewise.
16990         * lib/sys_ioctl.in.h: Likewise.
16991         * lib/sys_select.in.h: Likewise.
16992         * lib/sys_socket.in.h: Likewise.
16993         * lib/sys_stat.in.h: Likewise.
16994         * lib/sys_time.in.h: Likewise.
16995         * lib/sys_times.in.h: Likewise.
16996         * lib/sys_uio.in.h: Likewise.
16997         * lib/sys_utsname.in.h: Likewise.
16998         * lib/sys_wait.in.h: Likewise.
16999         * lib/sysexits.in.h: Likewise.
17000         * lib/termios.in.h: Likewise.
17001         * lib/time.in.h: Likewise.
17002         * lib/unistd.in.h: Likewise.
17003         * lib/wchar.in.h: Likewise.
17004         * lib/wctype.in.h: Likewise.
17005         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
17006         * modules/ctype (Makefile.am): Likewise.
17007         * modules/dirent (Makefile.am): Likewise.
17008         * modules/errno (Makefile.am): Likewise.
17009         * modules/fcntl-h (Makefile.am): Likewise.
17010         * modules/float (Makefile.am): Likewise.
17011         * modules/getopt-posix (Makefile.am): Likewise.
17012         * modules/iconv-h (Makefile.am): Likewise.
17013         * modules/langinfo (Makefile.am): Likewise.
17014         * modules/locale (Makefile.am): Likewise.
17015         * modules/math (Makefile.am): Likewise.
17016         * modules/netdb (Makefile.am): Likewise.
17017         * modules/netinet_in (Makefile.am): Likewise.
17018         * modules/poll-h (Makefile.am): Likewise.
17019         * modules/pthread (Makefile.am): Likewise.
17020         * modules/pty (Makefile.am): Likewise.
17021         * modules/sched (Makefile.am): Likewise.
17022         * modules/search (Makefile.am): Likewise.
17023         * modules/selinux-h (Makefile.am): Likewise.
17024         * modules/signal (Makefile.am): Likewise.
17025         * modules/spawn (Makefile.am): Likewise.
17026         * modules/stdarg (Makefile.am): Likewise.
17027         * modules/stddef (Makefile.am): Likewise.
17028         * modules/stdint (Makefile.am): Likewise.
17029         * modules/stdio (Makefile.am): Likewise.
17030         * modules/stdlib (Makefile.am): Likewise.
17031         * modules/string (Makefile.am): Likewise.
17032         * modules/strings (Makefile.am): Likewise.
17033         * modules/sys_file (Makefile.am): Likewise.
17034         * modules/sys_ioctl (Makefile.am): Likewise.
17035         * modules/sys_select (Makefile.am): Likewise.
17036         * modules/sys_socket (Makefile.am): Likewise.
17037         * modules/sys_stat (Makefile.am): Likewise.
17038         * modules/sys_time (Makefile.am): Likewise.
17039         * modules/sys_times (Makefile.am): Likewise.
17040         * modules/sys_uio (Makefile.am): Likewise.
17041         * modules/sys_utsname (Makefile.am): Likewise.
17042         * modules/sys_wait (Makefile.am): Likewise.
17043         * modules/sysexits (Makefile.am): Likewise.
17044         * modules/termios (Makefile.am): Likewise.
17045         * modules/time (Makefile.am): Likewise.
17046         * modules/unistd (Makefile.am): Likewise.
17047         * modules/wchar (Makefile.am): Likewise.
17048         * modules/wctype-h (Makefile.am): Likewise.
17049         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17050
17051 2011-05-29  Bruno Haible  <bruno@clisp.org>
17052
17053         assert-h: Allow multiple gnulib generated replacements to coexist.
17054         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17055
17056 2011-05-29  Bruno Haible  <bruno@clisp.org>
17057
17058         argp: Allow coexistence with strerror_r-posix module.
17059         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17060         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17061         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17062         not the glibc signature.
17063
17064 2011-05-28  Bruno Haible  <bruno@clisp.org>
17065
17066         gnulib-tool: Alternative structure of testdirs, similar to --import.
17067         * gnulib-tool: New option --single-configure.
17068         (func_usage): Document it.
17069         (single_configure): New variable.
17070         (func_modules_transitive_closure_separately,
17071         func_modules_transitive_closure_separately,
17072         func_determine_use_libtests, func_modules_add_dummy_separately,
17073         func_modules_to_filelist_separately): New functions, extracted from
17074         func_import.
17075         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
17076         (func_import): Use the new functions.
17077         (func_create_testdir): Set final_modules. Handle $single_configure =
17078         true case.
17079
17080 2011-05-28  Bruno Haible  <bruno@clisp.org>
17081
17082         getloadavg: Remove an unreliable safety check.
17083         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
17084         getloadavg.c is in place.
17085         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
17086         Reported by Sam Steingold <sds@gnu.org>.
17087
17088 2011-05-28  Bruno Haible  <bruno@clisp.org>
17089
17090         doc: Cleanup yet another file produced by texinfo.tex.
17091         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
17092
17093 2011-05-28  Bruno Haible  <bruno@clisp.org>
17094
17095         Finish the conditional dependencies mechanism.
17096         * gnulib-tool: New option --no-conditional-dependencies.
17097         (func_usage): Document it. Don't mark --conditional-dependencies as
17098         experimental.
17099         (cond_dependencies): The possible values can now be true, false, empty.
17100         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
17101         (func_import): Store setting in gnulib-cache.m4 and read it from there.
17102         * doc/gnulib-tool.texi (Conditional dependencies): New section.
17103
17104 2011-05-28  Bruno Haible  <bruno@clisp.org>
17105
17106         doc: Use a recent texinfo.tex.
17107         * doc/Makefile (tex_opts): New variable.
17108         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
17109
17110 2011-05-28  Jim Meyering  <meyering@redhat.com>
17111
17112         intprops.h: adjust comment to match code change
17113         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
17114         only once, it *may* have side effects.  Also fix an unrelated typo.
17115         (_GL_INT_SIGNED): Likewise.
17116
17117 2011-05-26  Simon Josefsson  <simon@josefsson.org>
17118
17119         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
17120
17121 2011-05-26  Bruno Haible  <bruno@clisp.org>
17122
17123         mbsrchr: Avoid collision with system function on Interix.
17124         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
17125         Reported by Markus Duft <mduft@gentoo.org>.
17126
17127 2011-05-15  James Youngman  <jay@gnu.org>
17128
17129         getopt: for ambiguous options, enumerate the possibilities.
17130         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
17131         the ambiguous options when an ambiguous prefix is given. This was
17132         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
17133         glibc change was
17134         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
17135
17136 2011-05-25  Eric Blake  <eblake@redhat.com>
17137
17138         getcwd: work around mingw bug
17139         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
17140         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17141         Reported by Matthias Bolte.
17142
17143 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
17144
17145         test-intprops: disable -Wtype-limits diagnostics
17146         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
17147         diagnostics.  Otherwise, the integer overflow macros generate many
17148         diagnostics.  Reported by Jim Meyering in
17149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17150
17151         intprops: shorten, to pacify gcc -Woverlength-strings
17152         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
17153         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
17154         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
17155         likely to run afoul of C compiler limits for string constant lengths.
17156         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17157
17158 2011-05-24  Eric Blake  <eblake@redhat.com>
17159
17160         docs: document recently fixed glibc printf bug
17161         * doc/posix-functions/fprintf.texi (fprintf): Document it.
17162         * doc/posix-functions/printf.texi (printf): Likewise.
17163         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17164         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17165
17166         closein-tests: convert to init.sh
17167         * modules/closein-tests (Files): Add init.sh
17168         * tests/test-closein.sh Use it.
17169
17170         yesno-tests: convert to init.sh
17171         * modules/yesno-tests (Files): Add init.sh.
17172         * tests/test-yesno.sh: Use it.
17173
17174         atexit-tests: ensure reliable exit status
17175         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
17176         Reported by Bruno Haible.
17177
17178 2011-05-24  Bruno Haible  <bruno@clisp.org>
17179
17180         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
17181         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
17182         gl_PREREQ_STRERROR_R invocations from here...
17183         * modules/strerror_r-posix (configure.ac): ... to here.
17184
17185 2011-05-24  Eric Blake  <eblake@redhat.com>
17186
17187         strerror_r: fix missing header
17188         * lib/strerror_r.c: Avoid compiler warning about snprintf.
17189
17190         strerror_r: fix AIX test failures
17191         * lib/strerror_r.c (strerror_r): Convert silent truncation to
17192         ERANGE failure.
17193
17194         strerror_r: fix Solaris test failures
17195         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
17196         failures.
17197         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17198
17199         strerror_r: enforce POSIX recommendations
17200         * lib/strerror_r.c (safe_copy): New helper method.
17201         (strerror_r): Guarantee a non-empty string.
17202         * tests/test-strerror_r.c (main): Enhance tests to incorporate
17203         recent POSIX rulings and to match our strerror guarantees.
17204         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17205
17206 2011-05-24  Jim Meyering  <meyering@redhat.com>
17207
17208         test-perror2.c: avoid warning about unused variable
17209         * tests/test-perror2.c (main): Remove declaration of unused "fp".
17210
17211 2011-05-24  Eric Blake  <eblake@redhat.com>
17212
17213         perror: avoid spurious test failure on HP-UX
17214         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
17215
17216         tests: fix logic bug in init.sh
17217         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
17218         shell.
17219
17220 2011-05-24  Jim Meyering  <meyering@redhat.com>
17221
17222         utimensat: do not reference an out-of-scope buffer
17223         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
17224         declared in an inner scope, yet "times" would be dereferenced outside
17225         the scope in which "ts" was valid.
17226         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
17227         of ts[2] "out/up", so that the use of aliased "times" (via
17228         "times = ts;") does not end up referencing an out-of-scope "ts"
17229
17230         opendir-safer.c: don't clobber errno; don't close negative FD
17231         * lib/opendir-safer.c (opendir_safer):
17232         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
17233         file descriptor, and more importantly, don't clobber the
17234         offending errno value with EINVAL.  Before, upon failure
17235         of dup_safer, we would pass the negative file descriptor to
17236         fdopendir, which would clobber errno.
17237
17238 2011-05-23  Bruno Haible  <bruno@clisp.org>
17239
17240         idcache: Fix module description.
17241         * modules/idcache (Include): Set to "idcache.h".
17242
17243 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17244
17245         gnulib-tool: fix portability problem with MacOS sed
17246         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
17247         before the "}".  Problem reported by Leo in
17248         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
17249         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
17250         sed_extract_condition1, sed_extract_condition2.
17251
17252 2011-05-23  Bruno Haible  <bruno@clisp.org>
17253
17254         hash: Simplify autoconf macro.
17255         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
17256
17257 2011-05-23  Bruno Haible  <bruno@clisp.org>
17258
17259         getugroups: Fix module description.
17260         * modules/getugroups (Include): Set to "getugroups.h".
17261
17262 2011-05-23  Bruno Haible  <bruno@clisp.org>
17263
17264         linkat: Simplify autoconf macro.
17265         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
17266
17267 2011-05-23  Bruno Haible  <bruno@clisp.org>
17268             Eric Blake  <eblake@redhat.com>
17269
17270         linkat, renameat: Update dependencies.
17271         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
17272         * modules/linkat (Depends-on): Likewise. Remove also readlink,
17273         symlinkat.
17274
17275 2011-05-23  Jim Meyering  <meyering@redhat.com>
17276
17277         maint.mk: more tight_scope improvements
17278         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
17279         (_gl_TS_headers): Define only in if-0'd block.
17280         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
17281         sometimes we must *not* use it.  Adjust uses accordingly.
17282         (sc_tight_scope): Use much simpler grep-based test to determine
17283         whether we skip this rule.
17284
17285         maint.mk: generalize/improve the tight-scope rule
17286         * top/maint.mk: Emit a warning when the test is skipped.
17287         (_gl_TS_dir): Add $(srcdir)/ prefix.
17288         (_gl_TS_function_match): Simplify, rather than trying
17289         to enumerate common types.  Otherwise, it would fail to match an
17290         "extern unsigned char const *" declaration in idutils.
17291         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
17292         a way to support use of that type of macro.
17293         (_gl_TS_var_match): Simplify regexp.
17294         (_gl_TS_obj_files): New configurable variable.
17295         (_gl_TS_headers): Likewise.
17296
17297 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
17298
17299         verify: fix bug when gnulib <assert.h> is also included
17300         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
17301         is defined, not if _GL_STATIC_ASSERT_H is not defined.
17302         Perhaps there's a better way, but this fixes the immediate problem.
17303         Problem reported by Bruno Haible in
17304         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
17305
17306 2011-05-22  Bruno Haible  <bruno@clisp.org>
17307
17308         xgetcwd: Simplify autoconf macro.
17309         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
17310
17311 2011-05-22  Bruno Haible  <bruno@clisp.org>
17312
17313         New module 'mktime-internal'.
17314         * modules/mktime-internal: New file.
17315         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
17316         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
17317         mktime_internal as a C macro if libc has __mktime_internal.
17318         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
17319         conditions.
17320         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
17321
17322 2011-05-22  Bruno Haible  <bruno@clisp.org>
17323
17324         timegm: Correct mktime replacement statements.
17325         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
17326         defining mktime as a C macro. This completes a 2009-07-28 commit.
17327
17328 2011-05-22  Bruno Haible  <bruno@clisp.org>
17329
17330         timegm: Simplify autoconf macro.
17331         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
17332
17333 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17334
17335         clock-time: change to LGPLv2+.
17336         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
17337         BSD-like but we have no mark for that; this is good enough for now.
17338
17339 2011-05-21  Bruno Haible  <bruno@clisp.org>
17340
17341         strerror_r: Fix comments.
17342         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
17343
17344 2011-05-21  Bruno Haible  <bruno@clisp.org>
17345
17346         relocatable-prog-wrapper: Fix possible link error.
17347         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
17348         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
17349         (gl_FUNC_SETENV): ... to here.
17350         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
17351         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
17352
17353 2011-05-21  Bruno Haible  <bruno@clisp.org>
17354
17355         relocatable-prog-wrapper: Assume strerror() exists.
17356         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
17357         m4/strerror.m4.
17358         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
17359         * lib/relocwrapper.c: Remove mention of strerror module.
17360         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
17361         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
17362         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
17363         C macro.
17364
17365 2011-05-21  Bruno Haible  <bruno@clisp.org>
17366
17367         select: Simplify replacement idiom.
17368         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
17369         Win32 platforms.
17370         * lib/sys_select.in.h (select): Simplify accordingly.
17371         * modules/select (Depends-on): Likewise.
17372
17373 2011-05-21  Bruno Haible  <bruno@clisp.org>
17374
17375         mkdir-p: Simplify autoconf macro.
17376         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
17377         gl_FUNC_LCHOWN.
17378
17379 2011-05-21  Eric Blake  <eblake@redhat.com>
17380
17381         strerror_r: avoid clobbering strerror on cygwin
17382         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
17383         fall back instead to sys_errlist.
17384         * modules/strerror (configure.ac): Add witness.
17385         * tests/test-strerror_r.c (main): Enhance test.
17386         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17387         * tests/test-perror2.c (main): Free memory before exit.
17388
17389 2011-05-21  Bruno Haible  <bruno@clisp.org>
17390
17391         mkdtemp: Use gnulib naming conventions.
17392         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
17393         * modules/mkdtemp (configure.ac): Update.
17394
17395 2011-05-20  Eric Blake  <eblake@redhat.com>
17396
17397         strerror_r: avoid corrupting errno on Solaris
17398         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
17399         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17400
17401         strerror_r: avoid compiler warning
17402         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
17403
17404         strerror_r: simplify AIX code
17405         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
17406
17407         test-perror: avoid spurious failure on FreeBSD
17408         * modules/perror-tests (Depends-on): Add strerror, now that
17409         strerror_r no longer pulls it in.
17410
17411 2011-05-20  Bruno Haible  <bruno@clisp.org>
17412
17413         strerror_r-posix: Remove unused dependencies.
17414         * modules/strerror_r-posix (Depends-on): Remove strerror.
17415         Reported by Eric Blake.
17416
17417 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17418
17419         intprops: remove assumption about A|B representation
17420         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
17421         is a valid integer if both A and B are.  Although this is true for
17422         all known practical hosts, the C standard doesn't guarantee it,
17423         and the code need not assume it.  Also, this change may work around
17424         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
17425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
17426
17427 2011-05-20  Eric Blake  <eblake@redhat.com>
17428
17429         perror: work around FreeBSD bug
17430         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17431         is broken.  Move AC_LIBOBJ...
17432         * modules/perror (configure.ac): Here.
17433         * doc/posix-functions/perror.texi (perror): Document this.
17434         * tests/test-perror2.c (main): Enhance test.
17435
17436         test-perror: check for strerror interactions
17437         * tests/macros.h (STREQ): Add macro.
17438         * modules/perror-tests (Files): Add second test.
17439         * tests/test-perror2.c (main): New file.
17440         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17441
17442         test-perror: rewrite to use init script
17443         * modules/perror-tests (Files): Add init.sh.
17444         * tests/test-perror.sh: Use temporary directory.
17445
17446 2011-05-20  Jim Meyering  <meyering@redhat.com>
17447
17448         maint: replace misused "a" with "an"
17449         * doc/intprops.texi: "a integer"
17450         * doc/regex.texi: "a explanation"
17451         * lib/alignof.h: "a object"
17452         * lib/argmatch.h: "a explanation"
17453         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17454         * lib/stdint.in.h: "a integer"
17455         * lib/userspec.c: "a owner"
17456         * doc/gnulib.texi: Fix "a idea", and reword.
17457
17458 2011-05-19  Jim Meyering  <meyering@redhat.com>
17459
17460         maint: correct misuse of "a" and "an"
17461         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17462         * lib/argp-help.c: "an docum...": s/an/a/
17463         * lib/argp-parse.c: "An vector": s/An/A/
17464         * lib/execute.c: "an native": s/an/a/
17465         * lib/spawn-pipe.c: Likewise.
17466         * lib/gc.h: "an Gc_rc": s/an/a/
17467         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17468         * lib/fts.c: "an stat.st_dev": s/an/a/
17469
17470 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17471
17472         intprops-tests: work around HP-UX 11.23 cc bug with constants
17473         * tests/test-intprops.c (VERIFY): New macro.
17474         (main): Use it, instead of verify, to work around the compiler bug; see
17475         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17476
17477         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17478         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17479         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17480         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17481         (_GL_REMAINDER_OVERFLOW): Use it.
17482
17483         intprops-tests: revert unsigned part of previous change
17484         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17485         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17486         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17488
17489 2011-05-19  Bruno Haible  <bruno@clisp.org>
17490
17491         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17492         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17493         strerror_r() returned without filling the buffer.
17494         Reported by Eric Blake.
17495
17496 2011-05-19  Eric Blake  <eblake@redhat.com>
17497
17498         strerror_r: guarantee unchanged errno
17499         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17500         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17501         failure.
17502         * tests/test-strerror_r.c (main): Enhance test.
17503
17504 2011-05-19  Bruno Haible  <bruno@clisp.org>
17505
17506         strerror_r: Reorder #if blocks.
17507         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17508         for consistency with the previous commit.
17509
17510 2011-05-19  Bruno Haible  <bruno@clisp.org>
17511
17512         perror: Avoid clobbering the strerror buffer when possible.
17513         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17514         * lib/strerror.c: Include it.
17515         * modules/strerror (Files): Add lib/strerror-impl.h.
17516         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17517         (my_strerror): New function, defined through lib/strerror-impl.h.
17518         (perror): Use it instead of strerror.
17519         * modules/perror (Files): Add lib/strerror-impl.h.
17520         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17521
17522 2011-05-19  Eric Blake  <eblake@redhat.com>
17523
17524         strerror_r: fix on newer cygwin
17525         * lib/strerror_r.c (strerror_r): Cygwin now has
17526         __xpg_strerror_r, use it.
17527
17528 2011-05-19  Bruno Haible  <bruno@clisp.org>
17529
17530         strerror_r: Avoid clobbering the strerror buffer when possible.
17531         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17532         (sys_nerr, sys_errlist): New declarations.
17533         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17534         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17535         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17536
17537 2011-05-19  Bruno Haible  <bruno@clisp.org>
17538
17539         strerror_r: Fix test failure on mingw.
17540         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17541         EXTEND_STRERROR_R.
17542         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17543         macros from errno.in.h instead.
17544
17545 2011-05-19  Eric Blake  <eblake@redhat.com>
17546
17547         strerror: relax test for Solaris
17548         * tests/test-strerror.c (main): Permit Solaris behavior.
17549         * tests/test-strerror_r.c (main): Likewise.
17550
17551         strerror: enforce POSIX ruling on strerror(0)
17552         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17553         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17554         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17555         * doc/posix-functions/strerror.texi (strerror): Document it.
17556         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17557         * tests/test-strerror.c (main): Strengthen test.
17558         * tests/test-strerror_r.c (main): Likewise.
17559
17560 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17561
17562         intprop-tests: port to older and more-pedantic compilers
17563         * modules/intprops-tests (Files): Add tests/macros.h.
17564         * tests/test-intprops.c: Include macros.h.
17565         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17566         it's no longer documented to expand to an integer constant expression.
17567         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17568         argument is floating point, as it's no longer documented to expand
17569         to an integer constant expression in that case.
17570         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17571         compiler bugs reported by Bruno Haible.  See
17572         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17573         (U0, U1): New constants, to work around the same bugs.  Also,
17574         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17575
17576         intprops: work around C compiler bugs
17577         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17578         bug in Sun C 5.11 2010/08/13 and other compilers; see
17579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17580
17581         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17582         * doc/intprops.texi (Integer Type Determination): Fix
17583         documentation for TYPE_IS_INTEGER: it returns an constant
17584         expression, not an integer constant expression.  Fix doc for
17585         TYPE_SIGNED: it returns an integer constant expression only if its
17586         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17587         hardly worth documented that way....)
17588
17589 2011-05-18  Bruno Haible  <bruno@clisp.org>
17590
17591         strerror_r: Avoid clobbering the strerror buffer when possible.
17592         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17593         Handle gnulib defined errno values here. When strerror() returns NULL
17594         or an empty string, return EINVAL.
17595         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17596         gnulib defined errno values here.
17597         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17598
17599 2011-05-18  Eric Blake  <eblake@redhat.com>
17600
17601         fnmatch: avoid compiler warning
17602         * lib/fnmatch_loop.c (FCT): Use correct type.
17603         Reported by Matthias Bolte.
17604
17605 2011-05-13  Jim Meyering  <meyering@redhat.com>
17606
17607         maint.mk: three new prohibit_<HDR>_without_use rules
17608         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
17609         (sc_prohibit_stdio-safer_without_use): Likewise.
17610         (sc_prohibit_xfreopen_without_use): Likewise.
17611
17612 2011-05-17  Jim Meyering  <meyering@redhat.com>
17613
17614         announce-gen: fail if the NEWS delta is empty
17615         If there's nothing noteworthy in NEWS, then either you forgot
17616         or you shouldn't be releasing.
17617         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
17618
17619 2011-05-17  Pádraig Brady <P@draigBrady.com>
17620
17621         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
17622         reserved symbols starting with double underscore from the check.
17623
17624 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17625
17626         intprops: add doc
17627         * doc/intprops.texi: New file, documenting intprops.
17628         * doc/gnulib.texi (Particular Modules): Include it.
17629
17630         verify: add doc to gnulib manual and fix example
17631         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
17632         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
17633         (Compile-time Assertions): Fix example so it can't overflow.
17634
17635 2011-05-17  Jim Meyering  <meyering@redhat.com>
17636
17637         warnings.m4: don't usurp save_CPPFLAGS variable name
17638         * m4/warnings.m4: Prefix local temporary variable name with gl_.
17639
17640         doc: fix typo
17641         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17642
17643 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17644             Bruno Haible  <bruno@clisp.org>
17645
17646         doc: Tweak recent change.
17647         * README (Portability guidelines): Tweak new text.
17648         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17649         Interix 6.1.
17650
17651 2011-05-16  Eric Blake  <eblake@redhat.com>
17652
17653         inttypes: avoid autoconf warning
17654         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17655         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17656
17657 2011-05-16  Sam Steingold <sds@gnu.org>
17658         and Eric Blake  <eblake@redhat.com>
17659
17660         vc-list-files: accept multiple directory operands
17661         * build-aux/vc-list-files: Iterate over all remaining operands.
17662
17663 2011-05-16  Bruno Haible  <bruno@clisp.org>
17664
17665         Fix confusion regarding deprecated modules.
17666         * modules/calloc (Status, Notice): Mark module as deprecated, not
17667         obsolete.
17668         * modules/fnmatch-posix (Status, Notice): Likewise.
17669         * modules/getdate (Status, Notice): Likewise.
17670         * modules/getopt (Status, Notice): Likewise.
17671         * modules/malloc (Status, Notice): Likewise.
17672         * modules/pipe (Status, Notice): Likewise.
17673         * modules/realloc (Status, Notice): Likewise.
17674         * modules/rename-dest-slash (Status, Notice): Likewise.
17675         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
17676         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
17677         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
17678         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
17679         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
17680
17681 2011-05-16  Bruno Haible  <bruno@clisp.org>
17682
17683         doc: List the target platforms.
17684         * doc/gnulib-intro.texi (Target Platforms): New section.
17685         * doc/gnulib.texi (Introduction): Update menu.
17686         * README (Portability guidelines): Refer to the new section. Update
17687         statement about oldest supported environment. Remove rationale why
17688         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
17689         unportable C89 function.
17690         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
17691         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
17692
17693 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17694
17695         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
17696
17697 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17698
17699         intprops-tests: new module
17700         * modules/intprops-tests, tests/test-intprops.c: New files.
17701
17702         intprops: add safe, portable integer overflow checking
17703         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
17704         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
17705         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
17706         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
17707         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
17708         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
17709         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
17710         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
17711         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
17712         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
17713         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
17714
17715 2011-05-12  James Youngman  <jay@gnu.org>
17716
17717         Add a test for glibc's Bugzilla bug #12378.
17718         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
17719         doesn't allow the literal matching of a lone "[" (which is
17720         required by POSIX).
17721         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
17722
17723 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
17724
17725         Sync glibc change fixing Bugzilla bug #12378.
17726         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
17727         beginning and fall back to matching as normal character if the
17728         string ends before the matching ']' is found.  This is what POSIX
17729         requires.
17730
17731 2011-05-13  Eric Blake  <eblake@redhat.com>
17732
17733         getcwd-lgpl: relax test for FreeBSD
17734         * doc/posix-functions/getcwd.texi (getcwd): Document portability
17735         issue.
17736         * tests/test-getcwd-lgpl.c (main): Relax test.
17737         Reported by Matthias Bolte.
17738
17739 2011-05-11  Eric Blake  <eblake@redhat.com>
17740
17741         test-fflush: silence compiler warning
17742         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
17743
17744 2011-05-11  Bruno Haible  <bruno@clisp.org>
17745
17746         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
17747         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
17748         * modules/canonicalize (Depends-on): Add 'nocrash'.
17749         * modules/canonicalize-lgpl (Depends-on): Likewise.
17750         * doc/posix-functions/realpath.texi: Update platforms list.
17751         Reported by Ryan Schmidt <ryandesign@macports.org>.
17752
17753 2011-05-11  Bruno Haible  <bruno@clisp.org>
17754
17755         group-member: Declare function in <unistd.h>.
17756         * lib/unistd.in.h (group_member): New declaration.
17757         * lib/group-member.h: Remove file.
17758         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
17759         * tests/test-unistd-c++.cc: Check signature of group_member.
17760         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
17761         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
17762         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
17763         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
17764         HAVE_GROUP_MEMBER.
17765         * modules/group-member (Files): Remove lib/group-member.h.
17766         (Depends-on): Add unistd. Specify conditions.
17767         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17768         (Include): Change to <unistd.h>.
17769         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
17770         HAVE_GROUP_MEMBER.
17771         * NEWS: Mention the change.
17772         * lib/euidaccess.c: Don't include group-member.h.
17773
17774 2011-05-11  Bruno Haible  <bruno@clisp.org>
17775
17776         group-member: Document module.
17777         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
17778         module.
17779
17780 2011-05-11  Bruno Haible  <bruno@clisp.org>
17781
17782         fclose: Fix mistake earlier today.
17783         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
17784
17785 2011-05-11  Eric Blake  <eblake@redhat.com>
17786
17787         fclose: preserve fflush errors
17788         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
17789         Reported by Jim Meyering.
17790
17791         bootstrap: support a prereq of 'rpcgen -' on RHEL5
17792         * build-aux/bootstrap (check_versions): When no specific version
17793         is required, merely check that the app produces an exit status
17794         that indicates its existence.
17795
17796         maint.mk: drop redundant check
17797         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
17798         the same but better.
17799
17800 2011-05-11  Bruno Haible  <bruno@clisp.org>
17801
17802         fclose: Fix possible link error.
17803         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
17804         unregister_shadow_fd. Improve comments.
17805         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
17806         Eric Blake.
17807
17808 2011-05-11  Jim Meyering  <meyering@redhat.com>
17809
17810         maint.mk: improve "can not" detection and generalize rule name
17811         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
17812         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
17813         Use the same technique as in sc_prohibit_doubled_word, so that
17814         we recognize "can not" also when the words are separated by a newline.
17815         Suggested by Eric Blake.
17816         (perl_filename_lineno_text_): Define.  Factored out of...
17817         (prohibit_doubled_word_): ...here.  Use the new definition.
17818         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
17819         (prohibit_undesirable_word_seq_RE_): New overridable variable.
17820         (ignore_undesirable_word_sequence_RE_): New overridable variable.
17821
17822 2011-05-10  Eric Blake  <eblake@redhat.com>
17823
17824         fclose: avoid double close race when possible
17825         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
17826         all but WINDOWS_SOCKETS.
17827
17828 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
17829
17830         openat: correct new comment
17831         * lib/openat-proc.c (openat_proc_name): Correct the comment.
17832
17833 2011-05-10  Jim Meyering  <meyering@redhat.com>
17834
17835         openat: add comments
17836         * lib/openat-proc.c (openat_proc_name): Add comments,
17837         mostly from Eric Blake.
17838
17839 2011-05-09  Eric Blake  <eblake@redhat.com>
17840
17841         openat: reduce syscalls in first probe of /proc
17842         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
17843         be a directory.  Simplify the probe for .. bugs.
17844         * modules/openat (Depends-on): Drop same-inode.
17845         Reported by Bastien ROUCARIES.
17846
17847 2011-05-09  Jim Meyering  <meyering@redhat.com>
17848
17849         maint.mk: change semantics/name of tight_scope variables
17850         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
17851         Rename variables to align with semantics that make them more useful.
17852
17853         maint.mk: tweak new rule's name not to impinge
17854         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
17855         (sc_tight_scope): Use new rule name rather than $@-0.
17856
17857         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
17858         * top/maint.mk (sc_tight_scope): New rule.
17859         (sc_tight_scope-0): New rule, ifdef'd out.
17860         (_gl_TS_dir): Default.
17861         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
17862         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
17863
17864 2011-05-09  Simon Josefsson  <simon@josefsson.org>
17865
17866         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
17867         Haible <bruno@clisp.org>.
17868
17869 2011-05-08  Bruno Haible  <bruno@clisp.org>
17870
17871         Comments.
17872         * m4/isnanf.m4: Add comment.
17873         * m4/isnanl.m4: Likewise.
17874
17875 2011-05-08  Bruno Haible  <bruno@clisp.org>
17876
17877         glob: Remove obsolete macro.
17878         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
17879
17880 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17881
17882         intprops: Sun C 5.11 supports __typeof__
17883         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
17884         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
17885         which is new.
17886         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
17887
17888         intprops: switch to usual gnulib indenting and naming
17889         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
17890         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
17891
17892         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
17893
17894 2011-05-08  Jim Meyering  <meyering@redhat.com>
17895
17896         maint.mk: suppress "Entering/Leaving directory" diag in announcement
17897         * top/maint.mk (release-prep): Use make's --no-print-directory
17898         option when generating the announcement.  This eliminates the
17899         pesky "make[2]: Entering/Leaving directory" diagnostics in the
17900         generated announcement template.
17901
17902 2011-05-08  Bruno Haible  <bruno@clisp.org>
17903
17904         tzset: Fix gettimeofday wrapper on Solaris 2.6.
17905         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
17906         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
17907
17908 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17909
17910         ignore-value, verify: Omit include files from lib_SOURCES.
17911         * modules/ignore-value, modules/verify (Makefile.am):
17912         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
17913         that leads Automake to duplicate use of am__objects_... variables
17914         in Makefile.in.  See
17915         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
17916
17917 2011-05-07  Bruno Haible  <bruno@clisp.org>
17918
17919         fclose: Simplify autoconf macro.
17920         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
17921         defined.
17922
17923 2011-05-07  Bruno Haible  <bruno@clisp.org>
17924
17925         canonicalize-lgpl: Fix autoconf macro ordering bug.
17926         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
17927         gl_STDLIB_H_DEFAULTS.
17928
17929 2011-05-06  Eric Blake  <eblake@redhat.com>
17930
17931         maintainer-makefile: make sc_po_check easier to tune
17932         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
17933         to probe for strings, such as an alternate location for gnulib.
17934
17935         fclose: guarantee behavior on seekable stdin
17936         * modules/fclose (Depends-on): Add fflush.
17937         * doc/posix-functions/fclose.texi (fclose): Document this.
17938         * tests/test-fclose.c (main): Make test for this unconditional.
17939
17940 2011-05-06  Bruno Haible  <bruno@clisp.org>
17941
17942         fflush, fpurge: Relicense under LGPLv2+.
17943         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
17944         * modules/fpurge (License): Likewise.
17945         With permission from Eric Blake and Jim Meyering.
17946         Suggested by Eric Blake.
17947
17948 2011-05-06  Karl Berry  <karl@gnu.org>
17949
17950         * MODULES.html.sh (func_all_modules): remove exit.
17951
17952 2011-05-06  Jim Meyering  <meyering@redhat.com>
17953
17954         maint.mk: use info-gnu@ as the default only for a stable release
17955         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
17956         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
17957         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
17958         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
17959
17960 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17961
17962         assert-h: new module, which supports C1X-style static_assert
17963         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
17964         * lib/verify.h: Revamp so that this can be copied into assert.h,
17965         while retaining the ability to use it standalone as before.
17966         Rename private identifiers so as not to encroach on the
17967         standard C namespace, since this is now used by assert.h.
17968         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
17969         the old verify_true.
17970         (_GL_VERIFY_TRUE): New macro, with much of the contents of
17971         the old verify_true.  Use _GL_VERIFY_TYPE.
17972         (_GL_VERIFY): New macro, with much of the contents of the old verify.
17973         (static_assert): New macro, if _GL_STATIC_ASSERT_H
17974         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
17975         defined when this file is copied into the replacement assert.h.
17976         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
17977         and _Static_assert is not built in.
17978         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
17979         defined, and use the new macros mentioned above.
17980         * doc/posix-headers/assert.texi: Document this.
17981
17982 2011-05-05  Bruno Haible  <bruno@clisp.org>
17983
17984         fclose, fflush: Respect rules for use of AC_LIBOBJ.
17985         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
17986         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
17987         gl_REPLACE_FCLOSE here.
17988         * modules/fflush (Depends-on): Remove fclose.
17989         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
17990         combination with module 'fclose'.
17991
17992 2011-05-05  Bruno Haible  <bruno@clisp.org>
17993
17994         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
17995         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
17996         gl_FUNC_FFLUSH.
17997         (gl_FUNC_FFLUSH): Use it.
17998         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
17999         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
18000         gl_REPLACE_FSEEKO here.
18001
18002 2011-05-05  Bruno Haible  <bruno@clisp.org>
18003
18004         tzset: Relicense under LGPL.
18005         * modules/tzset (License): Change to LGPL.
18006         No agreement needed; it's a no-op.
18007
18008         strtoimax, strtoumax: Relicense under LGPL.
18009         * modules/strtoimax (License): Change to LGPL.
18010         * modules/strtoumax (License): Likewise.
18011         With permission from Jim Meyering, Paul Eggert:
18012         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18013         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18014
18015         getgroups: Relicense under LGPL.
18016         * modules/getgroups (License): Change to LGPL.
18017         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18018         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18019         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18020         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18021
18022         nanosleep: Relicense under LGPL.
18023         * modules/nanosleep (License): Change to LGPL.
18024         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18025         Haible:
18026         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18028         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18029         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18030
18031         futimens: Relicense under LGPL.
18032         * modules/futimens (License): Change to LGPL.
18033         With permission from Eric Blake:
18034         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18035
18036         fflush: Relicense under LGPL.
18037         * modules/fflush (License): Change to LGPL.
18038         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18039         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18040         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18041         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18042
18043         tmpfile: Relicense under LGPL.
18044         * modules/tmpfile (License): Change to LGPL.
18045         With permission from Ben Pfaff:
18046         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18047
18048         isfinite: Relicense under LGPL.
18049         * modules/isfinite (License): Change to LGPL.
18050         With permission from Ben Pfaff, Bruno Haible:
18051         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18053
18054         acosl..tanl: Relicense under LGPL.
18055         * modules/acosl (License): Change to LGPL.
18056         * modules/asinl (License): Likewise.
18057         * modules/atanl (License): Likewise.
18058         * modules/cosl (License): Likewise.
18059         * modules/expl (License): Likewise.
18060         * modules/logl (License): Likewise.
18061         * modules/sinl (License): Likewise.
18062         * modules/sqrtl (License): Likewise.
18063         * modules/tanl (License): Likewise.
18064         Source code originally from glibc and Paolo Bonzini. Agreements:
18065         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
18066         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
18067
18068 2011-05-05  Bruno Haible  <bruno@clisp.org>
18069
18070         signal: Define sighandler_t.
18071         * lib/signal.in.h (sighandler_t): New type.
18072         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
18073         whether sighandler_t is defined.
18074         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
18075         * modules/signal (Depends-on): Add extensions.
18076         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
18077         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
18078         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
18079
18080 2011-05-05  Eric Blake  <eblake@redhat.com>
18081
18082         maint: remove useless REPLACE_*_H macros
18083         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
18084         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18085         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18086         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
18087         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18088         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18089         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
18090         * m4/btowc.m4: Update callers.
18091         * m4/dirfd.m4: Likewise.
18092         * m4/duplocale.m4: Likewise.
18093         * m4/fchdir.m4: Likewise.
18094         * m4/fdopendir.m4: Likewise.
18095         * m4/inet_ntop.m4: Likewise.
18096         * m4/inet_pton.m4: Likewise.
18097         * m4/ioctl.m4: Likewise.
18098         * m4/mbrlen.m4: Likewise.
18099         * m4/mbrtowc.m4: Likewise.
18100         * m4/mbsinit.m4: Likewise.
18101         * m4/mbsnrtowcs.m4: Likewise.
18102         * m4/mbsrtowcs.m4: Likewise.
18103         * m4/poll.m4: Likewise.
18104         * m4/setlocale.m4: Likewise.
18105         * m4/wcrtomb.m4: Likewise.
18106         * m4/wcsnrtombs.m4: Likewise.
18107         * m4/wcsrtombs.m4: Likewise.
18108         * m4/wctob.m4: Likewise.
18109         * m4/wcwidth.m4: Likewise.
18110         * modules/posix_spawn: Likewise.
18111         * modules/posix_spawn_file_actions_addclose: Likewise.
18112         * modules/posix_spawn_file_actions_adddup2: Likewise.
18113         * modules/posix_spawn_file_actions_addopen: Likewise.
18114         * modules/posix_spawn_file_actions_destroy: Likewise.
18115         * modules/posix_spawn_file_actions_init: Likewise.
18116         * modules/posix_spawnattr_destroy: Likewise.
18117         * modules/posix_spawnattr_getflags: Likewise.
18118         * modules/posix_spawnattr_getpgroup: Likewise.
18119         * modules/posix_spawnattr_getschedparam: Likewise.
18120         * modules/posix_spawnattr_getschedpolicy: Likewise.
18121         * modules/posix_spawnattr_getsigdefault: Likewise.
18122         * modules/posix_spawnattr_getsigmask: Likewise.
18123         * modules/posix_spawnattr_init: Likewise.
18124         * modules/posix_spawnattr_setflags: Likewise.
18125         * modules/posix_spawnattr_setpgroup: Likewise.
18126         * modules/posix_spawnattr_setschedparam: Likewise.
18127         * modules/posix_spawnattr_setschedpolicy: Likewise.
18128         * modules/posix_spawnattr_setsigdefault: Likewise.
18129         * modules/posix_spawnattr_setsigmask: Likewise.
18130         * modules/posix_spawnp: Likewise.
18131
18132 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
18133
18134         Add option to do-release-commit-and-tag to specify branch.
18135         * build-aux/do-release-commit-and-tag: Add --branch.
18136
18137 2011-05-03  Bruno Haible  <bruno@clisp.org>
18138
18139         Avoid unnecessary compilation units, through conditional dependencies.
18140         * modules/accept (Depends-on): Add conditions to the dependencies.
18141         * modules/acosl (Depends-on): Likewise.
18142         * modules/argz (Depends-on): Likewise.
18143         * modules/asinl (Depends-on): Likewise.
18144         * modules/atanl (Depends-on): Likewise.
18145         * modules/atoll (Depends-on): Likewise.
18146         * modules/bind (Depends-on): Likewise.
18147         * modules/btowc (Depends-on): Likewise.
18148         * modules/canonicalize-lgpl (Depends-on): Likewise.
18149         * modules/ceil (Depends-on): Likewise.
18150         * modules/ceilf (Depends-on): Likewise.
18151         * modules/ceill (Depends-on): Likewise.
18152         * modules/chdir-long (Depends-on): Likewise.
18153         * modules/chown (Depends-on): Likewise.
18154         * modules/close (Depends-on): Likewise.
18155         * modules/connect (Depends-on): Likewise.
18156         * modules/cosl (Depends-on): Likewise.
18157         * modules/dirfd (Depends-on): Likewise.
18158         * modules/dprintf (Depends-on): Likewise.
18159         * modules/dprintf-posix (Depends-on): Likewise.
18160         * modules/error (Depends-on): Likewise.
18161         * modules/euidaccess (Depends-on): Likewise.
18162         * modules/expl (Depends-on): Likewise.
18163         * modules/faccessat (Depends-on): Likewise.
18164         * modules/fchdir (Depends-on): Likewise.
18165         * modules/fclose (Depends-on): Likewise.
18166         * modules/fcntl (Depends-on): Likewise.
18167         * modules/fdopendir (Depends-on): Likewise.
18168         * modules/fflush (Depends-on): Likewise.
18169         * modules/floor (Depends-on): Likewise.
18170         * modules/floorf (Depends-on): Likewise.
18171         * modules/floorl (Depends-on): Likewise.
18172         * modules/fnmatch (Depends-on): Likewise.
18173         * modules/fopen (Depends-on): Likewise.
18174         * modules/fprintf-posix (Depends-on): Likewise.
18175         * modules/frexp (Depends-on): Likewise.
18176         * modules/frexp-nolibm (Depends-on): Likewise.
18177         * modules/frexpl (Depends-on): Likewise.
18178         * modules/frexpl-nolibm (Depends-on): Likewise.
18179         * modules/fseek (Depends-on): Likewise.
18180         * modules/fsusage (Depends-on): Likewise.
18181         * modules/ftell (Depends-on): Likewise.
18182         * modules/ftello (Depends-on): Likewise.
18183         * modules/futimens (Depends-on): Likewise.
18184         * modules/getcwd (Depends-on): Likewise.
18185         * modules/getcwd-lgpl (Depends-on): Likewise.
18186         * modules/getdelim (Depends-on): Likewise.
18187         * modules/getdomainname (Depends-on): Likewise.
18188         * modules/getgroups (Depends-on): Likewise.
18189         * modules/gethostname (Depends-on): Likewise.
18190         * modules/getline (Depends-on): Likewise.
18191         * modules/getlogin_r (Depends-on): Likewise.
18192         * modules/getopt-posix (Depends-on): Likewise.
18193         * modules/getpeername (Depends-on): Likewise.
18194         * modules/getsockname (Depends-on): Likewise.
18195         * modules/getsockopt (Depends-on): Likewise.
18196         * modules/getsubopt (Depends-on): Likewise.
18197         * modules/getusershell (Depends-on): Likewise.
18198         * modules/glob (Depends-on): Likewise.
18199         * modules/grantpt (Depends-on): Likewise.
18200         * modules/iconv_open (Depends-on): Likewise.
18201         * modules/iconv_open-utf (Depends-on): Likewise.
18202         * modules/inet_ntop (Depends-on): Likewise.
18203         * modules/inet_pton (Depends-on): Likewise.
18204         * modules/ioctl (Depends-on): Likewise.
18205         * modules/isapipe (Depends-on): Likewise.
18206         * modules/isfinite (Depends-on): Likewise.
18207         * modules/isinf (Depends-on): Likewise.
18208         * modules/lchown (Depends-on): Likewise.
18209         * modules/ldexpl (Depends-on): Likewise.
18210         * modules/link (Depends-on): Likewise.
18211         * modules/linkat (Depends-on): Likewise.
18212         * modules/listen (Depends-on): Likewise.
18213         * modules/logl (Depends-on): Likewise.
18214         * modules/lstat (Depends-on): Likewise.
18215         * modules/mbrlen (Depends-on): Likewise.
18216         * modules/mbrtowc (Depends-on): Likewise.
18217         * modules/mbsinit (Depends-on): Likewise.
18218         * modules/mbsnrtowcs (Depends-on): Likewise.
18219         * modules/mbsrtowcs (Depends-on): Likewise.
18220         * modules/mbtowc (Depends-on): Likewise.
18221         * modules/memcmp (Depends-on): Likewise.
18222         * modules/mkdir (Depends-on): Likewise.
18223         * modules/mkdtemp (Depends-on): Likewise.
18224         * modules/mkfifo (Depends-on): Likewise.
18225         * modules/mkfifoat (Depends-on): Likewise.
18226         * modules/mknod (Depends-on): Likewise.
18227         * modules/mkostemp (Depends-on): Likewise.
18228         * modules/mkostemps (Depends-on): Likewise.
18229         * modules/mkstemp (Depends-on): Likewise.
18230         * modules/mkstemps (Depends-on): Likewise.
18231         * modules/mktime (Depends-on): Likewise.
18232         * modules/nanosleep (Depends-on): Likewise.
18233         * modules/open (Depends-on): Likewise.
18234         * modules/openat (Depends-on): Likewise.
18235         * modules/perror (Depends-on): Likewise.
18236         * modules/poll (Depends-on): Likewise.
18237         * modules/popen (Depends-on): Likewise.
18238         * modules/posix_spawn (Depends-on): Likewise.
18239         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
18240         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18241         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18242         * modules/posix_spawnp (Depends-on): Likewise.
18243         * modules/pread (Depends-on): Likewise.
18244         * modules/printf-posix (Depends-on): Likewise.
18245         * modules/ptsname (Depends-on): Likewise.
18246         * modules/putenv (Depends-on): Likewise.
18247         * modules/pwrite (Depends-on): Likewise.
18248         * modules/readline (Depends-on): Likewise.
18249         * modules/readlink (Depends-on): Likewise.
18250         * modules/readlinkat (Depends-on): Likewise.
18251         * modules/recv (Depends-on): Likewise.
18252         * modules/recvfrom (Depends-on): Likewise.
18253         * modules/regex (Depends-on): Likewise.
18254         * modules/remove (Depends-on): Likewise.
18255         * modules/rename (Depends-on): Likewise.
18256         * modules/renameat (Depends-on): Likewise.
18257         * modules/rmdir (Depends-on): Likewise.
18258         * modules/round (Depends-on): Likewise.
18259         * modules/roundf (Depends-on): Likewise.
18260         * modules/roundl (Depends-on): Likewise.
18261         * modules/rpmatch (Depends-on): Likewise.
18262         * modules/select (Depends-on): Likewise.
18263         * modules/send (Depends-on): Likewise.
18264         * modules/sendto (Depends-on): Likewise.
18265         * modules/setenv (Depends-on): Likewise.
18266         * modules/setlocale (Depends-on): Likewise.
18267         * modules/setsockopt (Depends-on): Likewise.
18268         * modules/shutdown (Depends-on): Likewise.
18269         * modules/sigaction (Depends-on): Likewise.
18270         * modules/signbit (Depends-on): Likewise.
18271         * modules/sigprocmask (Depends-on): Likewise.
18272         * modules/sinl (Depends-on): Likewise.
18273         * modules/sleep (Depends-on): Likewise.
18274         * modules/snprintf (Depends-on): Likewise.
18275         * modules/snprintf-posix (Depends-on): Likewise.
18276         * modules/socket (Depends-on): Likewise.
18277         * modules/sprintf-posix (Depends-on): Likewise.
18278         * modules/sqrtl (Depends-on): Likewise.
18279         * modules/stat (Depends-on): Likewise.
18280         * modules/strchrnul (Depends-on): Likewise.
18281         * modules/strdup-posix (Depends-on): Likewise.
18282         * modules/strerror (Depends-on): Likewise.
18283         * modules/strerror_r-posix (Depends-on): Likewise.
18284         * modules/strndup (Depends-on): Likewise.
18285         * modules/strnlen (Depends-on): Likewise.
18286         * modules/strptime (Depends-on): Likewise.
18287         * modules/strsep (Depends-on): Likewise.
18288         * modules/strsignal (Depends-on): Likewise.
18289         * modules/strstr-simple (Depends-on): Likewise.
18290         * modules/strtod (Depends-on): Likewise.
18291         * modules/strtoimax (Depends-on): Likewise.
18292         * modules/strtok_r (Depends-on): Likewise.
18293         * modules/strtoumax (Depends-on): Likewise.
18294         * modules/symlink (Depends-on): Likewise.
18295         * modules/symlinkat (Depends-on): Likewise.
18296         * modules/tanl (Depends-on): Likewise.
18297         * modules/tcgetsid (Depends-on): Likewise.
18298         * modules/tmpfile (Depends-on): Likewise.
18299         * modules/trunc (Depends-on): Likewise.
18300         * modules/truncf (Depends-on): Likewise.
18301         * modules/truncl (Depends-on): Likewise.
18302         * modules/uname (Depends-on): Likewise.
18303         * modules/unlink (Depends-on): Likewise.
18304         * modules/unlockpt (Depends-on): Likewise.
18305         * modules/unsetenv (Depends-on): Likewise.
18306         * modules/usleep (Depends-on): Likewise.
18307         * modules/utimensat (Depends-on): Likewise.
18308         * modules/vasprintf (Depends-on): Likewise.
18309         * modules/vdprintf (Depends-on): Likewise.
18310         * modules/vdprintf-posix (Depends-on): Likewise.
18311         * modules/vfprintf-posix (Depends-on): Likewise.
18312         * modules/vprintf-posix (Depends-on): Likewise.
18313         * modules/vsnprintf (Depends-on): Likewise.
18314         * modules/vsnprintf-posix (Depends-on): Likewise.
18315         * modules/vsprintf-posix (Depends-on): Likewise.
18316         * modules/wcrtomb (Depends-on): Likewise.
18317         * modules/wcscasecmp (Depends-on): Likewise.
18318         * modules/wcscspn (Depends-on): Likewise.
18319         * modules/wcsdup (Depends-on): Likewise.
18320         * modules/wcsncasecmp (Depends-on): Likewise.
18321         * modules/wcsnrtombs (Depends-on): Likewise.
18322         * modules/wcspbrk (Depends-on): Likewise.
18323         * modules/wcsrtombs (Depends-on): Likewise.
18324         * modules/wcsspn (Depends-on): Likewise.
18325         * modules/wcsstr (Depends-on): Likewise.
18326         * modules/wcstok (Depends-on): Likewise.
18327         * modules/wcswidth (Depends-on): Likewise.
18328         * modules/wctob (Depends-on): Likewise.
18329         * modules/wctomb (Depends-on): Likewise.
18330         * modules/wctype (Depends-on): Likewise.
18331         * modules/wcwidth (Depends-on): Likewise.
18332         * modules/write (Depends-on): Likewise.
18333
18334 2011-05-03  Bruno Haible  <bruno@clisp.org>
18335
18336         Support for conditional dependencies.
18337         * doc/gnulib.texi (Module description): Document the syntax of
18338         conditional dependencies.
18339         * gnulib-tool: New option --conditional-dependencies.
18340         (func_usage): Document it.
18341         (cond_dependencies): New variable.
18342         (func_get_automake_snippet_conditional,
18343         func_get_automake_snippet_unconditional): New functions, extracted from
18344         func_get_automake_snippet.
18345         (func_get_automake_snippet): Use them.
18346         (sed_first_32_chars): New variable.
18347         (func_module_shellfunc_name): New function.
18348         (func_module_shellvar_name): New function.
18349         (func_module_conditional_name): New function.
18350         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
18351         func_cond_module_condition): New functions.
18352         (func_modules_transitive_closure): Add support for conditional
18353         dependencies.
18354         (func_emit_lib_Makefile_am): For a conditional module, enclose the
18355         conditional automake snippet in an automake conditional.
18356         (func_emit_autoconf_snippets): Emit shell functions that contain the
18357         code for conditional modules.
18358         (func_import, func_create_testdir): Update specification.
18359
18360 2011-05-03  Eric Blake  <eblake@redhat.com>
18361
18362         test-getaddrinfo: report error information
18363         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
18364
18365 2011-05-03  Jim Meyering  <meyering@redhat.com>
18366
18367         bootstrap: avoid build failure when $GZIP is set
18368         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
18369         program name.  If defined at all, it is supposed to list gzip options.
18370         Reported by Alan Curry in http://debbugs.gnu.org/8609
18371
18372 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
18373
18374         readme-release: new module with release instructions
18375         * modules/readme-release: New module.
18376         * top/README-release: New file, from coreutils, grep, diffutils.
18377         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18378
18379 2011-05-02  Eric Blake  <eblake@redhat.com>
18380
18381         fflush: also replace fclose when fixing fflush
18382         * modules/fflush (Depends-on): Add fclose.
18383         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
18384         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
18385         memstreams with no backing fd.
18386         * doc/posix-functions/fclose.texi (fclose): Document the use of
18387         fflush module to fix the bug.
18388         * tests/test-fclose.c (main): Relax test when fclose is used in
18389         isolation.
18390
18391         fclose: add some tests
18392         * modules/fclose-tests: New test module.
18393         * tests/test-fclose.c: New file.
18394         * doc/posix-functions/fclose.texi (fclose): Document the bug.
18395
18396         fclose: reduced dependencies
18397         * modules/fclose (Depends-on): Switch from fflush/fseeko to
18398         simpler lseek.
18399         * lib/fclose.c (rpl_fclose): Likewise.
18400         Reported by Simon Josefsson.
18401
18402         exit: drop remaining clients
18403         * modules/argmatch (Depends-on): Replace exit with stdlib.
18404         * modules/copy-file (Depends-on): Likewise.
18405         * modules/execute (Depends-on): Likewise.
18406         * modules/exitfail (Depends-on): Likewise.
18407         * modules/obstack (Depends-on): Likewise.
18408         * modules/pagealign_alloc (Depends-on): Likewise.
18409         * modules/pipe-filter-gi (Depends-on): Likewise.
18410         * modules/pipe-filter-ii (Depends-on): Likewise.
18411         * modules/savewd (Depends-on): Likewise.
18412         * modules/spawn-pipe (Depends-on): Likewise.
18413         * modules/wait-process (Depends-on): Likewise.
18414         * modules/xsetenv (Depends-on): Likewise.
18415         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
18416         * modules/git-merge-changelog (Depends-on): Likewise.
18417         * modules/long-options (Depends-on): Likewise.
18418         * modules/pt_chown (Depends-on): Likewise.
18419         * modules/sysexits (Depends-on): Likewise.
18420
18421         freading: relax license from LGPLv3+ to LGPLv2+
18422         * modules/freading (License): Relax LGPL version.
18423
18424 2011-05-02  Bruno Haible  <bruno@clisp.org>
18425
18426         fchdir: Remove unused dependencies.
18427         * modules/fchdir (Depends-on): Remove include_next.
18428
18429 2011-05-02  Bruno Haible  <bruno@clisp.org>
18430
18431         gnulib-tool: Refactor.
18432         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18433         from func_emit_autoconf_snippets.
18434         (func_emit_autoconf_snippets): Use it.
18435
18436 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18437
18438         * NEWS: Document removal of 'exit'.
18439         * modules/exit: Remove file.
18440
18441 2011-05-01  Bruno Haible  <bruno@clisp.org>
18442
18443         Update DEPENDENCIES.
18444         * DEPENDENCIES (gettext): Recommend the newest release.
18445         Reported by Simon Josefsson.
18446
18447 2011-05-01  Bruno Haible  <bruno@clisp.org>
18448
18449         gnulib-tool: Reduce code duplication.
18450         * gnulib-tool (func_emit_autoconf_snippets): New function.
18451         (func_import, func_create_testdir): Use it.
18452
18453 2011-04-30  Eric Blake  <eblake@redhat.com>
18454
18455         fclose: don't fail on non-seekable input stream
18456         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18457         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18458         since fflush is allowed to fail in that case.
18459
18460 2011-04-30  Bruno Haible  <bruno@clisp.org>
18461
18462         dup3: cleanup
18463         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18464
18465 2011-04-30  Bruno Haible  <bruno@clisp.org>
18466
18467         netdb: Make it work in C++ mode.
18468         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18469         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18470         module.
18471         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18472         gl_MODULE_INDICATOR_FOR_TESTS.
18473         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18474         * modules/netdb-c++-tests: New file.
18475         * tests/test-netdb-c++.cc: New file.
18476
18477 2011-04-30  Bruno Haible  <bruno@clisp.org>
18478
18479         New modules 'vfscanf', 'vscanf'.
18480         * modules/vfscanf: New file.
18481         * modules/vscanf: New file.
18482         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18483         here.
18484         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18485         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18486
18487 2011-04-30  Bruno Haible  <bruno@clisp.org>
18488
18489         passfd: Add comments.
18490         * lib/passfd.c: Add comments about platforms.
18491
18492 2011-04-30  Bruno Haible  <bruno@clisp.org>
18493
18494         sys_uio: Make <sys/uio.h> self-contained.
18495         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18496         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18497
18498 2011-04-30  Bruno Haible  <bruno@clisp.org>
18499
18500         sys_socket: Ensure 'struct iovec' definition.
18501         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18502         <sys/socket.h>.
18503         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18504
18505 2011-04-30  Bruno Haible  <bruno@clisp.org>
18506
18507         sys_uio: Protect definition of 'struct iovec'.
18508         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18509         it as a C struct.
18510
18511 2011-04-30  Bruno Haible  <bruno@clisp.org>
18512
18513         manywarnings: fix indentation
18514         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18515
18516 2011-04-30  Pádraig Brady <P@draigBrady.com>
18517
18518         manywarnings: add -Wno-missing-field-initializers if needed.
18519         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18520         option if it's needed to allow initialization with { 0, }
18521
18522 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18523
18524         announce-gen: cosmetic improvement
18525         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18526
18527 2011-04-29  Jim Meyering  <meyering@redhat.com>
18528
18529         vc-list-files: indent with spaces, not TABs
18530         * build-aux/vc-list-files: Convert leading TABs to spaces,
18531         to match the style of most other files in gnulib.
18532
18533         announce-gen: indent with spaces, not TABs
18534         * build-aux/announce-gen: Convert all TABs to spaces, to match
18535         the style of most other files in gnulib.
18536
18537 2011-04-29  Eric Blake  <eblake@redhat.com>
18538
18539         quotearg: avoid uninitialized variable use
18540         * lib/quotearg.c (quoting_options_from_style): Initialize
18541         remaining fields, and ensure that custom styles are only used via
18542         quoting_options rather than quoting_style.
18543
18544 2011-04-29  Jim Meyering  <meyering@redhat.com>
18545
18546         maint.mk: remove unused VC-tag variable
18547         * top/maint.mk (VC-tag): Remove unused variable.
18548
18549 2011-04-29  Bruno Haible  <bruno@clisp.org>
18550
18551         netdb: fix gai_strerror replacements
18552         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18553         * modules/netdb: Substitute it.
18554
18555 2011-04-29  Jim Meyering  <meyering@redhat.com>
18556
18557         test-getcwd.c: avoid new set-but-not-used warning
18558         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18559         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18560         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18561         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18562
18563         test-hash.c: avoid a new shadowing warning
18564         * tests/test-hash.c (main): Don't shadow "dup".
18565
18566 2011-04-28  Eric Blake  <eblake@redhat.com>
18567
18568         getaddrinfo: fix gai_strerror signature
18569         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18570         and work around mingw with UNICODE defined.
18571         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18572         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18573         * modules/netdb (Makefile.am): Substitute it.
18574         * lib/netdb.in.h (gai_strerror): Declare replacement.
18575         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18576         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18577         the fix.
18578
18579         getsockopt: avoid compiler warning
18580         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18581         Reported by Matthias Bolte.
18582
18583         tests: drop unused link dependency
18584         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18585         * modules/dirent-safer-tests (Makefile.am): Likewise.
18586         * modules/fdopendir-tests (Makefile.am): Likewise.
18587         * modules/mkfifoat-tests (Makefile.am): Likewise.
18588         * modules/openat-safer-tests (Makefile.am): Likewise.
18589         * modules/openat-tests (Makefile.am): Likewise.
18590         * modules/readlinkat-tests (Makefile.am): Likewise.
18591         * modules/symlinkat-tests (Makefile.am): Likewise.
18592         * modules/linkat-tests (Makefile.am): Likewise.
18593         (Depends-on): Switch to filenamecat-lgpl.
18594         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18595         LIBINTL.
18596         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18597         * tests/test-linkat.c (main): Don't require xalloc.
18598
18599         hash, mgetgroups: drop xalloc dependency
18600         * lib/hash.c (includes): Adjust includes.
18601         * lib/mgetgroups.c (includes): Likewise.
18602         (xgetgroups): Move...
18603         * lib/xgetgroups.c: ...to new file.
18604         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
18605         * modules/xgetgroups: New file, split from...
18606         * modules/mgetgroups: ...here.
18607         (Depends-on): Add xalloc-oversized.
18608         * modules/hash (Depends-on): Likewise.
18609         * modules/hash-tests (Depends-on): Drop xalloc.
18610         (test_hash_LDADD): Drop unused library.
18611         * tests/test-hash.c (main): Break xalloc dependency.
18612         (includes): Drop unused include.
18613
18614         xalloc-oversized: new module
18615         * modules/xalloc-oversized: New module.
18616         * modules/xalloc (Depends-on): Add it.
18617         * lib/xalloc.h (xalloc_oversized): Move...
18618         * lib/xalloc-oversized.h: ...into new file.
18619
18620         utimecmp: drop dependency on xmalloc
18621         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
18622         due to memory pressure.
18623         * modules/utimecmp (Depends-on): Drop xalloc.
18624
18625 2011-04-27  Eric Blake  <eblake@redhat.com>
18626
18627         getcwd: fix mingw bugs
18628         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
18629         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
18630         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
18631
18632 2011-04-27  Bruno Haible  <bruno@clisp.org>
18633
18634         mkstemps: Ensure declaration on MacOS X 10.5.
18635         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
18636         * doc/glibc-functions/mkstemps.texi: Document header file problem on
18637         MacOS X.
18638
18639 2011-04-27  Bruno Haible  <bruno@clisp.org>
18640
18641         mkstemp: More documentation.
18642         * doc/posix-functions/mkstemp.texi: Document header file problem on
18643         MacOS X.
18644
18645 2011-04-27  Bruno Haible  <bruno@clisp.org>
18646
18647         mkstemp: Tweak configure message when cross-compiling.
18648         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18649         result as a guess.
18650
18651 2011-04-27  Bruno Haible  <bruno@clisp.org>
18652
18653         clean-temp: Clarify what it does.
18654         * lib/clean-temp.h: Add more comments.
18655         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18656         module.
18657         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18658         * doc/glibc-functions/mkstemps.texi: Likewise.
18659         * doc/glibc-functions/mkostemps.texi: Likewise.
18660
18661 2011-04-27  Eric Blake  <eblake@redhat.com>
18662
18663         fchdir: avoid extra chdir and fix test
18664         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
18665         getcwd-lgpl.
18666         * lib/fchdir.c (get_name): Any absolute name will do; it does not
18667         have to be canonical.
18668         (canonicalize_file_name): Drop unused macro.
18669         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
18670
18671         filenamecat-lgpl: fix licence
18672         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
18673         when it was first created.
18674
18675         linkat, renameat: add missing dependency
18676         * modules/linkat (Depends-on): Require getcwd-lgpl.
18677         * modules/renameat (Depends-on): Likewise.
18678
18679         tests: reduce dependencies
18680         * tests/test-linkat.c (main): Use lighter-weight getcwd.
18681         * tests/test-renameat.c (main): Likewise.
18682         * modules/linkat-tests (Depends-on): Relax dependency.
18683         * modules/renameat-tests (Depends-on): Likewise.
18684         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
18685         dependency explicit.
18686
18687         save-cwd: reduce default dependency
18688         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
18689         * lib/save-cwd.c: Update comments.
18690         * NEWS: Document the semantic change.
18691
18692         getcwd: enhance tests
18693         * tests/test-getcwd-lgpl.c: New file, taken from...
18694         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
18695         repeat long path stress tests from m4 probe.
18696         * modules/getcwd-lgpl-tests: New module.
18697         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
18698         * m4/getcwd-abort-bug.m4: Update comment.
18699         * m4/getcwd-path-max.m4: Likewise.
18700
18701         getcwd-lgpl: new module
18702         * modules/getcwd-lgpl: New module.
18703         * lib/getcwd-lgpl.c: New file.
18704         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18705         * MODULES.html.sh (lacking POSIX:2008): Likewise.
18706         * modules/getcwd (configure.ac): Set C witness.
18707         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
18708
18709         getcwd: tweak comments
18710         * m4/getcwd-abort-bug.m4: Fix comments.
18711         * m4/getcwd-path-max.m4: Likewise.
18712         * m4/getcwd.m4: Likewise.
18713
18714 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18715         and Eric Blake  <eblake@redhat.com>
18716
18717         mkstemp: replace if system version uses wrong permissions
18718         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
18719         read/write mode bits set in file created by mkstemp.
18720         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
18721
18722 2011-04-27  Eric Blake  <eblake@redhat.com>
18723
18724         passfd: avoid compiler warning
18725         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
18726         Reported by Laine Stump.
18727
18728 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
18729
18730         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
18731         required by the NetBSD (and perhaps other 4.4BSD derived) join.
18732
18733 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18734         and Eric Blake  <eblake@redhat.com>
18735
18736         mkstemp: mention clean-temp module
18737         * lib/mkstemp.c: Add comment.
18738         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
18739
18740 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
18741
18742         inttypes: also provide default values for 32-bit tests
18743         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
18744         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
18745
18746 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
18747
18748         strtoumax: remove dependency on strtoimax
18749         This is like the strtoull change of yesterday.
18750         * modules/strtoumax (Files): Add lib/strtoimax.c.
18751         (Depends-on): Remove strtoimax and add verify.
18752
18753         inttypes-incomplete: new module
18754         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
18755         all but the PRI* and SCN* parts of gl_INTTYPES_H.
18756         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
18757         of gl_INTTYPES_H.
18758         (gl_INTTYPES_H): Rewrite in terms of these new macros.
18759         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
18760         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
18761         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
18762         * modules/strtoumax, modules/xstrtol (Depends-on):
18763         Depend on inttypes-incomplete, not inttypes.
18764         * modules/inttypes-incomplete: New module, containing the contents
18765         of the old modules/inttypes module, except that the Files: section
18766         omits m4/inttypes-pri.m4, and the configure.ac section invokes
18767         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
18768         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
18769         (Depends-on): Depend only on inttypes-incomplete.
18770         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
18771
18772         inttypes: omit now-redundant strtoimax and strtoumax work
18773         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
18774         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
18775
18776         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
18777         This supports apps that need pointers to strtoimax and strtoumax,
18778         and ports to HP-UX 11.00 64.bit, which has macros that expand to
18779         nonexistent functions.  See
18780         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
18781         et seq.
18782         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
18783         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
18784         a macro.
18785         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18786
18787 2011-04-25  Simon Josefsson  <simon@josefsson.org>
18788
18789         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
18790
18791 2011-04-25  Bruno Haible  <bruno@clisp.org>
18792
18793         strtol, strtoul: Mark modules as obsolete.
18794         * modules/strtol (Status, Notice): New sections.
18795         * modules/strtoul (Status, Notice): New sections.
18796
18797 2011-04-25  Bruno Haible  <bruno@clisp.org>
18798
18799         strtod: Remove check for strtod, unless supporting old platforms.
18800         * modules/strtod-obsolete: New file.
18801         * m4/strtod-obsolete.m4: New file.
18802         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
18803         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
18804         * modules/strtod (Depends-on): Add strtod-obsolete.
18805         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
18806
18807 2011-04-25  Bruno Haible  <bruno@clisp.org>
18808
18809         strcase: Make module obsolete.
18810         * modules/strcase (Status, Notice): New sections.
18811
18812 2011-04-25  Bruno Haible  <bruno@clisp.org>
18813
18814         dup2: Remove check for dup2, unless supporting old obsolete platforms.
18815         * modules/dup2-obsolete: New file.
18816         * m4/dup2-obsolete.m4: New file.
18817         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
18818         gl_FUNC_DUP2_OBSOLETE is not also defined.
18819         * modules/dup2 (Depends-on): Add dup2-obsolete.
18820         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
18821
18822 2011-04-25  Bruno Haible  <bruno@clisp.org>
18823
18824         strnlen: Avoid memchr related link error on old obsolete platforms.
18825         * modules/memchr-obsolete: New file.
18826         * m4/memchr-obsolete.m4: New file.
18827         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
18828         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
18829         * modules/memchr (Depends-on): Add memchr-obsolete.
18830         * modules/strnlen (Depends-on): Likewise.
18831         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
18832
18833 2011-04-25  Jim Meyering  <meyering@redhat.com>
18834
18835         maint.mk: makefile_at_at_check extend and clean up
18836         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
18837         in addition to */Makefile.am.
18838         Exempt legitimate uses of @VAR@ notation, e.g.,
18839         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
18840         Remove obsolete coreutils-specific comment.
18841         Prompted by discussion here:
18842         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
18843
18844 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
18845
18846         strtoul: remove dependency on strtol
18847         This is so that 'configure' need not check for strtol merely because
18848         the application needs strtoul.
18849         * modules/strtoul (Files): Add lib/strtol.c.
18850         (Depends-on): Remove strtol.
18851
18852         strtoull: remove dependency on strtoul
18853         This is like the strtoll change.
18854         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
18855         (Depends-on): Remove strtoul.
18856
18857         strtoll: remove dependency on strtol
18858         This is so that 'configure' need not check for strtol merely because
18859         the application needs strtoll.
18860         * modules/strtoll (Files): Add lib/strtol.c.
18861         (Depends-on): Remove strtol.
18862
18863 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18864
18865         inttypes: Move some configure check to module 'imaxdiv'.
18866         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
18867         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
18868         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
18869
18870 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18871
18872         inttypes: Move some configure check to module 'imaxabs'.
18873         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
18874         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
18875         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
18876
18877 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18878
18879         inttypes: Remove configure tests that are not needed since 2009-12-31.
18880         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
18881         gl_cv_header_working_inttypes_h.
18882
18883 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18884
18885         * modules/strnlen (Depends-on): Remove memchr.
18886         The strnlen implementation doesn't need the memchr module's fixes; see
18887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
18888
18889         strtol: remove dependency on wchar
18890         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
18891         * modules/strtol (Depends-on): Remove wchar.
18892
18893 2011-04-21  Eric Blake  <eblake@redhat.com>
18894
18895         passfd: fix test regression on Linux
18896         * modules/passfd-tests (configure.ac): Correct socketpair check.
18897
18898         passfd: speed up configure and drop unused code
18899         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
18900         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
18901         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
18902         Instead of probing at configure for unix_scm_rights_bsd44_way,
18903         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
18904         check to a struct member probe.
18905         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
18906         (sendfd, recvfd): Update preprocessor checks.
18907         * modules/passfd (Files): Reflect rename, and drop unused file.
18908         (Depends-on): Drop unused dependency.
18909
18910         passfd: allow compilation on mingw
18911         * modules/sys_socket (Depends-on): Add sys_uio.
18912         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
18913         iovec and a minimal struct msghdr.
18914         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
18915         * tests/test-sys_socket.c (main): Enhance test.
18916         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
18917         guaranteed to provide what we need.
18918         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
18919         * modules/passfd-tests (Depends-on): Add sys_wait.
18920         * tests/test-passfd.c (main): Skip test on mingw, for now.
18921         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
18922         partial 'struct msghdr' implementation.
18923
18924         sys_uio: new module
18925         * modules/sys_uio: New module.
18926         * modules/sys_uio-tests: Likewise.
18927         * lib/sys_uio.in.h: New file.
18928         * m4/sys_uio_h.m4: Likewise.
18929         * tests/test-sys_uio.c: Likewise.
18930         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
18931         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
18932
18933 2011-04-20  Jim Meyering  <meyering@redhat.com>
18934
18935         useless-if-before-free: avoid false-positive
18936         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
18937         disjunct so that it too requires a terminating ";".  Without that,
18938         this script would identify as useless one statement from gcc that
18939         was not:
18940           if (aligned_ptr)
18941             free (((void **) aligned_ptr) [-1]);
18942
18943 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
18944
18945         doc: update users.txt.
18946         * users.txt: Add barcode.
18947
18948 2011-04-19  Bruno Haible  <bruno@clisp.org>
18949
18950         ioctl: Remove link dependency on native Windows.
18951         * lib/fd-hook.h: Renamed from lib/close-hook.h.
18952         (gl_close_fn, gl_ioctl_fn): New types.
18953         (struct fd_hook): Renamed from struct close_hook. Change type of
18954         private_close_fn field. Add private_ioctl_fn field.
18955         (close_hook_fn): Add parameter for primary close method.
18956         (execute_close_hooks, execute_all_close_hooks): Likewise.
18957         (ioctl_hook_fn): New type.
18958         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
18959         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18960         argument.
18961         (unregister_fd_hook): Renamed from unregister_close_hook.
18962         * lib/fd-hook.c: Renamed from lib/close-hook.c.
18963         Don't include <unistd.h>.
18964         (close): Remove undef.
18965         (anchor): Update.
18966         (execute_close_hooks): Add argument for primary close method.
18967         (execute_all_close_hooks): Likewise.
18968         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
18969         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18970         argument. Allow each argument to be NULL.
18971         (unregister_fd_hook): Renamed from unregister_close_hook.
18972         * lib/close.c (rpl_close): Pass 'close' function pointer to
18973         execute_all_close_hooks.
18974         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
18975         (primary_ioctl): New function.
18976         (ioctl): Don't call ioctlsocket here. Instead, call
18977         execute_all_ioctl_hooks.
18978         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
18979         close method.
18980         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
18981         (fd_sockets_hook): Renamed from close_sockets_hook.
18982         (gl_sockets_startup, gl_sockets_cleanup): Update.
18983         * modules/fd-hook: Renamed from modules/close-hook. Update.
18984         * modules/close (Depends-on): Add fd-hook, remove close-hook.
18985         * modules/sockets (Depends-on): Likewise.
18986         * modules/ioctl (Depends-on): Add fd-hook.
18987         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
18988         GNULIB_SOCKET.
18989
18990 2011-04-19  Bruno Haible  <bruno@clisp.org>
18991
18992         Move the support of O_NONBLOCK in open() to the 'open' module.
18993         * modules/nonblocking (Depends-on): Remove 'open'.
18994         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
18995         gl_cv_have_open_O_NONBLOCK.
18996         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
18997         O_NONBLOCK support.
18998         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
18999
19000 2011-04-17  Bruno Haible  <bruno@clisp.org>
19001
19002         pipe2: Simplify code.
19003         * lib/pipe2.c (pipe2): Reduce code duplication.
19004
19005 2011-04-17  Bruno Haible  <bruno@clisp.org>
19006
19007         nonblocking: Add comment.
19008         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19009
19010 2011-04-17  Bruno Haible  <bruno@clisp.org>
19011
19012         nonblocking: Add tests for sockets.
19013         * tests/test-nonblocking-socket.sh: New file.
19014         * tests/test-nonblocking-socket-main.c: New file.
19015         * tests/test-nonblocking-socket-child.c: New file.
19016         * tests/test-nonblocking-socket.h: New file.
19017         * tests/socket-server.h: New file.
19018         * tests/socket-client.h: New file.
19019         * modules/nonblocking-socket-tests: New file.
19020         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19021
19022 2011-04-17  Bruno Haible  <bruno@clisp.org>
19023
19024         nonblocking: Add tests for pipes.
19025         * tests/test-nonblocking-pipe.sh: New file.
19026         * tests/test-nonblocking-pipe-main.c: New file.
19027         * tests/test-nonblocking-pipe-child.c: New file.
19028         * tests/test-nonblocking-pipe.h: New file.
19029         * tests/test-nonblocking-writer.h: New file.
19030         * tests/test-nonblocking-reader.h: New file.
19031         * tests/test-nonblocking-misc.h: New file.
19032         * modules/nonblocking-pipe-tests: New file.
19033         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19034
19035 2011-04-16  Bruno Haible  <bruno@clisp.org>
19036
19037         gettext: Clarify the needed programmer actions.
19038         * modules/gettext (Notice): New field.
19039         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19040
19041 2011-04-16  Bruno Haible  <bruno@clisp.org>
19042
19043         strchrnul: Tweak last commit.
19044         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19045         bug.
19046         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19047         as in _GL_FUNCDECL_SYS.
19048         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19049         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19050
19051 2011-04-15  Eric Blake  <eblake@redhat.com>
19052
19053         strchrnul: work around cygwin bug
19054         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19055         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19056         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19057         * modules/string (Makefile.am): Substitute it.
19058         * lib/string.in.h (strchrnul): Use it.
19059
19060 2011-04-15  Bruno Haible  <bruno@clisp.org>
19061
19062         Don't require lib/stdio-write.c when only module 'stdio' is used.
19063         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
19064         invocation.
19065         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
19066
19067 2011-04-14  Bruno Haible  <bruno@clisp.org>
19068
19069         Support non-blocking pipe I/O in read() on native Windows.
19070         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
19071         (read): New declaration.
19072         * lib/read.c: New file.
19073         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
19074         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
19075         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
19076         vscanf): New declarations.
19077         * lib/stdio-read.c: New file.
19078         * m4/read.m4: New file.
19079         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
19080         REPLACE_READ.
19081         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
19082         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19083         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
19084         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
19085         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
19086         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19087         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19088         * modules/read: New file.
19089         * modules/nonblocking (Files): Add lib/stdio-read.c.
19090         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
19091         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
19092         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19093         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19094         * modules/pread (Depends-on): Add read.
19095         * modules/safe-read (Depends-on): Likewise.
19096         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
19097         gets, scanf, vfscanf, vscanf): Verify signatures.
19098         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
19099         problem with non-blocking pipes.
19100         * doc/posix-functions/fgetc.texi: Likewise.
19101         * doc/posix-functions/fgets.texi: Likewise.
19102         * doc/posix-functions/fread.texi: Likewise.
19103         * doc/posix-functions/fscanf.texi: Likewise.
19104         * doc/posix-functions/getc.texi: Likewise.
19105         * doc/posix-functions/getchar.texi: Likewise.
19106         * doc/posix-functions/gets.texi: Likewise.
19107         * doc/posix-functions/scanf.texi: Likewise.
19108         * doc/posix-functions/vfscanf.texi: Likewise.
19109         * doc/posix-functions/vscanf.texi: Likewise.
19110
19111 2011-04-14  Bruno Haible  <bruno@clisp.org>
19112
19113         Support non-blocking pipe I/O in write() on native Windows.
19114         * lib/write.c (rpl_write): Split a write request that failed merely
19115         because the byte count was larger than the pipe buffer's size.
19116         * doc/posix-functions/write.texi: Mention the problem with large byte
19117         counts.
19118
19119 2011-04-14  Bruno Haible  <bruno@clisp.org>
19120
19121         wchar: Ensure that wchar_t gets defined on uClibc.
19122         * lib/wchar.in.h: On uClibc, include <stddef.h>.
19123         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
19124
19125 2011-04-13  Bruno Haible  <bruno@clisp.org>
19126
19127         safe-write, full-read: Avoid unnecessary compilation units.
19128         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
19129         (Depends-on): Remove safe-read. Add ssize_t.
19130         * modules/full-read (Files): Add lib/full-write.c.
19131         (Depends-on): Add full-write.
19132
19133 2011-04-13  Bruno Haible  <bruno@clisp.org>
19134
19135         Support non-blocking pipe I/O and SIGPIPE in pwrite().
19136         * modules/pwrite (Depends-on): Add 'write'.
19137
19138 2011-04-13  Bruno Haible  <bruno@clisp.org>
19139
19140         Support non-blocking pipe I/O in write() on native Windows.
19141         * lib/unistd.in.h (write): Enable replacement also if
19142         GNULIB_UNISTD_H_NONBLOCKING is 1.
19143         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
19144         (rpl_write): When failing to write on a non-blocking pipe, change
19145         errno from ENOSPC to EAGAIN.
19146         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
19147         putchar, puts, vfprintf, vprintf): Enable replacement also if
19148         GNULIB_STDIO_H_NONBLOCKING is 1.
19149         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
19150         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
19151         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
19152         CALL_WITH_SIGPIPE_EMULATION.
19153         (CALL_WITH_SIGPIPE_EMULATION): Use them.
19154         * m4/nonblocking.m4: New file.
19155         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
19156         for non-blocking I/O support.
19157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19158         GNULIB_UNISTD_H_NONBLOCKING.
19159         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
19160         required for non-blocking I/O support.
19161         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
19162         * modules/nonblocking (Files): Add m4/nonblocking.m4,
19163         lib/stdio-write.c, m4/asm-underscore.m4.
19164         (Depends-on): Add stdio, unistd.
19165         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
19166         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
19167         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
19168         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
19169         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
19170         problem with non-blocking pipes.
19171         * doc/posix-functions/fputc.texi: Likewise.
19172         * doc/posix-functions/fputs.texi: Likewise.
19173         * doc/posix-functions/fwrite.texi: Likewise.
19174         * doc/posix-functions/printf.texi: Likewise.
19175         * doc/posix-functions/putc.texi: Likewise.
19176         * doc/posix-functions/putchar.texi: Likewise.
19177         * doc/posix-functions/puts.texi: Likewise.
19178         * doc/posix-functions/vfprintf.texi: Likewise.
19179         * doc/posix-functions/vprintf.texi: Likewise.
19180         * doc/posix-functions/write.texi: Likewise.
19181
19182 2011-04-10  Jim Meyering  <meyering@redhat.com>
19183
19184         maint.mk: prohibit doubled words
19185         Detect them also when they're separated by a newline.
19186         There are 3 ways to customize it:
19187           - disable the test on a per file basis, as usual with rules using
19188             $(VC_LIST_EXCEPT)
19189           - replace the default doubled-word-selecting regexp (affects all files)
19190           - ignore a particular file-vs-doubled-word match
19191         I nearly used that last one to ignore the "is is" match in
19192         coreutils' NEWS file, since the text was "ls -is is ..."
19193         To do that, I would have added this line to cfg.mk:
19194           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
19195         but it would have ignored any "is is" match in NEWS.
19196         Low probability, but still...
19197         Instead, I changed the text, slightly:
19198           -  ls -is is now consistent with ls -lis in ignoring values returned
19199           +  "ls -is" is now consistent with ls -lis in ignoring values returned
19200         * top/maint.mk (prohibit_double_word_RE_): Provide default.
19201         (prohibit_doubled_word_): Define.
19202         (sc_prohibit_doubled_word): New rule.
19203         (sc_prohibit_the_the): Remove.  Subsumed by the above.
19204
19205 2011-04-10  Jim Meyering  <meyering@redhat.com>
19206
19207         maint: fix doubled-word typo in comment
19208         * m4/gethostname.m4: s/is is/it is/
19209         * m4/getdomainname.m4: Likewise.
19210
19211 2011-04-10  Jim Meyering  <meyering@redhat.com>
19212
19213         maint: remove doubled word: s/it it/it/
19214         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
19215
19216 2011-04-10  Jim Meyering  <meyering@redhat.com>
19217
19218         maint.mk: remove useless semicolon and backslash
19219         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
19220         semicolon and backslash.
19221
19222 2011-04-10  Bruno Haible  <bruno@clisp.org>
19223
19224         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
19225         * modules/stdint-tests (Depends-on): Add wchar.
19226
19227 2011-04-10  Jim Meyering  <meyering@redhat.com>
19228
19229         maint: remove doubled words in comments, e.g., s/a a/a/
19230         * lib/strptime.c (day_of_the_week): s/the the/the/
19231         * tests/test-chown.h (test_chown): s/a a/a/
19232
19233         test-chown.h: correct a cast
19234         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
19235         when the destination is a stat.st_gid.
19236
19237 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
19238
19239         getaddrinfo: Fix test for sa_len member.
19240         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
19241         include <sys/types.h> before <sys/socket.h>.
19242
19243 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19244
19245         maint: change "can not" to "cannot"
19246         * doc/posix-functions/iconv.texi (iconv): This one crossed line
19247         boundaries.
19248
19249 2011-04-09  Jim Meyering  <meyering@redhat.com>
19250
19251         maint: change "a a" to "a"
19252         * tests/test-lchown.h (test_lchown): s/a a/a/
19253
19254         maint.mk: prohibit \<the the\>
19255         * top/maint.mk (sc_prohibit_the_the): New rule.
19256
19257         maint: fix "the the" in comment
19258         * lib/count-one-bits.h: s/the the/the/
19259
19260         maint: change "can not" to "cannot"
19261         But do not change the occurrences in maintain.texi or in
19262         build-aux/po/Makefile.in.in, which I presume comes from gettext.
19263         * doc/gnulib-tool.texi: s/can not/cannot/
19264         * doc/posix-functions/accept.texi (accept): Likewise.
19265         * doc/posix-functions/socket.texi (socket): Likewise.
19266         * lib/mbrtowc.c: Likewise.
19267
19268         maint.mk: prohibit use of "can not"
19269         * top/maint.mk (sc_prohibit_can_not): New rule.
19270         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
19271
19272 2011-04-09  Bruno Haible  <bruno@clisp.org>
19273
19274         careadlinkat: Guard against misuse of careadlinkatcwd.
19275         * lib/careadlinkat.c: Include <stdlib.h>.
19276         (careadlinkatcwd): Check that the fd argument is as expected.
19277
19278 2011-04-09  Bruno Haible  <bruno@clisp.org>
19279
19280         careadlinkat: Use common coding style.
19281         * lib/careadlinkat.c: Move gnulib includes after system includes.
19282
19283 2011-04-09  Bruno Haible  <bruno@clisp.org>
19284
19285         careadlinkat: Clarify specification.
19286         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
19287         (careadlinkatcwd): Add comment.
19288         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
19289
19290 2011-04-09  Bruno Haible  <bruno@clisp.org>
19291
19292         areadlinkat: Avoid link error on many platforms.
19293         * modules/areadlinkat (Depends-on): Add areadlink.
19294
19295 2011-04-09  Bruno Haible  <bruno@clisp.org>
19296
19297         allocator, careadlinkat: Fix double-inclusion guard.
19298         * lib/allocator.h: Fix double-inclusion guard.
19299         * lib/careadlinkat.h: Likewise.
19300
19301 2011-04-09  Bruno Haible  <bruno@clisp.org>
19302
19303         relocatable-prog-wrapper: Update after module 'areadlink' changed.
19304         * lib/relocwrapper.c: Update dependencies hierarchy.
19305         * build-aux/install-reloc: Update list of files to be compiled.
19306         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
19307         lib/allocator.[hc].
19308
19309 2011-04-08  Eric Blake  <eblake@redhat.com>
19310
19311         strftime: silence gnulib-tool warning
19312         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19313
19314 2011-04-08  Bruno Haible  <bruno@clisp.org>
19315
19316         verify: Fix syntax error with GCC 4.6 in C++ mode.
19317         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
19318         (HAVE_STATIC_ASSERT): New macro.
19319         (verify_true, verify): Use 'static_assert' if it is supported and
19320         '_Static_assert' is not supported.
19321
19322 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
19323
19324         allocator: New module.
19325         * modules/allocator, lib/allocator.c: New files.
19326         * lib/allocator.h (stdlib_allocator): New decl.
19327         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
19328         Remove.  Do not include <stdlib.h>.
19329         (careadlinkat): Use stdlib_allocator instead of rolling our own.
19330         * modules/careadlinkat (Files): Remove lib/allocator.h.
19331         (Depends-on): Add allocator.
19332
19333         stdlib: let modules use system malloc, realloc
19334         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
19335         if !_GL_USE_STDLIB_ALLOC.
19336         (malloc, realloc): Limit this change to a smaller scope.
19337
19338         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
19339         (malloc, realloc): Don't #undef; no longer needed.
19340         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19341         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19342         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19343         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19344         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19345         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19346         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19347         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19348
19349         careadlinkat: rename members to avoid problem
19350         * lib/allocator.h (struct allocator): Rename members from
19351         malloc/realloc to allocate/reallocate, to avoid problems if malloc
19352         and realloc are #define'd.  Reported by Eric Blake in
19353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
19354         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
19355
19356 2011-04-08  Eric Blake  <eblake@redhat.com>
19357
19358         nonblocking: reduce dependency
19359         * tests/test-nonblocking.c: Only test sockets when in use.
19360         * modules/nonblocking-tests (Depends-on): Drop socket.
19361         (Makefile.am): Link even if sockets are not present.
19362         * modules/pipe2-tests (Makefile.am): Likewise.
19363         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
19364
19365         pipe2: fix O_NONBLOCK support on mingw
19366         * modules/pipe2 (Depends-on): Add nonblocking.
19367         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
19368         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
19369         * tests/test-nonblocking.c (main): Likewise.
19370         * modules/pipe2-tests (Makefile.am): Avoid link failure.
19371
19372         fcntl-h: fix O_ACCMODE on cygwin
19373         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
19374         * lib/fcntl.in.h (O_ACCMODE): Fix it.
19375
19376         pipe-filter: drop O_NONBLOCK workarounds
19377         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
19378         * modules/pipe-filter-ii (Depends-on): Likewise.
19379         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
19380
19381         nonblocking: provide O_NONBLOCK for mingw
19382         * modules/nonblocking (Depends-on): Add open.
19383         (configure.ac): Set new witness macro.
19384         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
19385         * modules/fcntl-h (Makefile.am): Substitute it.
19386         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
19387         nonblocking module is in use.
19388         * lib/nonblocking.c: Adjust portability test.
19389         * lib/open.c (open): Don't let native open see gnulib flag.
19390         * tests/test-fcntl-h.c (main): Enhance test.
19391         * tests/test-open.h (test_open): Likewise.
19392         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
19393
19394         careadlinkat: fix compilation error on mingw
19395         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
19396         within struct allocator.
19397
19398 2011-04-06  Eric Blake  <eblake@redhat.com>
19399
19400         binary-io: relicense under LGPLv2+
19401         * modules/binary-io (License): Relax to LGPLv2+.
19402         Requested for libvirt, and required by pipe2.
19403
19404 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
19405
19406         verify: use _Static_assert if available
19407         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
19408         (verify_true, verify): Use it if available.  This generates better
19409         diagnostics with GCC 4.6.0 and later.
19410
19411 2011-04-05  Bruno Haible  <bruno@clisp.org>
19412
19413         Remove leftover generated .h files after config.status changed.
19414
19415         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
19416         GL_GENERATE_ALLOCA_H.
19417         * modules/alloca-opt (Makefile.am): Remove alloca.h if
19418         GL_GENERATE_ALLOCA_H evaluates to false.
19419
19420         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
19421         GL_GENERATE_ARGZ_H.
19422         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
19423         evaluates to false.
19424
19425         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
19426         GL_GENERATE_BYTESWAP_H.
19427         * modules/byteswap (Makefile.am): Remove byteswap.h if
19428         GL_GENERATE_BYTESWAP_H evaluates to false.
19429
19430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19431         GL_GENERATE_ERRNO_H.
19432         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19433         evaluates to false.
19434
19435         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19436         GL_GENERATE_FLOAT_H.
19437         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19438         evaluates to false.
19439
19440         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19441         GL_GENERATE_FNMATCH_H.
19442         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19443         GL_GENERATE_FNMATCH_H evaluates to false.
19444
19445         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19446         GL_GENERATE_GLOB_H.
19447         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19448         evaluates to false.
19449
19450         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19451         automake conditional GL_GENERATE_ICONV_H.
19452         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19453         evaluates to false.
19454
19455         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19456         GL_GENERATE_NETINET_IN_H.
19457         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19458         GL_GENERATE_NETINET_IN_H evaluates to false.
19459
19460         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19461         conditional GL_GENERATE_PTHREAD_H.
19462         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19463         * modules/pthread (Makefile.am): Remove pthread.h if
19464         GL_GENERATE_PTHREAD_H evaluates to false.
19465
19466         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19467         GL_GENERATE_SCHED_H.
19468         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19469         evaluates to false.
19470
19471         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19472         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19473         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19474         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19475
19476         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19477         GL_GENERATE_STDARG_H.
19478         * modules/stdarg (Makefile.am): Remove stdarg.h if
19479         GL_GENERATE_STDARG_H evaluates to false.
19480
19481         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19482         GL_GENERATE_STDBOOL_H.
19483         * modules/stdbool (Makefile.am): Remove stdbool.h if
19484         GL_GENERATE_STDBOOL_H evaluates to false.
19485
19486         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19487         conditional GL_GENERATE_STDDEF_H.
19488         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19489         * modules/stddef (Makefile.am): Remove stddef.h if
19490         GL_GENERATE_STDDEF_H evaluates to false.
19491
19492         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19493         GL_GENERATE_STDINT_H.
19494         * modules/stdint (Makefile.am): Remove stdint.h if
19495         GL_GENERATE_STDINT_H evaluates to false.
19496
19497         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19498         GL_GENERATE_SYSEXITS_H.
19499         * modules/sysexits (Makefile.am): Remove sysexits.h if
19500         GL_GENERATE_SYSEXITS_H evaluates to false.
19501
19502         Reported by Karl Berry and Ralf Wildenhues.
19503
19504 2011-04-05  Bruno Haible  <bruno@clisp.org>
19505
19506         Ensure to rebuild generated .h files when config.status has changed.
19507         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19508         config.status.
19509         * modules/ctype (Makefile.am): Likewise.
19510         * modules/dirent (Makefile.am): Likewise.
19511         * modules/errno (Makefile.am): Likewise.
19512         * modules/fcntl-h (Makefile.am): Likewise.
19513         * modules/float (Makefile.am): Likewise.
19514         * modules/getopt-posix (Makefile.am): Likewise.
19515         * modules/glob (Makefile.am): Likewise.
19516         * modules/iconv-h (Makefile.am): Likewise.
19517         * modules/inttypes (Makefile.am): Likewise.
19518         * modules/langinfo (Makefile.am): Likewise.
19519         * modules/locale (Makefile.am): Likewise.
19520         * modules/math (Makefile.am): Likewise.
19521         * modules/netdb (Makefile.am): Likewise.
19522         * modules/netinet_in (Makefile.am): Likewise.
19523         * modules/poll-h (Makefile.am): Likewise.
19524         * modules/pthread (Makefile.am): Likewise.
19525         * modules/pty (Makefile.am): Likewise.
19526         * modules/sched (Makefile.am): Likewise.
19527         * modules/search (Makefile.am): Likewise.
19528         * modules/selinux-h (Makefile.am): Likewise.
19529         * modules/signal (Makefile.am): Likewise.
19530         * modules/spawn (Makefile.am): Likewise.
19531         * modules/stdarg (Makefile.am): Likewise.
19532         * modules/stdbool (Makefile.am): Likewise.
19533         * modules/stddef (Makefile.am): Likewise.
19534         * modules/stdint (Makefile.am): Likewise.
19535         * modules/stdio (Makefile.am): Likewise.
19536         * modules/stdlib (Makefile.am): Likewise.
19537         * modules/string (Makefile.am): Likewise.
19538         * modules/strings (Makefile.am): Likewise.
19539         * modules/sys_file (Makefile.am): Likewise.
19540         * modules/sys_ioctl (Makefile.am): Likewise.
19541         * modules/sys_select (Makefile.am): Likewise.
19542         * modules/sys_socket (Makefile.am): Likewise.
19543         * modules/sys_stat (Makefile.am): Likewise.
19544         * modules/sys_time (Makefile.am): Likewise.
19545         * modules/sys_times (Makefile.am): Likewise.
19546         * modules/sys_utsname (Makefile.am): Likewise.
19547         * modules/sys_wait (Makefile.am): Likewise.
19548         * modules/sysexits (Makefile.am): Likewise.
19549         * modules/termios (Makefile.am): Likewise.
19550         * modules/time (Makefile.am): Likewise.
19551         * modules/unistd (Makefile.am): Likewise.
19552         * modules/wchar (Makefile.am): Likewise.
19553         * modules/wctype-h (Makefile.am): Likewise.
19554         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19555
19556 2011-04-05  Bruno Haible  <bruno@clisp.org>
19557
19558         pipe2: Relicense under LGPLv2+.
19559         * modules/pipe2 (License): Change to LGPLv2+.
19560         Requested by Eric Blake, for libvirt.
19561
19562 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19563
19564         bootstrap: compute gnulib_extra_files after updating build_aux
19565         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19566         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19567
19568 2011-04-05  Eric Blake  <eblake@redhat.com>
19569
19570         bootstrap: preserve git whitelist item sorting
19571         * build-aux/bootstrap (sort_patterns): New function.
19572         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19573
19574 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19575
19576         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19577         sc_space_tab check.
19578
19579 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19580
19581         areadlink, areadlinkat: rewrite in terms of careadlinkat
19582         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19583         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19584         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19585         (malloc, realloc): Remove #undefs.
19586         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19587         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19588         readlink, ssize_t, stdint, unistd.
19589         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19590         areadlink, stdint.
19591
19592         careadlinkat: new module
19593         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19594         * modules/careadlinkat: New files, written by me with
19595         a review and feedback from Ben Pfaff in
19596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19597
19598 2011-04-01  Bruno Haible  <bruno@clisp.org>
19599
19600         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
19601         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
19602         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
19603         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
19604         Reported by Bruce Korb <bruce.korb@gmail.com>.
19605
19606 2011-04-01  Bruno Haible  <bruno@clisp.org>
19607
19608         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
19609         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
19610         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
19611         * modules/wcpcpy (Depends-on): Add extensions.
19612         * modules/wcpncpy (Depends-on): Likewise.
19613         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
19614         systems.
19615         * doc/posix-functions/wcpncpy.texi: Likewise.
19616         * doc/posix-functions/wcwidth.texi: Likewise.
19617
19618 2011-03-31  Eric Blake  <eblake@redhat.com>
19619
19620         nonblocking: fix mingw test failures
19621         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
19622         non-blocking flag on regular file.
19623         (get_nonblocking_flag): Set errno on invalid fd.
19624         * tests/test-nonblocking.c (main): Avoid test failure on
19625         directories if fchdir is not active.
19626         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
19627
19628 2011-03-31  Bruno Haible  <bruno@clisp.org>
19629
19630         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
19631         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
19632         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
19633         Reported by Simon Josefsson <simon@josefsson.org>.
19634
19635 2011-03-31  Bruno Haible  <bruno@clisp.org>
19636         and Eric Blake  <eblake@redhat.com>
19637
19638         nonblocking: new module
19639         * modules/nonblocking: New module.
19640         * modules/nonblocking-tests: Likewise.
19641         * lib/nonblocking.h: New file.
19642         * lib/nonblocking.c: Likewise.
19643         * tests/test-nonblocking.c: New test.
19644         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19645
19646 2011-03-30  Bruno Haible  <bruno@clisp.org>
19647
19648         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19649         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19650         instead of 'printf' format for GCC >= 4.4.
19651         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19652         (fprintf, printf, vfprintf, vprintf): Declare with
19653         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19654         the system's vfprintf() function.
19655         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19656
19657 2011-03-30  Eric Blake  <eblake@redhat.com>
19658
19659         passfd: fix scoping bug
19660         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19661         before sendmsg/recvmsg.
19662
19663         passfd: standardize coding conventions
19664         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
19665         can be learned at compile time.
19666         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
19667         ifdefs.
19668         (sendfd, recvfd): Follow gnulib code conventions.
19669
19670         passfd: fix incorrect sendmsg arguments
19671         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
19672         incorrect msg_controllen value.
19673         * modules/passfd-tests (Depends-on): Check for alarm.
19674         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
19675         Reported by Bastien ROUCARIES.
19676
19677 2011-03-30  Bruno Haible  <bruno@clisp.org>
19678
19679         c-strcasestr: Relicense under LGPLv2+.
19680         * modules/c-strcasestr (License): Change to LGPLv2+.
19681         Requested by Eric Blake, for libvirt.
19682
19683 2011-03-30  Simon Josefsson  <simon@josefsson.org>
19684
19685         * users.txt: Add libidn2.  Fix libtasn1 link.
19686
19687 2011-03-30  Jim Meyering  <meyering@redhat.com>
19688
19689         tests: readlink* ("",... fails with EINVAL on newer kernels
19690         readlink and readlinkat have typically failed with ENOENT for
19691         the invalid, empty file name,  "".  However, with the advent
19692         of linux-2.6.39, they fail with EINVAL.
19693         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
19694         when operating on the empty file name.
19695         * tests/test-readlink.h (test_readlink): Likewise.
19696
19697 2011-03-29  Bruno Haible  <bruno@clisp.org>
19698
19699         Relicense some modules under LGPLv2+, for libidn2.
19700         * modules/array-mergesort (License): Change to LGPLv2+.
19701         * modules/c-strcaseeq (License): Likewise.
19702         * modules/striconveh (License): Likewise.
19703         * modules/striconveha (License): Likewise.
19704         * modules/uniconv/base (License): Likewise.
19705         * modules/uniconv/u8-conv-from-enc (License): Likewise.
19706         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
19707         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
19708         * modules/unictype/base (License): Likewise.
19709         * modules/unictype/bidiclass-of (License): Likewise.
19710         * modules/unictype/category-M (License): Likewise.
19711         * modules/unictype/category-none (License): Likewise.
19712         * modules/unictype/category-of (License): Likewise.
19713         * modules/unictype/category-test (License): Likewise.
19714         * modules/unictype/category-test-withtable (License): Likewise.
19715         * modules/unictype/combining-class (License): Likewise.
19716         * modules/unictype/joiningtype-of (License): Likewise.
19717         * modules/unictype/scripts (License): Likewise.
19718         * modules/uninorm/base (License): Likewise.
19719         * modules/uninorm/canonical-decomposition (License): Likewise.
19720         * modules/uninorm/composition (License): Likewise.
19721         * modules/uninorm/decompose-internal (License): Likewise.
19722         * modules/uninorm/decomposition-table (License): Likewise.
19723         * modules/uninorm/nfc (License): Likewise.
19724         * modules/uninorm/nfd (License): Likewise.
19725         * modules/uninorm/u32-normalize (License): Likewise.
19726         * modules/unistr/base (License): Likewise.
19727         * modules/unistr/u32-cpy (License): Likewise.
19728         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
19729         * modules/unistr/u32-to-u8 (License): Likewise.
19730         * modules/unistr/u32-uctomb (License): Likewise.
19731         * modules/unistr/u8-check (License): Likewise.
19732         * modules/unistr/u8-mblen (License): Likewise.
19733         * modules/unistr/u8-mbtouc (License): Likewise.
19734         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
19735         * modules/unistr/u8-mbtoucr (License): Likewise.
19736         * modules/unistr/u8-prev (License): Likewise.
19737         * modules/unistr/u8-strlen (License): Likewise.
19738         * modules/unistr/u8-to-u32 (License): Likewise.
19739         * modules/unistr/u8-uctomb (License): Likewise.
19740         * modules/unitypes (License): Likewise.
19741         Requested by Simon Josefsson.
19742
19743 2011-03-29  Simon Josefsson  <simon@josefsson.org>
19744
19745         lib-symbol-visibility: Add a notice.
19746         * modules/lib-symbol-visibility (Notice): New field.
19747
19748 2011-03-29  Bruno Haible  <bruno@clisp.org>
19749
19750         getaddrinfo: Doc fix.
19751         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
19752         section "fixed in Gnulib".
19753
19754 2011-03-28  Simon Josefsson  <simon@josefsson.org>
19755
19756         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
19757         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
19758
19759 2011-03-26  Bruno Haible  <bruno@clisp.org>
19760
19761         unictype/property-byname: Reduce the number of load-time relocations.
19762         * lib/unictype/pr_byname.c: Include <stdlib.h>.
19763         (UC_PROPERTY_INDEX_*): New enumeration values.
19764         (uc_property_byname): Convert an index from the lookup table to an
19765         uc_property_t.
19766         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
19767         values.
19768
19769 2011-03-26  Bruno Haible  <bruno@clisp.org>
19770
19771         unictype/property-byname: Allow omitted word separators and aliases.
19772         * lib/unictype/pr_byname.gperf: Add property names without word
19773         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
19774         for 'space'.
19775
19776 2011-03-26  Bruno Haible  <bruno@clisp.org>
19777
19778         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
19779         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
19780         also hyphens to space.
19781         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
19782         without spaces.
19783         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
19784
19785 2011-03-26  Bruno Haible  <bruno@clisp.org>
19786
19787         unictype/joiningtype-byname: Recognize long names as well.
19788         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
19789         a long name.
19790         * lib/unictype/joiningtype_byname.c: Include <string.h>,
19791         unictype/joiningtype_byname.h.
19792         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
19793         * lib/unictype/joiningtype_byname.gperf: New file.
19794         * modules/unictype/joiningtype-byname (Files): Add
19795         lib/unictype/joiningtype_byname.gperf.
19796         (Depends-on): Add gperf.
19797         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
19798         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
19799         long names.
19800
19801         Tests for module 'unictype/joiningtype-longname'.
19802         * modules/unictype/joiningtype-longname-tests: New file.
19803         * tests/unictype/test-joiningtype_longname.c: New file.
19804
19805         New module 'unictype/joiningtype-longname'.
19806         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
19807         * lib/unictype/joiningtype_longname.c: New file.
19808         * modules/unictype/joiningtype-longname: New file.
19809         * modules/unictype/joiningtype-all (Depends-on): Add
19810         unictype/joiningtype-longname.
19811
19812 2011-03-26  Bruno Haible  <bruno@clisp.org>
19813
19814         unictype/bidiclass-byname: Recognize long names as well.
19815         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
19816         name.
19817         * lib/unictype/bidi_byname.c: Include <string.h>,
19818         unictype/bidi_byname.h.
19819         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
19820         * lib/unictype/bidi_byname.gperf: New file.
19821         * modules/unictype/bidiclass-byname (Files): Add
19822         lib/unictype/bidi_byname.gperf.
19823         (Depends-on): Add gperf.
19824         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
19825         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
19826         long names.
19827
19828         Tests for module 'unictype/bidiclass-longname'.
19829         * modules/unictype/bidiclass-longname-tests: New file.
19830         * tests/unictype/test-bidi_longname.c: New file.
19831
19832         New module 'unictype/bidiclass-longname'.
19833         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
19834         * lib/unictype/bidi_longname.c: New file.
19835         * modules/unictype/bidiclass-longname: New file.
19836         * modules/unictype/bidiclass-all (Depends-on): Add
19837         unictype/bidiclass-longname.
19838
19839 2011-03-26  Bruno Haible  <bruno@clisp.org>
19840
19841         unictype/bidi*: Rename modules.
19842         * modules/unictype/bidiclass-all: Renamed from
19843         modules/unictype/bidicategory-all.
19844         * modules/unictype/bidiclass-name: Renamed from
19845         modules/unictype/bidiclass-name.
19846         (Description): Update.
19847         * modules/unictype/bidiclass-name-tests: Renamed from
19848         modules/unictype/bidicategory-name-tests.
19849         * modules/unictype/bidiclass-byname: Renamed from
19850         modules/unictype/bidicategory-byname.
19851         (Description): Update.
19852         * modules/unictype/bidiclass-byname-tests: Renamed from
19853         modules/unictype/bidicategory-byname-tests.
19854         * modules/unictype/bidiclass-of: Renamed from
19855         modules/unictype/bidicategory-of.
19856         (Description): Update.
19857         * modules/unictype/bidiclass-of-tests: Renamed from
19858         modules/unictype/bidicategory-of-tests.
19859         * modules/unictype/bidiclass-test: Renamed from
19860         modules/unictype/bidicategory-test.
19861         (Description): Update.
19862         * modules/unictype/bidiclass-test-tests: Renamed from
19863         modules/unictype/bidicategory-test-tests.
19864         * modules/unictype/bidicategory-all: New file, a simple redirection.
19865         * modules/unictype/bidicategory-name: Likewise.
19866         * modules/unictype/bidicategory-byname: Likewise.
19867         * modules/unictype/bidicategory-of: Likewise.
19868         * modules/unictype/bidicategory-test: Likewise.
19869         * modules/unictype/property-bidi-* (Dependencies): Update.
19870         * lib/unictype/bidi_*.c: Update comment.
19871
19872 2011-03-26  Bruno Haible  <bruno@clisp.org>
19873
19874         unictype/bidi*: Rename functions, part 2.
19875         * modules/unictype/bidicategory-name (configure.ac): Update required
19876         libunistring version.
19877         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
19878
19879 2011-03-25  Bruno Haible  <bruno@clisp.org>
19880
19881         New module 'unictype/combining-class-all'.
19882         * modules/unictype/combining-class-all: New file.
19883
19884         Tests for module 'unictype/combining-class-byname'.
19885         * modules/unictype/combining-class-byname-tests: New file.
19886         * tests/unictype/test-combiningclass_byname.c: New file.
19887
19888         New module 'unictype/combining-class-byname'.
19889         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
19890         * lib/unictype/combiningclass_byname.c: New file.
19891         * lib/unictype/combiningclass_byname.gperf: New file.
19892         * modules/unictype/combining-class-byname: New file.
19893
19894         Tests for module 'unictype/combining-class-longname'.
19895         * modules/unictype/combining-class-longname-tests: New file.
19896         * tests/unictype/test-combiningclass_longname.c: New file.
19897
19898         New module 'unictype/combining-class-longname'.
19899         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
19900         * lib/unictype/combiningclass_longname.c: New file.
19901         * modules/unictype/combining-class-longname: New file.
19902
19903         Tests for module 'unictype/combining-class-name'.
19904         * modules/unictype/combining-class-name-tests: New file.
19905         * tests/unictype/test-combiningclass_name.c: New file.
19906
19907         New module 'unictype/combining-class-name'.
19908         * lib/unictype.in.h (uc_combining_class_name): New declaration.
19909         * lib/unictype/combiningclass_name.c: New file.
19910         * modules/unictype/combining-class-name: New file.
19911
19912 2011-03-25  Bruno Haible  <bruno@clisp.org>
19913
19914         unictype/combining-class: Rename source files.
19915         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
19916         of unictype/combining.h.
19917         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
19918         Update.
19919         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
19920         * modules/unictype/combining-class (Description): Fix.
19921         (Files, Makefile.am): Update.
19922         * tests/unictype/test-combiningclass.c: Renamed from
19923         tests/unictype/test-combining.c.
19924         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
19925
19926 2011-03-25  Bruno Haible  <bruno@clisp.org>
19927
19928         unictype: Update list of canonical combining classes.
19929         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
19930
19931 2011-03-25  Bruno Haible  <bruno@clisp.org>
19932
19933         unictype/category-byname: Recognize long names as well.
19934         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
19935         a long name.
19936         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
19937         unictype/categ_byname.h.
19938         (UC_CATEGORY_INDEX_*): New enumeration values.
19939         (uc_general_category_byname): Use uc_general_category_lookup and
19940         convert from index to value.
19941         * lib/unictype/categ_byname.gperf: New file.
19942         * modules/unictype/category-byname (Files): Add
19943         lib/unictype/categ_byname.gperf.
19944         (Depends-on): Add gperf.
19945         (Makefile.am): Add rule for generating unictype/categ_byname.h.
19946         * tests/unictype/test-categ_byname.c (main): Test the recognition of
19947         long names.
19948
19949         Tests for module 'unictype/category-longname'.
19950         * modules/unictype/category-longname-tests: New file.
19951         * tests/unictype/test-categ_longname.c: New file.
19952
19953         New module 'unictype/category-longname'.
19954         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
19955         * lib/unictype/categ_longname.c: New file.
19956         * modules/unictype/category-longname: New file.
19957         * modules/unictype/category-all (Depends-on): Add it.
19958
19959 2011-03-25  Bruno Haible  <bruno@clisp.org>
19960
19961         Tests for module 'unictype/category-LC'.
19962         * modules/unictype/category-LC-tests: New file.
19963         * tests/unictype/test-categ_LC.c: New file, automatically generated.
19964
19965         New module 'unictype/category-LC'.
19966         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
19967         (UC_CATEGORY_LC): New declaration.
19968         (UC_CASED_LETTER): New macro.
19969         * lib/gen-uni-tables.c (is_category_LC): New function.
19970         (output_categories): Also handle category LC.
19971         (UC_CATEGORY_MASK_LC): New enumeration value.
19972         (general_category_byname): Also handle category LC.
19973         * lib/unictype/categ_LC.c: New file.
19974         * lib/unictype/categ_LC.h: New file, automatically generated.
19975         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
19976         category LC.
19977         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
19978         * modules/unictype/category-LC: New file.
19979         * modules/unictype/category-byname (Depends-on): Add
19980         unictype/category-LC.
19981         * modules/unictype/category-all (Depends-on): Likewise.
19982
19983 2011-03-25  Eric Blake  <eblake@redhat.com>
19984
19985         xmalloc: revert yesterday's regression
19986         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
19987         realloc's underlying behavior (allowing allocation of zero-size
19988         objects, especially if malloc-gnu is also in use).
19989
19990 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
19991
19992         maint.mk: add missing version to VC-tag
19993         * top/maint.mk: git tag was missing actual tag name; add it.
19994
19995         valgrind: do leak checking, and exit with code 1 on error (not 0)
19996         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
19997         to VALGRIND.
19998
19999 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
20000
20001         posix-modules: say what it does.
20002         * posix-modules: Add a line to the --help output saying what it does.
20003
20004 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
20005
20006         xmalloc: Do not leak if underlying realloc is C99 compatible.
20007         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20008         This avoids a leak on C99-based systems.  See
20009         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20010
20011 2011-03-24  Eric Blake  <eblake@redhat.com>
20012
20013         realloc: document portability problem
20014         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20015         passing 0 size to realloc.
20016
20017 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20018
20019         doc: update users.txt
20020         * users.txt: Add cvsps, tmpwatch
20021
20022 2011-03-23  Matt Rice  <ratmice@gmail.com>
20023
20024         doc: update users.txt
20025         * users.txt: Add gdb.
20026
20027 2011-03-23  Jim Meyering  <meyering@redhat.com>
20028
20029         doc: update users.txt
20030         Looking through matches up to the following URL (there are still
20031         several more pages), I found several projects that use gnulib:
20032         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20033         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20034         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20035
20036 2011-03-22  Bruno Haible  <bruno@clisp.org>
20037
20038         unictype/bidi*: Rename functions.
20039         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20040         uc_bidi_class, uc_is_bidi_class): New declarations.
20041         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20042         uc_bidi_category_byname.
20043         (uc_bidi_category_byname): New function.
20044         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20045         u_bidi_category_name.
20046         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20047         (uc_bidi_category_name): New function.
20048         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20049         uc_bidi_category.
20050         (uc_bidi_category): New function.
20051         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20052         uc_is_bidi_category. Invoke uc_bidi_class.
20053         (uc_is_bidi_category): New function.
20054         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20055         instead of uc_bidi_category_byname.
20056         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20057         instead of uc_bidi_category_name.
20058         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20059         uc_bidi_category.
20060         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20061         instead of uc_is_bidi_category.
20062
20063 2011-03-21  Bruno Haible  <bruno@clisp.org>
20064
20065         New module 'unictype/joininggroup-all'.
20066         * modules/unictype/joininggroup-all: New file.
20067
20068         Tests for module 'unictype/joininggroup-of'.
20069         * modules/unictype/joininggroup-of-tests: New file.
20070         * tests/unictype/test-joininggroup_of.c: New file.
20071         * tests/unictype/test-joininggroup_of.h: New file, automatically
20072         generated by gen-uni-tables.
20073
20074         New module 'unictype/joininggroup-of'.
20075         * modules/unictype/joininggroup-of: New file.
20076         * lib/unictype/joininggroup_of.c: New file.
20077         * lib/unictype/joininggroup_of.h: New file, automatically generated by
20078         gen-uni-tables.
20079
20080         Tests for module 'unictype/joininggroup-byname'.
20081         * modules/unictype/joininggroup-byname-tests: New file.
20082         * tests/unictype/test-joininggroup_byname.c: New file.
20083
20084         New module 'unictype/joininggroup-byname'.
20085         * modules/unictype/joininggroup-byname: New file.
20086         * lib/unictype/joininggroup_byname.c: New file.
20087         * lib/unictype/joininggroup_byname.gperf: New file.
20088
20089         Tests for module 'unictype/joininggroup-name'.
20090         * modules/unictype/joininggroup-name-tests: New file.
20091         * tests/unictype/test-joininggroup_name.c: New file.
20092
20093         New module 'unictype/joininggroup-name'.
20094         * modules/unictype/joininggroup-name: New file.
20095         * lib/unictype/joininggroup_name.c: New file.
20096         * lib/unictype/joininggroup_name.h: New file.
20097
20098         New module 'unictype/joiningtype-all'.
20099         * modules/unictype/joiningtype-all: New file.
20100
20101         Tests for module 'unictype/joiningtype-of'.
20102         * modules/unictype/joiningtype-of-tests: New file.
20103         * tests/unictype/test-joiningtype_of.c: New file.
20104         * tests/unictype/test-joiningtype_of.h: New file, automatically
20105         generated by gen-uni-tables.
20106
20107         New module 'unictype/joiningtype-of'.
20108         * modules/unictype/joiningtype-of: New file.
20109         * lib/unictype/joiningtype_of.c: New file.
20110         * lib/unictype/joiningtype_of.h: New file, automatically generated by
20111         gen-uni-tables.
20112
20113         Tests for module 'unictype/joiningtype-byname'.
20114         * modules/unictype/joiningtype-byname-tests: New file.
20115         * tests/unictype/test-joiningtype_byname.c: New file.
20116
20117         New module 'unictype/joiningtype-byname'.
20118         * modules/unictype/joiningtype-byname: New file.
20119         * lib/unictype/joiningtype_byname.c: New file.
20120
20121         Tests for module 'unictype/joiningtype-name'.
20122         * modules/unictype/joiningtype-name-tests: New file.
20123         * tests/unictype/test-joiningtype_name.c: New file.
20124
20125         New module 'unictype/joiningtype-name'.
20126         * modules/unictype/joiningtype-name: New file.
20127         * lib/unictype/joiningtype_name.c: New file.
20128
20129         unictype: Add support for Arabic shaping properties.
20130         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
20131         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
20132         declarations.
20133         (UC_JOINING_GROUP_*): New enumeration values.
20134         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
20135         declarations.
20136         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
20137         (unicode_joining_type): New variable.
20138         (UC_JOINING_GROUP_*): New enumeration values.
20139         (unicode_joining_group): New variable.
20140         (fill_arabicshaping, joining_type_as_c_identifier,
20141         output_joining_type_test, output_joining_type,
20142         joining_group_as_c_identifier, output_joining_group_test,
20143         output_joining_group): New functions.
20144         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
20145         fill_arabicshaping and output_joining_type_test, output_joining_type,
20146         output_joining_group_test, output_joining_group.
20147         Reported by Simon Josefsson.
20148
20149 2011-03-21  Jim Meyering  <meyering@redhat.com>
20150
20151         strftime: fix a bug in yesterday's change
20152         * lib/strftime.c (add): Accommodate width's initial value of -1.
20153         Otherwise, nstrftime would copy uninitialized data into
20154         the result buffer.
20155
20156 2011-03-21  Jim Meyering  <meyering@redhat.com>
20157
20158         tests: add strftime-tests module
20159         * tests/test-strftime.c: New file.
20160         * modules/strftime-tests: New module.
20161
20162 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20163
20164         strftime: don't assume a byte count fits in 'int'
20165         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
20166         found this problem by static analysis, using gcc -Wstrict-overflow
20167         (GCC 4.5.2, x86-64).  This reported an optimization that depended
20168         on an integer overflow having undefined behavior, but it turns out
20169         that the argument is a size, which might not fit in 'int' anyway,
20170
20171 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20172
20173         stdio: don't require ignore_value around fwrite
20174
20175         This patch works around libc bug 11959
20176         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
20177         Without this patch, applications must often write
20178         ignore_value (fwrite (...)) even though the ignore_value is
20179         not helpful here.  It's common to write many objects, using
20180         fwrite/printf/etc., and then use ferror to detect output error.
20181
20182         I considered making this patch optional, but decided against it,
20183         because libc is obviously being inconsistent here: there is no
20184         reason libc should insist that user code must inspect fwrite
20185         return's value without also insisting that it inspect printf's,
20186         putchar's, etc.  If user code wants to have a strict style where
20187         all these functions' values are checked (so that ferror need not
20188         be checked), we could add support for that style in a new gnulib
20189         module, but in the meantime it's better to be consistent and to
20190         support common usage.
20191
20192         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
20193         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
20194         that we are compiling in checking mode, and if not C++, and
20195         if not already wrapping fwrite for some other reason.
20196         (fwrite): #define to rpl_fwrite if the latter is defined.
20197
20198 2011-03-20  Bruno Haible  <bruno@clisp.org>
20199
20200         verror: Fix compilation error introduced on 2011-02-13.
20201         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
20202         instead of __attribute__.
20203         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20204
20205 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20206             Bruno Haible  <bruno@clisp.org>
20207
20208         socklen: do not depend on sys_socket
20209         While trying to modify Emacs to use gnulib's socklen module,
20210         I discovered a circular dependency: socklen depends on sys_socket
20211         and vice versa.  Emacs can use socklen, but it does not need
20212         sys_socket because it has its own substitute for sys/socket.h.
20213         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
20214         gl_TYPE_SOCKLEN_T.
20215         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
20216         gl_PREREQ_SYS_H_SOCKET.
20217         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
20218         gl_PREREQ_SYS_H_SOCKET.
20219         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
20220         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
20221         * modules/socklen (Depends-on): Do not depend on sys_socket.
20222         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
20223
20224 2011-03-20  Jim Meyering  <meyering@redhat.com>
20225
20226         maint.mk: sort file names *after* new transformation
20227         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
20228         prefix would have led to an unwarranted failure in GNU parted.
20229         Sort after that transformation.
20230
20231 2011-03-19  Jim Meyering  <meyering@redhat.com>
20232
20233         maint.mk: fix po-file syntax-check rule
20234         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
20235         Patch by Bruno Haible.
20236
20237 2011-03-19  Bruno Haible  <bruno@clisp.org>
20238
20239         socklen: Update comment.
20240         * m4/socklen.m4: Update comment about platforms.
20241
20242 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20243             Bruno Haible  <bruno@clisp.org>
20244
20245         inet_ntop, inet_pton: Simplify.
20246         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
20247         documented to provide socklen_t and we already depend on sys_socket.
20248         * modules/inet_pton (Depends-on): Likewise.
20249         * lib/arpa_inet.in.h: Adjust comment.
20250
20251 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20252             Bruno Haible  <bruno@clisp.org>
20253
20254         netdb: Simplify.
20255         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
20256         documented to provide socklen_t and we already depend on sys_socket.
20257         * lib/netdb.in.h: Adjust comment.
20258
20259 2011-03-19  Bruno Haible  <bruno@clisp.org>
20260
20261         sys_socket, netdb: Document problem with socklen_t.
20262         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
20263         platforms.
20264         * doc/posix-headers/netdb.texi: Likewise.
20265
20266 2011-03-18  Eric Blake  <eblake@redhat.com>
20267
20268         maint.mk: let po check work in VPATH build
20269         * top/maint.mk (po_file): Allow cfg.mk override.
20270         (sc_po_check): Allow VPATH use.
20271         Reported by Jiri Denemark.
20272
20273 2011-03-16  Jim Meyering  <meyering@redhat.com>
20274
20275         maint.mk: allow fine-grained syntax-check exclusion via Make variables
20276         Before, you would have had to create one .x-sc_ file per rule in order
20277         to exempt offending files.  Now, you may instead use a Make variable --
20278         usually defined in cfg.mk -- whose name identifies the affected rule.
20279         * top/maint.mk (_sc_excl): Define.
20280         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
20281         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
20282
20283 2011-03-13  Bruno Haible  <bruno@clisp.org>
20284
20285         ignore-value tests: Avoid warnings.
20286         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
20287         empty for gcc < 3.4.
20288
20289 2011-03-13  Bruno Haible  <bruno@clisp.org>
20290
20291         passfd: Fix link error on Solaris.
20292         * modules/passfd (Description): Correct.
20293         (Depends-on): Add socketlib.
20294         (Link): New section.
20295         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
20296
20297 2011-03-13  Bruno Haible  <bruno@clisp.org>
20298
20299         passfd: Fix link error on AIX 5.2.
20300         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
20301
20302 2011-03-13  Bruno Haible  <bruno@clisp.org>
20303
20304         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
20305         * lib/sys_socket.in.h: Include <stddef.h>.
20306         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
20307         CMSG_FIRSTHDR. Remove unused variable.
20308
20309 2011-03-13  Bruno Haible  <bruno@clisp.org>
20310
20311         passfd: Fix compilation error on OpenBSD.
20312         * lib/passfd.c: Include <sys/uio.h>.
20313
20314 2011-03-13  Bruno Haible  <bruno@clisp.org>
20315
20316         passfd test: Fix warnings.
20317         * tests/test-passfd.c: Include <sys/wait.h>.
20318         (main): Fix typo.
20319
20320 2011-03-13  Bruno Haible  <bruno@clisp.org>
20321
20322         passfd module, part 4, tweaks.
20323         * tests/test-passfd.c: Reorder includes.
20324         (main): Fix perror and printf calls.
20325
20326 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20327
20328         passfd module, part 4.
20329         * modules/passfd-tests: New file.
20330         * tests/test-passfd.c: New file.
20331
20332 2011-03-13  Jim Meyering  <meyering@redhat.com>
20333
20334         Makefile: rely on GNU make; derive syntax-check rule names
20335         Rather than requiring that each sc_ rule be listed as a dependent
20336         of "check", use features of GNU make to derive the list.
20337         * Makefile (syntax-check-rules): Define.
20338         (check): Depend on the new variable, not the hard-coded list.
20339
20340 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
20341             Bruno Haible  <bruno@clisp.org>
20342
20343         passfd module, part 3.
20344         * lib/passfd.h (recvfd): Add a flags argument.
20345         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
20346         (recvfd): Add a flags argument.
20347         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
20348         exists.
20349         * modules/passfd (Depends-on): Add cloexec.
20350         Suggested by Eric Blake.
20351
20352 2011-03-13  Bruno Haible  <bruno@clisp.org>
20353
20354         passfd module, part 2, tweaks.
20355         * modules/passfd (Files): Reorder.
20356         (Depends-on): Remove errno.
20357         (Include): Remove <sys/socket.h>, <sys/un.h>.
20358         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
20359         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
20360         specification header. Include <sys/socket.h> always. Don't include
20361         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
20362         (sendfd): Clarify that it sets errno when it fails.
20363         (recvfd): Fix specification.
20364
20365 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20366
20367         passfd module, part 2.
20368         * modules/passfd: New file.
20369         * lib/passfd.h: New file.
20370         * lib/passfd.c: New file.
20371
20372 2011-03-12  Bruno Haible  <bruno@clisp.org>
20373
20374         wcswidth, mbswidth: Avoid integer overflow.
20375         * lib/wcswidth.c: Include <limits.h>.
20376         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
20377         * lib/mbswidth.c: Include <limits.h>.
20378         (mbsnwidth): Avoid 'int' overflow.
20379         Reported by Jim Meyering.
20380
20381 2011-03-12  Bruno Haible  <bruno@clisp.org>
20382
20383         futimens, utimensat: Avoid endless recursion on Solaris 10.
20384         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
20385         Solaris.
20386         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
20387         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
20388
20389 2011-03-11  Jim Meyering  <meyering@redhat.com>
20390
20391         maint.mk: relax a regexp to accommodate other formatting styles
20392         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
20393         between "ngettext" and the following "(".
20394
20395 2011-03-11  Pádraig Brady <P@draigBrady.com>
20396
20397         maint.mk: suppress a false positive warning
20398         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
20399         diagnostics are marked with ngettext.
20400
20401 2011-03-10  Eric Blake  <eblake@redhat.com>
20402
20403         wchar: add explicit dependencies, for Tru64
20404         * modules/mbmemcasecoll (Depends-on): Add wchar.
20405         * modules/mbtowc (Depends-on): Likewise.
20406         * modules/vasnprintf (Depends-on): Likewise.
20407         * modules/unistdio/u-printf-args (Depends-on): Likewise.
20408         * modules/wctomb (Depends-on): Likewise.
20409         Reported by Peter O'Gorman.
20410
20411 2011-03-08  Bruno Haible  <bruno@clisp.org>
20412
20413         passfd module, part 1, tweaks.
20414         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
20415         Improve indentation. Improve AC_MSG_CHECKING messages.
20416         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
20417         gl_SOCKET_FAMILIES.
20418
20419 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20420
20421         passfd module, part 1.
20422         * m4/afunix.m4: New file.
20423         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
20424         sockets.
20425
20426 2011-03-08  Bruno Haible  <bruno@clisp.org>
20427
20428         regex-quote: New API.
20429         * lib/regex-quote.h: Include <stdbool.h>.
20430         (struct regex_quote_spec): New type.
20431         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20432         New declarations.
20433         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20434         'const struct regex_quote_spec *' argument.
20435         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20436         (pcre_special): New constant.
20437         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20438         New functions.
20439         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20440         'const struct regex_quote_spec *' argument.
20441         * modules/regex-quote (Depends-on): Add stdbool.
20442         * tests/test-regex-quote.c (check): Update for new API. Add test for
20443         anchored results.
20444         * NEWS: Mention the API change.
20445         Reported by Reuben Thomas and Eric Blake.
20446
20447 2011-03-06  Bruno Haible  <bruno@clisp.org>
20448
20449         regex-quote: Fix creation of POSIX extended regular expressions.
20450         * lib/regex-quote.c (ere_special): Add grouping and alternation
20451         operators.
20452
20453 2011-03-05  Bruno Haible  <bruno@clisp.org>
20454
20455         doc: Improve doc regarding autopoint vs. gnulib.
20456         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20457         disable autopoint while running autoreconf.
20458         Suggested by Ralf Wildenhues.
20459
20460 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20461
20462         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20463         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20464
20465 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20466
20467         parse-duration: remove xalloc.h dependency
20468         * lib/parse-duration.c (parse_period): handle NULL return from
20469         strdup instead of calling xstrdup().
20470         * modules/parse-duration: remove "xalloc" dependency
20471
20472 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20473
20474         bootstrap: honor m4_base when running aclocal
20475         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20476
20477 2011-03-02  Jim Meyering  <meyering@redhat.com>
20478
20479         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20480         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20481         on request from Matt Booth.
20482
20483 2011-03-01  Eric Blake  <eblake@redhat.com>
20484
20485         test-link: work on Hurd
20486         * tests/test-link.h (test_link): Hurd rejects linking directories
20487         with EISDIR instead of the POSIX-mandated EPERM.
20488
20489 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20490
20491         stdio: simplify by moving files to printf-posix, sigpipe
20492         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20493         since this symbol is needed only if printf is replaced.
20494         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20495         Require gl_ASM_SYMBOL_PREFIX.
20496         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20497         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20498         (Depends-on): Add 'raise'.
20499         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20500         * modules/stdio (Files): Remove lib/stdio-write.c,
20501         m4/asm-underscore.m4.
20502         (Depends-on): Remove 'raise'.
20503
20504         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20505         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20506         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20507         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20508
20509 2011-02-28  Bruno Haible  <bruno@clisp.org>
20510
20511         localcharset: Assume ANSI C behaviour of free().
20512         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20513         calling free().
20514         Suggested by Simon Josefsson <simon@josefsson.org>.
20515
20516 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20517             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20518             Bruno Haible  <bruno@clisp.org>  (tiny change)
20519
20520         On Cygwin, use /proc file system instead of win32 API.
20521         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20522         Win32 file names.
20523         (DllMain): Simplify by removing Cygwin specific code.
20524         (find_shared_library_fullname): Use Linux specific implementation also
20525         for Cygwin.
20526         (get_shared_library_fullname): Update accordingly.
20527         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20528         Win32 file names.
20529         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20530         Cygwin specific code.
20531
20532 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20533             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20534
20535         Fix OpenMP flag detection for various Fortran compilers.
20536         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20537         OpenMP-conditional compilation construct, to force compile
20538         failure with missing OpenMP flag.
20539         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20540
20541 2011-02-25  Eric Blake  <eblake@redhat.com>
20542
20543         strstr: expand test coverage
20544         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20545         compilation.
20546         * tests/test-memmem.c (main): Duplicate tests.
20547         * tests/test-strcasestr.c (main): Likewise.
20548         * tests/test-c-strcasestr.c (main): Likewise.
20549
20550 2011-02-25  Jim Meyering  <meyering@redhat.com>
20551
20552         maint.mk: detect missing-NL-at-EOF, too
20553         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20554         it also detects when a file lacks a newline at EOF.
20555         (require_exactly_one_NL_at_EOF_): Renamed from
20556         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20557         since people may well have .x-sc_... file names tied to the
20558         existing name.  Suggested by Eric Blake.
20559
20560 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20561
20562         dirname: move m4/dos.m4 functionality into lib/dosname.h
20563
20564         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20565         extracts symbols from it, puts them into config.h; but it's much
20566         easier to use the symbols directly.  filename.h already does this,
20567         but it disagrees with dos.m4 in some respects.  This patch
20568         introduces a different include file dosname.h that packages up
20569         dos.m4, and then later we can work on merging filename.h and
20570         dosname.h.  Applications that need only the easy-to-configure
20571         symbols should consider including dosname.h rather than dirname.h.
20572         * NEWS: Mention incompatible changes.
20573         * m4/dos.m4: Remove.
20574         * lib/dosname.h, modules/dosname: New files.
20575         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20576         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20577         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20578         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20579         Include dosname.h, not dirname.h.
20580         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20581         Include dosname.h, for definitions of symbols like ISSLASH
20582         that used to be in config.h.
20583         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20584         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20585         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20586         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20587         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20588         * modules/rmdir (Files): Likewise.
20589         * modules/stat (Files): Likewise.
20590         * modules/unlink (Files): Likewise.
20591         * modules/dirname-lgpl (Depends-on): Add dosname.
20592         * modules/lstat (Depends-on): Likewise.
20593         * modules/openat (Depends-on): Likewise.
20594         * modules/rmdir (Depends-on): Likewise.
20595         * modules/savewd (Depends-on): Likewise.
20596         * modules/stat (Depends-on): Likewise.
20597         * modules/unlink (Depends-on): Likewise.
20598         * modules/openat (Depends-on): Remove dirname-lgpl.
20599         * modules/savewd (Depends-on): Likewise.
20600         * tests/test-dirname.c: Do not use removed symbols like
20601         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
20602         the remaining symbols, e.g., ISSLASH ('\\').
20603
20604 2011-02-25  Eric Blake  <eblake@redhat.com>
20605
20606         strstr: revert patches that introduced bug and pessimization
20607         * lib/str-two-way.h: Add another reference.
20608         (two_way_short_needle, two_way_long_needle): Revert changes from
20609         2011-02-24; they pessimize search speed.
20610         (critical_factorization): Partially revert changes from
20611         2010-06-22; they violate the requirement that the left half of the
20612         needle be smaller than the period of the needle.
20613
20614 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20615
20616         filenamecat: remove unnecessary dependency on dirname-lgpl
20617         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
20618         is no direct dependency, just an indirect one via filenamecat-lgpl.
20619
20620         remove: remove unnecessary use of m4/dos.m4
20621         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
20622         * modules/remove (FILES): Remove m4/dos.m4.
20623
20624         * lib/openat-proc.c: Don't include dirname.h; not needed.
20625
20626         backupfile: remove unnecessary use of m4/dos.m4
20627         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
20628         of its symbols are used by the backupfile code.  backupfile.c does
20629         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
20630         for the rare case of programs that want all their backup file
20631         names to live within 8+3 limits, and dos.m4 doesn't address that.
20632         * modules/backupfile (Files): Remove m4/dos.m4.
20633
20634 2011-02-24  Jim Meyering  <meyering@redhat.com>
20635
20636         strstr: fix a bug whereby strstr would mistakenly return NULL
20637         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
20638         in period calculation.
20639         (two_way_long_needle): Likewise.
20640         The original problem was reported by Mike Stump in
20641         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20642         Ralf Wildenhues provided the short needle and haystack.
20643         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20644         Add a more involved test to trigger the bug in two_way_long_needle.
20645
20646 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20647
20648         gnulib-tool: remove use of bold display in help screen
20649         * gnulib-tool (func_usage): Do not use bold display anymore in the
20650         help screen.  That was just meant to be a temporary emphasis for a
20651         backward-incompatible change.
20652
20653 2011-02-23  Bruno Haible  <bruno@clisp.org>
20654
20655         Fix misindentation of preprocessor directives.
20656         * lib/argp-namefrob.h: Reindent preprocessor directives.
20657         * lib/getopt_int.h (struct _getopt_data): Likewise.
20658         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20659         * lib/vasnprintf.c (decode_long_double): Likewise.
20660         * tests/test-argmatch.c: Insert blank lines, for clarity.
20661         * tests/test-exclude.c: Likewise.
20662
20663 2011-02-22  Bruno Haible  <bruno@clisp.org>
20664
20665         ioctl: Fix for MacOS X in 64-bit mode.
20666         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
20667         value.
20668         Suggested by Eric Blake.
20669         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
20670
20671 2011-02-22  Jim Meyering  <meyering@redhat.com>
20672
20673         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
20674         * Makefile (sc_cpp_indent_check): Don't limit the check to files
20675         in lib/.
20676
20677 2011-02-22  Eric Blake  <eblake@redhat.com>
20678
20679         maint: avoid any CDPATH issue
20680         * Makefile (sc_cpp_indent_check): Anchor cd argument.
20681
20682         maint: adjust cpp indentation for my modules, as well
20683         * Makefile (sc_cpp_indent_check): Add my name.
20684         * lib/fbufmode.c: Filter through cppi.
20685         * lib/fpurge.c: Likewise.
20686         * lib/freadable.c: Likewise.
20687         * lib/freading.c: Likewise.
20688         * lib/fwritable.c: Likewise.
20689         * lib/fwriting.c: Likewise.
20690         * lib/sigaction.c: Likewise.
20691
20692 2011-02-22  Jim Meyering  <meyering@redhat.com>
20693
20694         maint: adjust cpp indentation to reflect nesting depth
20695         I.e., in a block of code that begins with an unnested "#if",
20696         put one space between the "#" in column 1 and following token.
20697         For example,
20698         -#include <sys/vfs.h>
20699         +# include <sys/vfs.h>
20700         Do this only in .c files that are part of a module I maintain.
20701         * lib/linkat.c: Filter through cppi.
20702         * lib/nanosleep.c: Likewise.
20703         * lib/openat.c: Likewise.
20704         * lib/openat-die.c: Likewise.
20705         * lib/dup3.c: Likewise.
20706         * lib/fchownat.c: Likewise.
20707         * lib/flock.c: Likewise.
20708         * lib/fsync.c: Likewise.
20709         * lib/fts.c: Likewise.
20710         * lib/getpass.c: Likewise.
20711         * lib/gettimeofday.c: Likewise.
20712         * lib/userspec.c: Likewise.
20713         * Makefile (sc_cpp_indent_check): New rule, to check this.
20714
20715 2011-02-22  Bruno Haible  <bruno@clisp.org>
20716
20717         New module 'wctomb'.
20718         * lib/stdlib.in.h (wctomb): New declaration.
20719         * lib/wctomb.c: New file.
20720         * lib/wctomb-impl.h: New file.
20721         * m4/wctomb.m4: New file.
20722         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
20723         REPLACE_WCTOMB.
20724         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
20725         REPLACE_WCTOMB.
20726         * modules/wctomb: New file.
20727         * tests/test-stdlib-c++.cc: Test signature of wctomb.
20728         * doc/posix-functions/wctomb.texi: Mention the new module.
20729         * modules/wctob (Depends-on): Add wctomb.
20730
20731 2011-02-22  Bruno Haible  <bruno@clisp.org>
20732
20733         New module 'mbtowc'.
20734         * lib/stdlib.in.h (mbtowc): New declaration.
20735         * lib/mbtowc.c: New file.
20736         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
20737         * m4/mbtowc.m4: New file.
20738         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
20739         REPLACE_MBTOWC.
20740         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
20741         REPLACE_MBTOWC.
20742         * modules/mbtowc: New file.
20743         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
20744         * doc/posix-functions/mbtowc.texi: Mention the new module.
20745         * modules/btowc (Depends-on): Add mbtowc.
20746
20747 2011-02-22  Bruno Haible  <bruno@clisp.org>
20748
20749         wcrtomb: Add more tests for native Windows platforms.
20750         * tests/test-wcrtomb-w32-1.sh: New file.
20751         * tests/test-wcrtomb-w32-2.sh: New file.
20752         * tests/test-wcrtomb-w32-3.sh: New file.
20753         * tests/test-wcrtomb-w32-4.sh: New file.
20754         * tests/test-wcrtomb-w32-5.sh: New file.
20755         * tests/test-wcrtomb-w32.c: New file.
20756         * modules/wcrtomb-tests (Files): Add them.
20757         (Makefile.am): Arrange to run these tests.
20758         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
20759         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
20760
20761 2011-02-20  Bruno Haible  <bruno@clisp.org>
20762
20763         wcrtomb: Enhance test.
20764         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
20765
20766 2011-02-20  Bruno Haible  <bruno@clisp.org>
20767
20768         mbrtowc: Tiny optimization.
20769         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
20770
20771 2011-02-20  Jim Meyering  <meyering@redhat.com>
20772
20773         test-exclude.c: remove unmatched #endif
20774         * tests/test-exclude.c: Remove stray #endif, left over from
20775         the change of a week ago.
20776
20777 2011-02-19  Jim Meyering  <meyering@redhat.com>
20778
20779         git-version-gen: skip "-dirty" check when appropriate
20780         * build-aux/git-version-gen: Don't run any git commands when the
20781         version string comes from .tarball-version.  Prior to this, we
20782         would run git update-index --refresh even from a just-unpacked
20783         tarball directory, and that could affect a .git/ directory in a
20784         parent of the build directory.  Reported by Mike Frysinger.
20785
20786 2011-02-19  Bruno Haible  <bruno@clisp.org>
20787
20788         unictype/property-byname: Reduce the size of the 'data' segment.
20789         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
20790
20791 2011-02-19  Bruno Haible  <bruno@clisp.org>
20792
20793         unictype/scripts: Reduce the size of the 'data' segment.
20794         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
20795         '%pic'.
20796         * lib/unictype/scripts_byname.gperf: Regenerated.
20797
20798 2011-02-19  Bruno Haible  <bruno@clisp.org>
20799
20800         stdint: Update documentation.
20801         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
20802
20803 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
20804
20805         stdint: omit redundant check for wchar.h
20806         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
20807         always tests whether wchar.h exists, so remove the now-redundant test.
20808
20809 2011-02-18  Bruno Haible  <bruno@clisp.org>
20810
20811         stdint: Cut dependency to module 'wchar'.
20812         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
20813         include the necessary prerequisites.
20814         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
20815         * modules/stdint (Depends-on): Remove wchar.
20816         (Makefile.am): Substitute HAVE_WCHAR_H.
20817         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
20818
20819 2011-02-18  Eric Blake  <eblake@redhat.com>
20820
20821         longlong: skip, rather than fail, on cross-compilation
20822         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
20823         when cross-compiling; regression from 2011-02-16.
20824
20825 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20826
20827         * NEWS: Mention 2011-02-08 change to stdlib.
20828
20829 2011-02-17  Bruno Haible  <bruno@clisp.org>
20830
20831         getloadavg: Add comments about platforms.
20832         * m4/getloadavg.m4: Add comment.
20833         * lib/getloadavg.c: Likewise.
20834
20835 2011-02-17  Bruno Haible  <bruno@clisp.org>
20836
20837         getloadavg: Fix link error on Solaris 2.6.
20838         * modules/getloadavg (Link): New section.
20839         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
20840         linking test-getloadavg.
20841         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
20842         getloadavg.
20843
20844 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20845
20846         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
20847         It was 'int', but this doesn't match the IRIX 6.5 manual.
20848         Suggested by Bruno Haible in
20849         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
20850
20851 2011-02-17  Bruno Haible  <bruno@clisp.org>
20852
20853         havelib: Fix comments.
20854         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
20855         change.
20856
20857 2011-02-17  Bruno Haible  <bruno@clisp.org>
20858
20859         havelib: Update config.rpath.
20860         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
20861
20862 2011-02-17  Bruno Haible  <bruno@clisp.org>
20863
20864         getloadavg test: Add some plausibility checks.
20865         * tests/test-getloadavg.c (check_avg): Print a warning when the value
20866         is improbable.
20867
20868 2011-02-16  Eric Blake  <eblake@redhat.com>
20869
20870         maintainer-makefile: make syntax-check a no-op from tarballs
20871         * top/maint.mk (no-vc-detected): New rule.
20872         (local-checks-available): Use it to avoid hanging if someone tries
20873         'make syntax-check' from a tarball.  Also append to any non-syntax
20874         checks already defined in cfg.mk.
20875
20876 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
20877
20878         longlong: tune, particularly for common case of c99
20879
20880         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
20881         or running anything if c99, or if unsigned long long int does not
20882         work.  In either case, we know the answer without further tests.
20883         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
20884         it at most once, and use its results for both long long int and
20885         unsigned long long int.  This is more likely to be efficient in
20886         the common case where the program wants to check for both long
20887         long int and unsigned long long int.
20888         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
20889         since the answer is already known.
20890
20891 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
20892
20893         getloadavg: set errno
20894         * lib/getloadavg.c: Set errno when returning -1.  If no other
20895         error number looks appropriate, set it to ENOSYS if the getloadavg
20896         looks like it can't possibly ever work, ENOTSUP otherwise.
20897         Suggested by Bruno Haible in
20898         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
20899
20900         getloadavg: trim unused parts and speed up 'configure'
20901         * NEWS: Document this.
20902         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
20903         always compiled if getloadavg is absent.
20904         Move test code to ...
20905         * tests/test-getloadavg.c: New file, containing previous
20906         contents of test from lib/getloadavg.c.  It also contains
20907         suggestions by Bruno Haible in
20908         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
20909         * modules/getloadavg-tests: New file.
20910         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
20911         Do tests in the same order as they're needed for getloadavg.c.
20912         Omit setgid-related tests that generate symbols KMEM_GROUP,
20913         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
20914         Do only the tests that are needed to see whether the system has
20915         getloadavg, moving the other tests into ...
20916         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
20917         NLIST_NAME_UNION; nobody should be using it.  Do not define
20918         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
20919         relevant, as the user of this module shouldn't care how getloadavg
20920         is implemented.
20921
20922         getloadavg: omit unused var
20923         * lib/getloadavg.c (getloadavg): Omit unused local variable.
20924
20925 2011-02-15  Jim Meyering  <meyering@redhat.com>
20926
20927         doc: update users.txt
20928         * users.txt: Update iwhd's URL.
20929
20930 2011-02-13  Bruno Haible  <bruno@clisp.org>
20931
20932         Consistent macro naming for macros that use GCC __attribute__.
20933         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
20934         _ATTRIBUTE_NONNULL_.
20935         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
20936         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
20937         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
20938         ATTRIBUTE_DEPRECATED.
20939         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
20940         ATTRIBUTE_NORETURN.
20941         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20942         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20943         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20944         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20945         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
20946         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
20947         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
20948         ATTRIBUTE_SENTINEL.
20949         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
20950         ATTRIBUTE_RETURN_CHECK.
20951         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
20952         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
20953         ATTRIBUTE_NORETURN.
20954         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
20955         Reported by Paul Eggert.
20956
20957 2011-02-13  Bruno Haible  <bruno@clisp.org>
20958
20959         Don't interfere with a program's definition of __attribute__.
20960         * lib/argp.h (__attribute__): Remove definition.
20961         (_GL_ATTRIBUTE_FORMAT): New macro.
20962         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
20963         * lib/argp-fmtstream.h (__attribute__): Remove definition.
20964         (_GL_ATTRIBUTE_FORMAT): New macro.
20965         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
20966         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
20967         GCC 3 or newer.
20968         * lib/error.h (__attribute__): Remove definition.
20969         (_GL_ATTRIBUTE_FORMAT): New macro.
20970         (error, error_at_line): Use it.
20971         * lib/hash.h (__attribute__): Remove definition.
20972         (ATTRIBUTE_WUR): Update definition. Define always.
20973         * lib/openat.h (__attribute__): Remove definition.
20974         (ATTRIBUTE_NORETURN): Update definition. Define always.
20975         * lib/sigpipe-die.h (__attribute__): Remove definition.
20976         (ATTRIBUTE_NORETURN): Update definition. Define always.
20977         * lib/vasnprintf.h (__attribute__): Remove definition.
20978         (_GL_ATTRIBUTE_FORMAT): New macro.
20979         (asnprintf, vasnprintf): Use it.
20980         * lib/xalloc.h (__attribute__): Remove definition.
20981         (ATTRIBUTE_NORETURN): Update definition. Define always.
20982         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
20983         * lib/xmemdup0.h (__attribute__): Remove definition.
20984         (ATTRIBUTE_NORETURN): Update definition. Define always.
20985         * lib/xprintf.h (__attribute__): Remove definition.
20986         (_GL_ATTRIBUTE_FORMAT): New macro.
20987         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
20988         * lib/xstrtol.h (__attribute__): Remove definition.
20989         (ATTRIBUTE_NORETURN): Update definition. Define always.
20990         * lib/xvasprintf.h (__attribute__): Remove definition.
20991         (_GL_ATTRIBUTE_FORMAT): New macro.
20992         (xasprintf, xvasprintf): Use it.
20993         * tests/test-argmatch.c (__attribute__): Remove definition.
20994         (ATTRIBUTE_NORETURN): Update definition. Define always.
20995         * tests/test-exclude.c (__attribute__): Remove definition.
20996         (ATTRIBUTE_NORETURN): Update definition. Define always.
20997         Reported by Paul Eggert.
20998
20999 2011-02-13  Bruno Haible  <bruno@clisp.org>
21000
21001         mbrtowc: Add more tests for native Windows platforms.
21002         * tests/test-mbrtowc-w32-1.sh: New file.
21003         * tests/test-mbrtowc-w32-2.sh: New file.
21004         * tests/test-mbrtowc-w32-3.sh: New file.
21005         * tests/test-mbrtowc-w32-4.sh: New file.
21006         * tests/test-mbrtowc-w32-5.sh: New file.
21007         * tests/test-mbrtowc-w32.c: New file.
21008         * modules/mbrtowc-tests (Files): Add them.
21009         (Makefile.am): Arrange to run these tests.
21010         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21011         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21012
21013 2011-02-13  Bruno Haible  <bruno@clisp.org>
21014
21015         mbrtowc: Work around native Windows bug.
21016         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21017         guess when no suitable locale for testing was found.
21018         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21019
21020 2011-02-13  Bruno Haible  <bruno@clisp.org>
21021
21022         mbsinit: Work around mingw bug.
21023         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21024         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21025         Windows.
21026         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21027
21028 2011-02-13  Bruno Haible  <bruno@clisp.org>
21029
21030         mbsinit: Don't crash for a NULL argument.
21031         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21032         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21033
21034 2011-02-13  Bruno Haible  <bruno@clisp.org>
21035
21036         Don't interfere with a program's definition of __attribute__.
21037         * lib/stdio.in.h (__attribute__): Remove definition.
21038         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21039         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21040         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21041         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21042         * lib/string.in.h (__attribute__): Remove definition.
21043         Reported by Paul Eggert.
21044
21045 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21046
21047         stdlib: don't get in the way of non-GCC __attribute__
21048         See thread starting at
21049         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21050         Revert previous stdlib change, installing the following instead:
21051         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21052         to get in the way of a non-GCC compiler that supports __attribute__.
21053         (_GL_ATTRIBUTE_RETURN): New macro.
21054         (_Exit): Use it instead of __attribute__.
21055
21056 2011-02-12  Bruno Haible  <bruno@clisp.org>
21057
21058         quotearg test: Avoid test failure on mingw.
21059         * tests/test-quotearg.sh: Convert the locale identifier from native
21060         Windows syntax to Unix syntax.
21061
21062 2011-02-12  Bruno Haible  <bruno@clisp.org>
21063
21064         setlocale: Prefer gnulib's override over libintl's override.
21065         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
21066         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
21067         GNULIB_defined_setlocale is set.
21068
21069 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21070
21071         stdlib: support non-GCC __attribute__
21072
21073         Fix a serious and tricky problem encountered when attempting to
21074         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
21075         5.5, but it crashed due to memory corruption on Solaris 10 with
21076         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
21077         bits that are otherwise zero.  This tagging is optional inside
21078         Emacs but is preferred and is used when __attribute__ ((__aligned
21079         (8))) works, as it does with both recent-enough GCC and with Sun C
21080         5.11.  However, Sun C 5.11 is not GCC and does not #define
21081         __GNUC__ and __GNUC_MINOR__.
21082
21083         When I added the getloadavg module to Emacs, it brought in
21084         stdlib.in.h, which contained this fragment:
21085
21086            #ifndef __attribute__
21087            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
21088            #  define __attribute__(Spec)   /* empty */
21089            # endif
21090            #endif
21091
21092         When files that include <stdlib.h> were compiled with Sun C 5.11,
21093         the above code disabled __attribute__ ((__aligned (8))), which
21094         caused variables to not be properly aligned, which eventually led
21095         to the pointer corruption mentioned above.  (This was a bit hard
21096         to diagnose, unfortunately.)
21097
21098         Several "#define __attribute__(X) /* empty */" code snippets need
21099         to be eradicated from Gnulib to work with non-GCC compilers that
21100         support __attribute__.  The Autoconf way to do this is to test for
21101         each kind of attribute that we want support for, and selectively
21102         enable that in source code.
21103
21104         Fix this problem just for stdlib.h, by adding a test for the
21105         __noreturn__ attribute, and change stdlib.in.h to use that test
21106         when needed.  This technique can be easily generalized to the
21107         other *.in.h files and attributes, and a similar technique can be
21108         used for *.h and *.c files.  This patch is enough to solve the
21109         problem for Emacs + getloadavg, and I thought I'd publish it for
21110         feedback before undertaking further, similar fixes in other
21111         modules.
21112
21113         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
21114         because it's not needed for stdlib.h.  It merely substitutes the
21115         value directly into stdlib.h.  We may well need to #define it, or
21116         similar symbols, for other modules, but it's nice to also have an
21117         option to not #define it for applications like Emacs that do not
21118         need it.
21119
21120         * lib/stdlib.in.h (__attribute__): Do not #define.
21121         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
21122         be defined only if the _Exit module is also used.
21123         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
21124         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
21125         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
21126         platforms.
21127         * modules/_Exit (Files): Add m4/attribute.m4.
21128         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
21129         * m4/attribute.m4: New file.
21130
21131 2011-02-12  Bruno Haible  <bruno@clisp.org>
21132
21133         wcsrtombs: Work around bug on native Windows.
21134         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
21135         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
21136         instead of len.
21137         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
21138
21139 2011-02-12  Bruno Haible  <bruno@clisp.org>
21140
21141         mbsrtowcs: Work around bug on native Windows.
21142         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
21143         against mingw bug.
21144         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
21145
21146 2011-02-12  Bruno Haible  <bruno@clisp.org>
21147
21148         Avoid setlocale bugs in tests.
21149         * modules/btowc (Dependencies): Add setlocale.
21150         * modules/c-strcase (Dependencies): Likewise.
21151         * modules/mbmemcasecmp (Dependencies): Likewise.
21152         * modules/mbmemcasecoll (Dependencies): Likewise.
21153         * modules/mbrtowc (Dependencies): Likewise.
21154         * modules/mbscasecmp (Dependencies): Likewise.
21155         * modules/mbscasestr (Dependencies): Likewise.
21156         * modules/mbschr (Dependencies): Likewise.
21157         * modules/mbscspn (Dependencies): Likewise.
21158         * modules/mbsinit (Dependencies): Likewise.
21159         * modules/mbsncasecmp (Dependencies): Likewise.
21160         * modules/mbsnrtowcs (Dependencies): Likewise.
21161         * modules/mbspbrk (Dependencies): Likewise.
21162         * modules/mbspcasecmp (Dependencies): Likewise.
21163         * modules/mbsrchr (Dependencies): Likewise.
21164         * modules/mbsrtowcs (Dependencies): Likewise.
21165         * modules/mbsspn (Dependencies): Likewise.
21166         * modules/mbsstr (Dependencies): Likewise.
21167         * modules/nl_langinfo (Dependencies): Likewise.
21168         * modules/quotearg (Dependencies): Likewise.
21169         * modules/unicase/locale-language (Dependencies): Likewise.
21170         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
21171         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
21172         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
21173         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
21174         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
21175         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
21176         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
21177         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
21178         * modules/vasnprintf-posix (Dependencies): Likewise.
21179         * modules/wcrtomb (Dependencies): Likewise.
21180         * modules/wcsnrtombs (Dependencies): Likewise.
21181         * modules/wcsrtombs (Dependencies): Likewise.
21182
21183 2011-02-12  Bruno Haible  <bruno@clisp.org>
21184
21185         setlocale: Workaround native Windows bug.
21186         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
21187         succeeds but sets LC_CTYPE to "C", report a failure.
21188         * tests/test-setlocale2.sh: New file.
21189         * tests/test-setlocale2.c: New file.
21190         * modules/setlocale-tests (Files): Add the new files.
21191         (Makefile.am): Enable test-setlocale2.sh test.
21192         * doc/posix-functions/setlocale.texi: Mention workaround.
21193
21194 2011-02-11  Bruno Haible  <bruno@clisp.org>
21195
21196         Tests for module 'setlocale'.
21197         * modules/setlocale-tests: New file.
21198         * tests/test-setlocale1.sh: New file.
21199         * tests/test-setlocale1.c: New file.
21200
21201         New module 'setlocale'.
21202         * lib/locale.in.h (setlocale): New declaration.
21203         * lib/setlocale.c: New file, based on
21204         gettext/gettext-runtime/intl/setlocale.c.
21205         * m4/setlocale.m4: New file.
21206         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
21207         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
21208         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
21209         REPLACE_SETLOCALE.
21210         * modules/setlocale: New file.
21211         * tests/test-locale-c++.cc: Test the declaration of setlocale.
21212         * doc/posix-functions/setlocale.texi: Mention the new module.
21213
21214 2011-02-11  Bruno Haible  <bruno@clisp.org>
21215
21216         Prepare for locale dependent tests on mingw.
21217         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
21218         because it has the wrong locale encoding.
21219         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
21220         French_France.1252 instead of "fr".
21221         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
21222         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
21223         because it has the wrong locale encoding.
21224         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
21225         native Windows, try Turkish_Turkey.65001.
21226         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
21227         Chinese_China.54936.
21228
21229         Prepare for locale dependent tests on mingw.
21230         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
21231         differently.
21232         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
21233         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
21234         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
21235         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21236
21237 2011-02-11  Eric Blake  <eblake@redhat.com>
21238
21239         strptime: avoid compiler warnings
21240         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
21241         compiler warnings about dead code.
21242         Reported by Daniel P. Berrange.
21243
21244 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
21245
21246         doc: update users.txt
21247         * users.txt: Add rcs.
21248
21249 2011-02-10  John W. Eaton  <jwe@gnu.org>
21250
21251         doc: update users.txt
21252         * users.txt: Add octave.
21253
21254 2011-02-10  Jim Meyering  <meyering@redhat.com>
21255
21256         doc: update users.txt
21257         * users.txt: Add iwhd.
21258
21259 2011-02-09  Bruno Haible  <bruno@clisp.org>
21260
21261         gnulib-tool: Make copyright notice adjustment more robust.
21262         * gnulib-tool (func_import): In sed_transform_main_lib_file,
21263         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
21264         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
21265         License".
21266         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
21267
21268 2011-02-06  Bruno Haible  <bruno@clisp.org>
21269
21270         New module 'towctrans'.
21271         * modules/towctrans: New file.
21272         * lib/wctype.in.h (towctrans): New declaration.
21273         * lib/towctrans.c: New file.
21274         * lib/towctrans-impl.h: New file.
21275         * m4/towctrans.m4: New file.
21276         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
21277         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
21278         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
21279         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
21280         * doc/posix-functions/towctrans.texi: Mention the new module.
21281
21282 2011-02-06  Bruno Haible  <bruno@clisp.org>
21283
21284         New module 'wctrans'.
21285         * modules/wctrans: New file.
21286         * lib/wctype.in.h (wctrans): New declaration.
21287         * lib/wctrans.c: New file.
21288         * lib/wctrans-impl.h: New file.
21289         * m4/wctrans.m4: New file.
21290         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
21291         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
21292         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
21293         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
21294         * doc/posix-functions/wctrans.texi: Mention the new module.
21295
21296 2011-02-06  Bruno Haible  <bruno@clisp.org>
21297
21298         New module 'iswctype'.
21299         * modules/iswctype: New file.
21300         * lib/wctype.in.h (iswctype): New declaration.
21301         * lib/iswctype.c: New file.
21302         * lib/iswctype-impl.h: New file.
21303         * m4/iswctype.m4: New file.
21304         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
21305         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
21306         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
21307         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
21308         * doc/posix-functions/iswctype.texi: Mention the new module and the
21309         HP-UX 11.00 problem.
21310
21311 2011-02-06  Bruno Haible  <bruno@clisp.org>
21312
21313         New module 'wctype'.
21314         * modules/wctype: Change to represent the wctype() substitute.
21315         * lib/wctype.in.h (wctype): New declaration.
21316         * lib/wctype.c: New file.
21317         * lib/wctype-impl.h: New file.
21318         * m4/wctype.m4: New file.
21319         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
21320         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
21321         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
21322         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
21323         * doc/posix-functions/wctype.texi: Mention the new module and the
21324         HP-UX 11.00 problem.
21325
21326 2011-02-06  Bruno Haible  <bruno@clisp.org>
21327
21328         wctype-h: Ensure wctype_t and wctrans_t are defined.
21329         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
21330         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21331         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21332         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
21333         HAVE_WCTRANS_T.
21334         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
21335
21336 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21337
21338         flock: fix license typo
21339
21340         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
21341         omitted.
21342
21343 2011-02-08  Bruno Haible  <bruno@clisp.org>
21344
21345         Split large sed scripts, for HP-UX sed.
21346         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
21347         to avoid HP-UX limit of 99 commands, in the near future.
21348         * modules/stdlib (Makefile.am): Likewise.
21349         * modules/unistd (Makefile.am): Likewise.
21350         * modules/wchar (Makefile.am): Likewise.
21351         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21352         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
21353         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
21354
21355 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21356             Bruno Haible  <bruno@clisp.org>
21357
21358         stdlib: improve random_r modularization
21359         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
21360         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
21361         you also need the random_r module to get this material right.
21362         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
21363         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
21364         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
21365
21366 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21367
21368         stdlib: don't depend on stdint
21369         * lib/stdlib.in.h: Don't include <stdint.h> merely because
21370         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
21371         be independent of whether stdint.h is needed.
21372         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
21373         here, instead of ...
21374         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
21375         struct random_data should be using the random_r module, not just
21376         the stdlib module (which wouldn't make sense: what package needs
21377         just struct random_data without also needing random_r?).
21378         * modules/stdlib (Depends-on): Remove stdint.
21379
21380         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
21381         See the thread rooted at
21382         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
21383         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
21384         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
21385         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
21386         __VMS)); previously it was always included (via fcntl--.h).
21387         (getloadavg): Do not use c_strtod.  Instead, approximate it by
21388         hand; this is good enough for load averages.  Also, do not use
21389         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
21390         flags directly if available and don't bother otherwise.  (Packages
21391         that need the extra reliability should use the modules that define
21392         these flags on older platforms that lack them.)
21393         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
21394         fcntl-safer.
21395
21396 2011-02-08  Jim Meyering  <meyering@redhat.com>
21397
21398         di-set.h, ino-map.h: add multiple-inclusion guard
21399         Technically, the guard is required only for ino-map.h, due to its
21400         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
21401         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
21402         * lib/ino-map.h: Likewise.
21403
21404 2011-02-06  Bruno Haible  <bruno@clisp.org>
21405
21406         iswblank: Ensure declaration on glibc systems.
21407         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
21408         * modules/iswblank (Dependencies): Add 'extensions'.
21409         * doc/posix-functions/iswblank.texi: Document the glibc problem.
21410
21411 2011-02-06  Bruno Haible  <bruno@clisp.org>
21412
21413         New module 'iswblank'.
21414         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
21415         * modules/iswblank: New file.
21416         * modules/wctype-h (Files): Remove lib/iswblank.c.
21417         (Makefile.am): Substitute GNULIB_ISWBLANK.
21418         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
21419         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
21420         (gl_WCTYPE_H_DEFAULTS): New macro.
21421         (gl_WCTYPE_H): Require it. Remove iswblank related code.
21422         * modules/iswblank-tests: New file.
21423         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
21424         * tests/test-wctype-h.c (main): Remove iswblank tests.
21425         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
21426         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
21427         of 'wctype-h'.
21428         * NEWS: Mention the change.
21429         * modules/mbchar (Depends-on): Add iswblank.
21430
21431 2011-02-08  Bruno Haible  <bruno@clisp.org>
21432
21433         di-set tests: Refactor.
21434         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21435         unnecessary includes.
21436         (ASSERT): Remove macro.
21437         (main): Make C90 compliant by avoiding variable declaration after
21438         statement.
21439         * modules/di-set-tests (Files): Add tests/macros.h.
21440
21441 2011-02-08  Bruno Haible  <bruno@clisp.org>
21442
21443         ino-map tests: Refactor.
21444         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21445         unnecessary includes.
21446         (ASSERT): Remove macro.
21447         (main): Make C90 compliant by avoiding variable declaration after
21448         statement.
21449         * modules/ino-map-tests (Files): Add tests/macros.h.
21450
21451 2011-02-08  Jim Meyering  <meyering@redhat.com>
21452
21453         di-set: add "const" to a cast
21454         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21455         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21456
21457 2011-02-06  Bruno Haible  <bruno@clisp.org>
21458
21459         Rename module 'wctype' to 'wctype-h'.
21460         * modules/wctype-h: Renamed from modules/wctype.
21461         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21462         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21463         (Files, Depends-on, Makefile.am): Update.
21464         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21465         (Files, Makefile.am): Update.
21466         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21467         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21468         * doc/posix-headers/wctype.texi: Update.
21469         * doc/posix-functions/iswalnum.texi: Update.
21470         * doc/posix-functions/iswalpha.texi: Update.
21471         * doc/posix-functions/iswblank.texi: Update.
21472         * doc/posix-functions/iswcntrl.texi: Update.
21473         * doc/posix-functions/iswdigit.texi: Update.
21474         * doc/posix-functions/iswgraph.texi: Update.
21475         * doc/posix-functions/iswlower.texi: Update.
21476         * doc/posix-functions/iswprint.texi: Update.
21477         * doc/posix-functions/iswpunct.texi: Update.
21478         * doc/posix-functions/iswspace.texi: Update.
21479         * doc/posix-functions/iswupper.texi: Update.
21480         * doc/posix-functions/iswxdigit.texi: Update.
21481         * doc/posix-functions/towlower.texi: Update.
21482         * doc/posix-functions/towupper.texi: Update.
21483         * NEWS: Mention the change.
21484         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21485         * modules/mbchar (Dependencies): Likewise.
21486         * modules/mbswidth (Dependencies): Likewise.
21487         * modules/quotearg (Dependencies): Likewise.
21488         * modules/regex (Dependencies): Likewise.
21489         * modules/wcscasecmp (Dependencies): Likewise.
21490         * modules/wcsncasecmp (Dependencies): Likewise.
21491         * modules/wcwidth (Dependencies): Likewise.
21492
21493 2011-02-06  Bruno Haible  <bruno@clisp.org>
21494
21495         New module 'wcswidth'.
21496         * modules/wcswidth: New file.
21497         * lib/wchar.in.h (wcswidth): New declaration.
21498         * lib/wcswidth.c: New file.
21499         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21500         * m4/wcswidth.m4: New file.
21501         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21502         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21503         REPLACE_WCSWIDTH.
21504         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21505         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21506         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21507         * doc/posix-functions/wcswidth.texi: Mention the new module.
21508
21509 2011-02-06  Bruno Haible  <bruno@clisp.org>
21510
21511         New module 'wcstok'.
21512         * modules/wcstok: New file.
21513         * lib/wchar.in.h (wcstok): New declaration.
21514         * lib/wcstok.c: New file.
21515         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21516         * m4/wcstok.m4: New file.
21517         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21518         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21519         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21520         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21521         * doc/posix-functions/wcstok.texi: Mention the new module.
21522
21523 2011-02-06  Bruno Haible  <bruno@clisp.org>
21524
21525         New module 'wcsstr'.
21526         * modules/wcsstr: New file.
21527         * lib/wchar.in.h (wcsstr): New declaration.
21528         * lib/wcsstr.c: New file.
21529         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21530         * m4/wcsstr.m4: New file.
21531         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21532         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21533         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21534         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21535         * doc/posix-functions/wcsstr.texi: Mention the new module.
21536
21537 2011-02-06  Bruno Haible  <bruno@clisp.org>
21538
21539         New module 'wcspbrk'.
21540         * modules/wcspbrk: New file.
21541         * lib/wchar.in.h (wcspbrk): New declaration.
21542         * lib/wcspbrk.c: New file.
21543         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21544         * m4/wcspbrk.m4: New file.
21545         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21546         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21547         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21548         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21549         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21550
21551 2011-02-06  Bruno Haible  <bruno@clisp.org>
21552
21553         New module 'wcsspn'.
21554         * modules/wcsspn: New file.
21555         * lib/wchar.in.h (wcsspn): New declaration.
21556         * lib/wcsspn.c: New file.
21557         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21558         * m4/wcsspn.m4: New file.
21559         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21560         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21561         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21562         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21563         * doc/posix-functions/wcsspn.texi: Mention the new module.
21564
21565 2011-02-06  Bruno Haible  <bruno@clisp.org>
21566
21567         New module 'wcscspn'.
21568         * modules/wcscspn: New file.
21569         * lib/wchar.in.h (wcscspn): New declaration.
21570         * lib/wcscspn.c: New file.
21571         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21572         * m4/wcscspn.m4: New file.
21573         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21574         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21575         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21576         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21577         * doc/posix-functions/wcscspn.texi: Mention the new module.
21578
21579 2011-02-06  Bruno Haible  <bruno@clisp.org>
21580
21581         New module 'wcsrchr'.
21582         * modules/wcsrchr: New file.
21583         * lib/wchar.in.h (wcsrchr): New declaration.
21584         * lib/wcsrchr.c: New file.
21585         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21586         * m4/wcsrchr.m4: New file.
21587         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21588         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21589         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21590         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21591         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21592
21593 2011-02-06  Bruno Haible  <bruno@clisp.org>
21594
21595         New module 'wcschr'.
21596         * modules/wcschr: New file.
21597         * lib/wchar.in.h (wcschr): New declaration.
21598         * lib/wcschr.c: New file.
21599         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21600         * m4/wcschr.m4: New file.
21601         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
21602         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
21603         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
21604         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
21605         * doc/posix-functions/wcschr.texi: Mention the new module.
21606
21607 2011-02-06  Bruno Haible  <bruno@clisp.org>
21608
21609         New module 'wcsdup'.
21610         * modules/wcsdup: New file.
21611         * lib/wchar.in.h (wcsdup): New declaration.
21612         * lib/wcsdup.c: New file.
21613         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
21614         * m4/wcsdup.m4: New file.
21615         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
21616         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
21617         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
21618         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
21619         * doc/posix-functions/wcsdup.texi: Mention the new module.
21620
21621 2011-02-06  Bruno Haible  <bruno@clisp.org>
21622
21623         New module 'wcsxfrm'.
21624         * modules/wcsxfrm: New file.
21625         * lib/wchar.in.h (wcsxfrm): New declaration.
21626         * lib/wcsxfrm.c: New file.
21627         * lib/wcsxfrm-impl.h: New file.
21628         * m4/wcsxfrm.m4: New file.
21629         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
21630         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
21631         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
21632         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
21633         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
21634
21635 2011-02-06  Bruno Haible  <bruno@clisp.org>
21636
21637         New module 'wcscoll'.
21638         * modules/wcscoll: New file.
21639         * lib/wchar.in.h (wcscoll): New declaration.
21640         * lib/wcscoll.c: New file.
21641         * lib/wcscoll-impl.h: New file.
21642         * m4/wcscoll.m4: New file.
21643         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21644         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21645         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21646         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21647         * doc/posix-functions/wcscoll.texi: Mention the new module.
21648
21649 2011-02-06  Bruno Haible  <bruno@clisp.org>
21650
21651         New module 'wcsncasecmp'.
21652         * modules/wcsncasecmp: New file.
21653         * lib/wchar.in.h (wcsncasecmp): New declaration.
21654         * lib/wcsncasecmp.c: New file.
21655         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21656         * m4/wcsncasecmp.m4: New file.
21657         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21658         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21659         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21660         HAVE_WCSNCASECMP.
21661         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21662         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
21663
21664 2011-02-06  Bruno Haible  <bruno@clisp.org>
21665
21666         New module 'wcscasecmp'.
21667         * modules/wcscasecmp: New file.
21668         * lib/wchar.in.h (wcscasecmp): New declaration.
21669         * lib/wcscasecmp.c: New file.
21670         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
21671         * m4/wcscasecmp.m4: New file.
21672         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
21673         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
21674         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
21675         HAVE_WCSCASECMP.
21676         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
21677         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
21678
21679 2011-02-05  Bruno Haible  <bruno@clisp.org>
21680
21681         New module 'wcsncmp'.
21682         * modules/wcsncmp: New file.
21683         * lib/wchar.in.h (wcsncmp): New declaration.
21684         * lib/wcsncmp.c: New file.
21685         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
21686         * m4/wcsncmp.m4: New file.
21687         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
21688         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
21689         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
21690         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
21691         * doc/posix-functions/wcsncmp.texi: Mention the new module.
21692
21693 2011-02-05  Bruno Haible  <bruno@clisp.org>
21694
21695         New module 'wcscmp'.
21696         * modules/wcscmp: New file.
21697         * lib/wchar.in.h (wcscmp): New declaration.
21698         * lib/wcscmp.c: New file.
21699         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
21700         * m4/wcscmp.m4: New file.
21701         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
21702         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
21703         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
21704         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
21705         * doc/posix-functions/wcscmp.texi: Mention the new module.
21706
21707 2011-02-05  Bruno Haible  <bruno@clisp.org>
21708
21709         New module 'wcsncat'.
21710         * modules/wcsncat: New file.
21711         * lib/wchar.in.h (wcsncat): New declaration.
21712         * lib/wcsncat.c: New file.
21713         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
21714         * m4/wcsncat.m4: New file.
21715         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
21716         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
21717         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
21718         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
21719         * doc/posix-functions/wcsncat.texi: Mention the new module.
21720
21721 2011-02-05  Bruno Haible  <bruno@clisp.org>
21722
21723         New module 'wcscat'.
21724         * modules/wcscat: New file.
21725         * lib/wchar.in.h (wcscat): New declaration.
21726         * lib/wcscat.c: New file.
21727         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
21728         * m4/wcscat.m4: New file.
21729         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
21730         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
21731         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
21732         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
21733         * doc/posix-functions/wcscat.texi: Mention the new module.
21734
21735 2011-02-05  Bruno Haible  <bruno@clisp.org>
21736
21737         New module 'wcpncpy'.
21738         * modules/wcpncpy: New file.
21739         * lib/wchar.in.h (wcpncpy): New declaration.
21740         * lib/wcpncpy.c: New file.
21741         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
21742         * m4/wcpncpy.m4: New file.
21743         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
21744         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
21745         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
21746         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
21747         * doc/posix-functions/wcpncpy.texi: Mention the new module.
21748
21749 2011-02-05  Bruno Haible  <bruno@clisp.org>
21750
21751         New module 'wcsncpy'.
21752         * modules/wcsncpy: New file.
21753         * lib/wchar.in.h (wcsncpy): New declaration.
21754         * lib/wcsncpy.c: New file.
21755         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
21756         * m4/wcsncpy.m4: New file.
21757         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
21758         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
21759         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
21760         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
21761         * doc/posix-functions/wcsncpy.texi: Mention the new module.
21762
21763 2011-02-05  Bruno Haible  <bruno@clisp.org>
21764
21765         New module 'wcpcpy'.
21766         * modules/wcpcpy: New file.
21767         * lib/wchar.in.h (wcpcpy): New declaration.
21768         * lib/wcpcpy.c: New file.
21769         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
21770         * m4/wcpcpy.m4: New file.
21771         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
21772         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
21773         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
21774         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
21775         * doc/posix-functions/wcpcpy.texi: Mention the new module.
21776
21777 2011-02-05  Bruno Haible  <bruno@clisp.org>
21778
21779         New module 'wcscpy'.
21780         * modules/wcscpy: New file.
21781         * lib/wchar.in.h (wcscpy): New declaration.
21782         * lib/wcscpy.c: New file.
21783         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
21784         * m4/wcscpy.m4: New file.
21785         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
21786         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
21787         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
21788         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
21789         * doc/posix-functions/wcscpy.texi: Mention the new module.
21790
21791 2011-02-05  Bruno Haible  <bruno@clisp.org>
21792
21793         New module 'wcsnlen'.
21794         * modules/wcsnlen: New file.
21795         * lib/wchar.in.h (wcsnlen): New declaration.
21796         * lib/wcsnlen.c: New file.
21797         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
21798         * m4/wcsnlen.m4: New file.
21799         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
21800         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
21801         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
21802         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
21803         * doc/posix-functions/wcsnlen.texi: Mention the new module.
21804
21805 2011-02-05  Bruno Haible  <bruno@clisp.org>
21806
21807         New module 'wcslen'.
21808         * modules/wcslen: New file.
21809         * lib/wchar.in.h (wcslen): New declaration.
21810         * lib/wcslen.c: New file.
21811         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
21812         * m4/wcslen.m4: New file.
21813         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
21814         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
21815         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
21816         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
21817         * doc/posix-functions/wcslen.texi: Mention the new module.
21818
21819 2011-02-05  Bruno Haible  <bruno@clisp.org>
21820
21821         New module 'wmemset'.
21822         * modules/wmemset: New file.
21823         * lib/wchar.in.h (wmemset): New declaration.
21824         * lib/wmemset.c: New file.
21825         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
21826         * m4/wmemset.m4: New file.
21827         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
21828         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
21829         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
21830         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
21831         * doc/posix-functions/wmemset.texi: Mention the new module.
21832
21833 2011-02-05  Bruno Haible  <bruno@clisp.org>
21834
21835         New module 'wmemmove'.
21836         * modules/wmemmove: New file.
21837         * lib/wchar.in.h (wmemmove): New declaration.
21838         * lib/wmemmove.c: New file.
21839         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
21840         * m4/wmemmove.m4: New file.
21841         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
21842         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
21843         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
21844         HAVE_WMEMMOVE.
21845         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
21846         * doc/posix-functions/wmemmove.texi: Mention the new module.
21847
21848 2011-02-05  Bruno Haible  <bruno@clisp.org>
21849
21850         New module 'wmemcpy'.
21851         * modules/wmemcpy: New file.
21852         * lib/wchar.in.h (wmemcpy): New declaration.
21853         * lib/wmemcpy.c: New file.
21854         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
21855         * m4/wmemcpy.m4: New file.
21856         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
21857         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
21858         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
21859         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
21860         * doc/posix-functions/wmemcpy.texi: Mention the new module.
21861
21862 2011-02-05  Bruno Haible  <bruno@clisp.org>
21863
21864         New module 'wmemcmp'.
21865         * modules/wmemcmp: New file.
21866         * lib/wchar.in.h (wmemcmp): New declaration.
21867         * lib/wmemcmp.c: New file.
21868         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
21869         * m4/wmemcmp.m4: New file.
21870         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
21871         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
21872         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
21873         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
21874         * doc/posix-functions/wmemcmp.texi: Mention the new module.
21875
21876 2011-02-07  Jim Meyering  <meyering@redhat.com>
21877
21878         di-set, ino-map: new modules, from coreutils
21879         * lib/di-set.c: New file.
21880         * lib/di-set.h: Likewise.
21881         * lib/ino-map.c: Likewise.
21882         * lib/ino-map.h: Likewise.
21883         * modules/di-set: Likewise.
21884         * modules/di-set-tests: Likewise.
21885         * modules/ino-map: Likewise.
21886         * modules/ino-map-tests: Likewise.
21887         * tests/test-di-set.c: Likewise.
21888         * tests/test-ino-map.c: Likewise.
21889
21890 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
21891
21892         getloadavg: merge minor changes from Emacs
21893
21894         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
21895         (getloadavg): Use memset, not bzero.
21896
21897         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
21898         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
21899         clash (bug#86).
21900
21901 2010-11-14  Bruno Haible  <bruno@clisp.org>
21902
21903         Allow multiple gnulib generated replacements to coexist.
21904         * lib/getopt.in.h (struct option): Avoid identical redefinition.
21905         * lib/inttypes.in.h (imaxdiv_t): Likewise.
21906         * lib/langinfo.in.h (nl_item): Likewise.
21907         * lib/math.in.h (_NaN, NAN): Likewise.
21908         * lib/netdb.in.h (struct addrinfo): Likewise.
21909         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
21910         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
21911         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
21912         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
21913         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
21914         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
21915         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
21916         pthread_mutexattr_init, pthread_mutexattr_settype,
21917         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
21918         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
21919         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
21920         pthread_spin_trylock, pthread_spin_unlock): Likewise.
21921         * lib/sched.in.h (struct sched_param): Likewise.
21922         * lib/se-selinux.in.h (security_class_t, security_context_t,
21923         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
21924         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
21925         lsetfilecon, fsetfilecon, security_check_context,
21926         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
21927         Likewise.
21928         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
21929         Likewise.
21930         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
21931         _gl_function_taking_int_returning_void_t, union sigval,
21932         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
21933         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
21934         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21935         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
21936         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
21937         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
21938         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
21939         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
21940         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
21941         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
21942         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
21943         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
21944         socklen_t, rpl_fd_isset): Likewise.
21945         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
21946         * lib/sys_time.in.h (struct timeval): Likewise.
21947         * lib/sys_times.in.h (struct tms): Likewise.
21948         * lib/sys_utsname.in.h (struct utsname):
21949         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
21950         * lib/unistd.in.h (getpagesize): Likewise.
21951         * lib/wchar.in.h (mbstate_t): Likewise.
21952         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21953         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
21954         towlower, towupper): Likewise.
21955         Reported by Sam Steingold <sds@gnu.org>.
21956
21957 2011-02-05  Eric Blake  <eblake@redhat.com>
21958
21959         unsetenv: work around Haiku issues
21960         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
21961         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
21962
21963 2010-12-30  Bruce Korb  <bkorb@gnu.org>
21964
21965         libposix: avoid calling error() within libposix
21966         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
21967         is defined.
21968
21969 2011-02-05  Eric Blake  <eblake@redhat.com>
21970
21971         strerror_r-posix: port to cygwin
21972         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
21973         implementation.
21974         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
21975         * tests/test-strerror_r.c (main): Fix test.
21976         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
21977         issue.
21978
21979 2011-02-05  Bruno Haible  <bruno@clisp.org>
21980
21981         New module 'wmemchr'.
21982         * modules/wmemchr: New file.
21983         * lib/wchar.in.h (wmemchr): New declaration.
21984         * lib/wmemchr.c: New file.
21985         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
21986         * m4/wmemchr.m4: New file.
21987         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
21988         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
21989         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
21990         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
21991         * doc/posix-functions/wmemchr.texi: Mention the new module.
21992
21993 2011-02-04  Eric Blake  <eblake@redhat.com>
21994
21995         fdopendir: detect FreeBSD bug
21996         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
21997         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
21998
21999 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
22000
22001         stdbool: do not define HAVE_STDBOOL_H
22002         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
22003         AC_HEADER_STDBOOL.  All uses changed.  Do not define
22004         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
22005         imported from the latest Autoconf git.  It was motivated by Emacs,
22006         which uses gnulib but does not need HAVE_STDBOOL_H.
22007
22008 2011-02-04  Bruno Haible  <bruno@clisp.org>
22009
22010         wcsnrtombs: Prepare for new module wwcsnrtombs.
22011         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22012         * lib/wcsnrtombs.c: Include it.
22013         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22014
22015         wcsrtombs: Prepare for new module wwcsrtombs.
22016         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22017         * lib/wcsrtombs.c: Include it.
22018         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22019
22020         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22021         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22022         * lib/mbsnrtowcs.c: Include it.
22023         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22024
22025         mbsrtowcs: Prepare for new module mbsrtowwcs.
22026         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22027         * lib/mbsrtowcs.c: Include it.
22028         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22029
22030 2011-02-04  Bruno Haible  <bruno@clisp.org>
22031
22032         vasnprintf: Reduce use of malloc for small format strings.
22033         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22034         (arguments): Add room for the first 7 arguments.
22035         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22036         (char_directives, u8_directives, u16_directives, u32_directives): Add
22037         room for the first 7 directives.
22038         * lib/printf-parse.c: Include <string.h>.
22039         (PRINTF_PARSE): Change memory handling code so that it uses the first
22040         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22041         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22042         Reported by Pádraig Brady <P@draigbrady.com>.
22043
22044 2011-01-31  Eric Blake  <eblake@redhat.com>
22045
22046         dup2: work around Haiku bug
22047         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22048         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22049         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22050         * tests/test-dup2.c (main): Enhance test.
22051
22052 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22053
22054         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22055         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22056         declared by eglibc 2.11.2.
22057         * lib/stdio.in.h: Likewise.
22058
22059 2011-01-31  Eric Blake  <eblake@redhat.com>
22060
22061         ignore-value: add missing test dependency
22062         * tests/test-ignore-value.c: Revert previous change; stdio.h
22063         provides off_t.
22064         * modules/ignore-value-tests (Depends-on): Add missing dependency.
22065
22066 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
22067
22068         mktime: clarify long_int width checking
22069         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
22070         the top level, to make it clearer that the assumption about
22071         long_int width is being checked.  See
22072         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
22073
22074 2011-01-30  Simon Josefsson  <simon@josefsson.org>
22075
22076         ignore-value: Fix self-test.
22077         * tests/test-ignore-value.c: Include sys/types.h for off_t.
22078
22079 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
22080
22081         TYPE_MAXIMUM: avoid theoretically undefined behavior
22082         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
22083         negative number, which the C Standard says has undefined behavior.
22084         In practice this is not a problem, but might as well do it by the book.
22085         Reported by Rich Felker and Eric Blake; see
22086         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
22087         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
22088         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22089         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22090         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
22091         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22092         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
22093
22094         mktime: #undef mktime before #defining it
22095         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
22096
22097         mktime: systematically normalize tm_isdst comparisons
22098         * lib/mktime.c (isdst_differ): New function.
22099         (__mktime_internal): Use it systematically for all isdst comparisons.
22100         This completes the fix for libc BZ #6723, and removes the need for
22101         normalizing tm_isdst.  See
22102         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
22103         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
22104
22105         mktime: fix some integer overflow issues and sidestep the rest
22106
22107         This was prompted by a bug report by Benjamin Lindner for MinGW
22108         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
22109         His bug is due to signed integer overflow (0 - INT_MIN), and I
22110         I scanned through mktime.c looking for other integer overflow
22111         problems, fixing all the bugs I found.
22112
22113         Although the C Standard says the resulting code is still not safe
22114         in the presence of integer overflow, in practice it should be good
22115         enough for all real-world two's-complement implementations, except
22116         for debugging environments that deliberately trap on integer
22117         overflow (e.g., gcc -ftrapv).
22118
22119         * lib/mktime.c (WRAPV): New macro.
22120         (SHR): Also check that long_int and time_t shift right in the
22121         usual way, before using the fast-but-unportable method.
22122         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
22123         used.  The code already assumed two's complement, so there's
22124         no need to test for alternatives.  All uses removed.
22125         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
22126         the C standard.  Problem reported by Rich Felker in
22127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
22128         (twos_complement_arithmetic): Also check long_int and time_t.
22129         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
22130         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
22131         (__mktime_internal): Avoid integer overflow with unary subtraction
22132         in two instances where -1 - X is an adequate replacement for -X,
22133         since the calculations are approximate.
22134
22135 2011-01-29  Eric Blake  <eblake@redhat.com>
22136
22137         mktime: avoid infinite loop
22138         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
22139         type; behavior is still undefined but portable to all known targets.
22140         Reported by Rich Felker.
22141
22142 2011-01-29  Simon Josefsson  <simon@josefsson.org>
22143
22144         rename, unlink, same-inode: Relicense.
22145         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
22146         * modules/unlink (License): Likewise.
22147         * modules/same-inode (License): Likewise.
22148
22149 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
22150
22151         mktime: avoid problems on NetBSD 5 / i386
22152         * lib/mktime.c (long_int): New type.  This works around a problem
22153         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
22154         but time_t is 64 bits, and where I expect the existing code is
22155         wrong in some cases.
22156         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
22157         (ydhms_diff): Bring back the compile-time check for wide-enough
22158         year and yday.
22159
22160         mktime: fix misspelling in comment
22161         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
22162         This merges all recent glibc changes of importance.
22163
22164 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22165
22166         move-if-change: cope with concurrent mv of identical file.
22167         * build-aux/move-if-change (CMPPROG): Accept environment
22168         variable as an override for `cmp'.
22169         (usage): Document CMPPROG.
22170         Adjust comparison to drop stdout.  Cope with failure of mv if
22171         the target file exists and is identical to the source, for
22172         parallel builds.
22173         Report from H.J. Lu against binutils in PR binutils/12283.
22174
22175 2011-01-28  Bruce Korb  <bkorb@gnu.org>
22176
22177         * users.txt: Mention sharutils.
22178
22179 2011-01-28  Simon Josefsson  <simon@josefsson.org>
22180
22181         * users.txt: Mention OATH Toolkit.
22182
22183 2011-01-27  Bruno Haible  <bruno@clisp.org>
22184
22185         Prepare for supporting FreeBSD 10.
22186         * build-aux/config.libpath: Remove handling of freebsd1*.
22187
22188 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
22189
22190         Prepare for supporting FreeBSD 10.
22191         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
22192         match FreeBSD 10.0.
22193
22194 2011-01-27  Bruno Haible  <bruno@clisp.org>
22195
22196         vma-iter, get-rusage-as: Add OpenBSD support.
22197         * modules/vma-iter (configure.ac): Test for mquery.
22198         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
22199         * lib/vma-iter.c: Include <sys/mman.h>.
22200         (vma_iterate): Add an implementation based on mquery().
22201         * lib/resource-ext.h (get_rusage_as): Update comments.
22202         * lib/get-rusage-as.c: Likewise.
22203         * lib/get-rusage-data.c: Likewise.
22204
22205 2011-01-26  Karl Berry  <karl@gnu.org>
22206
22207         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
22208         variables to make it easier to override the makeinfo program used.
22209
22210 2011-01-26  Eric Blake  <eblake@redhat.com>
22211
22212         fcntl: work around Haiku F_DUPFD bugs
22213         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
22214         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
22215         cloexec bit on duplication.
22216         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
22217
22218 2011-01-26  Bruno Haible  <bruno@clisp.org>
22219
22220         Enable memory leak tests on AIX.
22221         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
22222         * tests/test-fprintf-posix3.c (main): Likewise.
22223
22224 2011-01-26  Bruno Haible  <bruno@clisp.org>
22225
22226         Tests for module 'get-rusage-data'.
22227         * modules/get-rusage-data-tests: New file.
22228         * tests/test-get-rusage-data.c: New file.
22229
22230         New module 'get-rusage-data'.
22231         * lib/resource-ext.h (get_rusage_data): New declaration.
22232         * lib/get-rusage-data.c: New file.
22233         * modules/get-rusage-data: New file.
22234
22235 2011-01-25  Bruno Haible  <bruno@clisp.org>
22236
22237         get-rusage-as: Allow for easier testing.
22238         * lib/resource-ext.h (get_rusage_as): Add comment.
22239         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
22240         (main): New function for interactive testing.
22241
22242 2011-01-25  Bruno Haible  <bruno@clisp.org>
22243
22244         vma-iter: Treat Haiku like BeOS.
22245         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
22246         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
22247
22248 2011-01-25  Eric Blake  <eblake@redhat.com>
22249
22250         c-stack: fix regression on cygwin when libsigsegv is present
22251         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
22252
22253 2011-01-24  Bruno Haible  <bruno@clisp.org>
22254
22255         vma-iter: Avoid empty intervals.
22256         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
22257         on an empty interval.
22258
22259 2011-01-24  Jim Meyering  <meyering@redhat.com>
22260
22261         u64: remove unnecessary #include
22262         * lib/u64.h: Don't include <stddef.h>.  It was not used.
22263
22264 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22265
22266         Allow the user to avoid the HAVE_RAW_DECL_* macros.
22267         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
22268
22269 2011-01-23  Bruno Haible  <bruno@clisp.org>
22270
22271         New module 'vma-iter'.
22272         * lib/vma-iter.h: New file.
22273         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
22274         * modules/vma-iter: New file.
22275         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
22276         for get_rusage_as_via_iterator.
22277         (vma_iterate_callback): New function.
22278         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
22279         * modules/get-rusage-as (Depends-on): Add vma-iter.
22280
22281 2011-01-23  Bruno Haible  <bruno@clisp.org>
22282
22283         uninorm: Tweak includes.
22284         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
22285         Reported by Jim Meyering.
22286
22287 2011-01-23  Bruno Haible  <bruno@clisp.org>
22288
22289         get-rusage-as: Improve on NetBSD.
22290         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
22291         /proc, like on FreeBSD.
22292
22293 2011-01-23  Jim Meyering  <meyering@redhat.com>
22294
22295         xreadlink.h: remove unnecessary #include
22296         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
22297
22298         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
22299         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
22300
22301 2011-01-23  Bruno Haible  <bruno@clisp.org>
22302
22303         get-rusage-as: Fix bug.
22304         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
22305         original limit when aborting the first loop.
22306
22307 2011-01-23  Bruno Haible  <bruno@clisp.org>
22308
22309         wctype: Ensure valid C syntax.
22310         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
22311         unconditionally, instead of gl_NEXT_HEADERS conditionally.
22312
22313 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
22314
22315         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
22316         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
22317         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
22318         as they are needed only for configure's test case.
22319         This removes two unnecessary symbols from config.h.
22320
22321         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
22322         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
22323         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
22324         AC_CHECK_HEADERS_ONCE on a header that we also invoke
22325         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
22326         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
22327         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
22328         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22329         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22330         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22331         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22332         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22333         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22334         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22335         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22336         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22337         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22338         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22339
22340 2011-01-21  Eric Blake  <eblake@redhat.com>
22341
22342         maintainer-makefile: work with older git for submodule check
22343         * top/maint.mk (public-submodule-commit): Rewrite to avoid
22344         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
22345         Reported by Matthias Bolte.
22346
22347         bootstrap: minor portability fixes
22348         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
22349         (usage): Omit leading capital and trailing . on help phrases, per
22350         GNU Coding Standards.
22351         (check_versions, top level): Prefix messages with script name.
22352
22353 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
22354
22355         bootstrap: support --no-git option
22356         * build-aux/bootstrap: Add --no-git option, to be used when
22357         --gnulib-srcdir points to the exact desired checkout.
22358
22359 2011-01-21  Eric Blake  <eblake@redhat.com>
22360
22361         strerror_r-posix: work with glibc 2.13
22362         * lib/strerror_r.c (strerror_r): Fix return type.
22363
22364 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22365             Bruno Haible  <bruno@clisp.org>
22366
22367         uN_strstr: New unit tests.
22368         * modules/unistr/u8-strstr-tests: New file.
22369         * modules/unistr/u16-strstr-tests: New file.
22370         * modules/unistr/u32-strstr-tests: New file.
22371         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
22372         * tests/unistr/test-u8-strstr.c: New file.
22373         * tests/unistr/test-u16-strstr.c: New file.
22374         * tests/unistr/test-u32-strstr.c: New file.
22375
22376 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22377             Bruno Haible  <bruno@clisp.org>
22378
22379         Make uN_strstr functions O(n) worst-case.
22380         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
22381         16-bit and 32-bit unit cases, use the unibyte algorithm from
22382         lib/mbsstr.c.
22383         * lib/unistr/u8-strstr.c: Include <string.h>.
22384         (UNIT_IS_UINT8_T): New macro.
22385         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
22386         (U_STRLEN, U_STRNLEN): New macros.
22387         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
22388         (U_STRLEN, U_STRNLEN): New macros.
22389         * modules/unistr/u8-strstr (Depends-on): Add strstr.
22390         (configure.ac): Update required libunistring version.
22391         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
22392         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
22393         malloca.
22394         (configure.ac): Update required libunistring version.
22395         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
22396         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
22397         malloca.
22398         (configure.ac): Update required libunistring version.
22399
22400 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22401             Bruno Haible  <bruno@clisp.org>
22402
22403         Prepare for faster uN_strstr functions.
22404         * lib/str-kmp.h: Support definable UNITs.
22405         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
22406         needle_len argument.
22407         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
22408         * lib/mbscasestr.c (mbscasestr): Likewise.
22409
22410 2011-01-21  Pádraig Brady <P@draigBrady.com>
22411
22412         malloca-tests: make faster by unsetting MALLOC_PERTURB_
22413         * tests/test-malloca.c (main): Unset the environment variable
22414         to greatly speed up the test.
22415         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
22416         * modules/malloca-tests: Depend on unsetenv.
22417
22418 2011-01-21  Pádraig Brady <P@draigBrady.com>
22419
22420         ignore-value: remove stdint dependency
22421         * lib/ignore-value.h: Remove <stdint.h>
22422         * modules/ignore-value: Remove stdint dependency.
22423
22424 2011-01-21  Jim Meyering  <meyering@redhat.com>
22425
22426         maint.mk: adjust variable name to be consistent with other gl_ vars
22427         * top/maint.mk (gl_public_submodule_commit): Rename the variable
22428         to be lower case.
22429
22430 2011-01-20  Jim Meyering  <meyering@redhat.com>
22431
22432         maint.mk: make "check" depend on public-submodule-commit by default
22433         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22434
22435 2011-01-20  Bruno Haible  <bruno@clisp.org>
22436
22437         mbfile, mbiter: Complete change from 2008-12-21.
22438         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22439         * m4/mbiter.m4 (gl_MBITER): Likewise.
22440
22441 2011-01-20  Jim Meyering  <meyering@redhat.com>
22442
22443         init.sh: insert space between each function name and "()"
22444         * tests/init.sh: Make it a little easier to see that a function's
22445         name is "warn_", and not "warn" when looking at the first part of
22446         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22447
22448 2011-01-20  Jim Meyering  <meyering@redhat.com>
22449
22450         mountlist: clean up code formatting
22451         * lib/mountlist.c (read_file_system_list): Split a long line,
22452         correct bracing style, use NULL in place of "(struct statfs *)0",
22453         don't parenthesize return value, add spaces around "=" and after
22454         ";-in-for-stmt".
22455
22456 2011-01-14  Markus Duft <mduft@gentoo.org>
22457
22458         mountlist: add support for Interix
22459         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22460         Apply statvfs to all entries of /dev/fs.
22461         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22462         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22463
22464 2011-01-20  Jim Meyering  <meyering@redhat.com>
22465
22466         maint.mk: improve the public-submodule-commit rule
22467         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22468         to suppress printing of its commands... unless V=1.
22469         Add git submodule's --quiet option to suppress printing of e.g.,
22470         "Entering gnulib" output.
22471         "cd" into $(srcdir) before running git submodule.
22472
22473 2011-01-20  Bruno Haible  <bruno@clisp.org>
22474
22475         include_next: Fix bug introduced on 2011-01-18.
22476         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22477         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22478         ac_cv_header_... variable if the second argument is not 'check'.
22479         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22480         gl_NEXT_HEADERS_INTERNAL.
22481
22482 2011-01-20  Bruno Haible  <bruno@clisp.org>
22483
22484         Allow the user to avoid the GNULIB_TEST_* macros.
22485         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22486         Suggested by Paul Eggert.
22487
22488 2011-01-14  Jim Meyering  <meyering@redhat.com>
22489
22490         bootstrap: avoid failure when there is no .gitmodules file
22491         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22492         has been assigned to, even when its value is the empty string.
22493         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22494         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22495         Reported by John W. Eaton <jwe@gnu.org>.
22496
22497 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22498
22499         assume <ctype.h>, ..., <time.h> exist
22500         For years gnulib has been assuming the existence of the headers
22501         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22502         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22503         them, since they don't appear to be needed.
22504         * README (Portability guidelines): Document this.
22505         * lib/flock.c: Assume <fcntl.h> exists.
22506         * lib/regex_internal.h: Assume <locale.h> exists.
22507         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22508         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22509         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22510         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22511         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22512         * m4/regex.m4 (gl_REGEX): Likewise.
22513         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22514         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22515         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22516         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22517         * tests/test-argp.c: Likewise.
22518         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22519
22520         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22521         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22522         AA_APPLE_UNIVERSAL_BUILD.  See
22523         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22524         * NEWS: Document this.
22525
22526 2011-01-19  Eric Blake  <eblake@redhat.com>
22527
22528         c-stack: assume stack overflow if SA_SIGINFO unsupported
22529         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22530         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22531         sigaction will work.
22532         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22533         behavior match Linux.
22534         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22535
22536         stdbool-tests: accommodate Haiku
22537         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22538
22539         binary-io: fix O_TEXT on Haiku
22540         * modules/binary-io (Depends-on): Add fcntl-h.
22541         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22542         than blindly undefining O_TEXT.
22543         Reported by Scott McCreary.
22544
22545 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22546
22547         include_next: do not check for standard headers like stddef.h
22548
22549         I found this problem when modifying Emacs to use gnulib.
22550         I noticed that it added HAVE_STDDEF_H to config.h, even though
22551         gnulib always assumes <stddef.h> exists as per README and this
22552         symbol is unnecessary.
22553         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22554         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22555         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22556         faster for headers like stddef.h that are known to exist.
22557         (gl_CHECK_NEXT_HEADERS): Use it.
22558         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22559         rather than gl_CHECK_NEXT_HEADERS.
22560         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22561         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22562
22563 2011-01-18  Eric Blake  <eblake@redhat.com>
22564
22565         ansi-c++-opt: skip C++ dependency style if C++ is unused
22566         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22567         tests when we know C++ compilation is not desired.
22568         Reported by Scott McCreary.
22569
22570 2011-01-18  Bruno Haible  <bruno@clisp.org>
22571
22572         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22573         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22574         (main): Perform test also when getrlimit and setrlimit don't exist or
22575         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22576         limiting the address space size using setrlimit, compare the address
22577         space size before and after the the test.
22578         * tests/test-dprintf-posix2.c: Likewise.
22579         * tests/test-fprintf-posix3.sh: Update skip messages.
22580         * tests/test-dprintf-posix2.sh: Likewise.
22581         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22582         * modules/dprintf-posix-tests (Depends-on): Likewise.
22583         Reported by Bruce Korb <bkorb@gnu.org> and
22584         Gary V. Vaughan <gary@gnu.org>.
22585
22586 2011-01-18  Bruno Haible  <bruno@clisp.org>
22587
22588         get-rusage-as: Improvement for Cygwin.
22589         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22590         areas that are merely reserved.
22591
22592 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22593
22594         strftime: remove dependencies on multibyte modules
22595
22596         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22597         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22598         only if __osf__ is defined, and I suspect OSF doesn't need these
22599         other modules.  If my guess is wrong, we'll need to come up with a
22600         variant of strftime that doesn't need the multibyte modules.
22601
22602         I discovered this problem when attempting modify Emacs to use the
22603         strftime module.  With the previous gnulib, this caused Emacs to
22604         need 31 new files, ranging from lib/config.charset to
22605         m4/wint_t.m4.  This was overkill and I expect would be offputting
22606         to the Emacs maintainers.  After this change, only 6 new files are
22607         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
22608         stdbool.m4, and tm_gmtoff.m4.
22609
22610         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
22611         Suggested by Bruno Haible in
22612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
22613         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
22614         and do not check for wchar.h.
22615         * modules/strftime (Files): Remove m4/mbstate_t.m4.
22616         (Depends-on): Remove mbrlen, mbsinit, wchar.
22617
22618 2011-01-18  Bruno Haible  <bruno@clisp.org>
22619
22620         Tests for module 'get-rusage-as'.
22621         * modules/get-rusage-as-tests: New file.
22622         * tests/test-get-rusage-as.c: New file.
22623
22624         New module 'get-rusage-as'.
22625         * modules/get-rusage-as: New file.
22626         * lib/resource-ext.h: New file.
22627         * lib/get-rusage-as.c: New file.
22628
22629 2011-01-17  Eric Blake  <eblake@redhat.com>
22630
22631         sigaction: relax license from LGPLv3+ to LGPLv2+
22632         * modules/sigaction (License): Relax to LGPLv2+.
22633
22634 2011-01-14  Bruno Haible  <bruno@clisp.org>
22635
22636         filemode: Make function declarations usable in C++ mode.
22637         * lib/filemode.h: Enclose function declarations in extern "C" block.
22638         Reported by John W. Eaton <jwe@gnu.org>.
22639
22640 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
22641
22642         save-cwd: no longer include "xgetcwd.h"
22643         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22644         This avoids a compilation failure in projects that use save-cwd
22645         without also using the xgetcwd module.
22646
22647 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22648
22649         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22650         This is so that a program like Emacs, which needs only dtoastr,
22651         does not have to bother with distributing and compiling ftoastr
22652         and ldtoastr.
22653         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22654         * modules/dtoastr, modules/ldtoastr: New files.
22655         * modules/ftoastr: Now works just for 'float'.
22656         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22657         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22658         dtoastr.c, ldtoastr.c.
22659
22660 2011-01-11  Jim Meyering  <meyering@redhat.com>
22661
22662         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
22663         There is no need to work around the lack of the fchdir function,
22664         since gnulib can now provide a replacement when required.
22665         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
22666         * modules/save-cwd (Depends-on): Add fchdir.
22667
22668 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22669
22670         openat, save-cwd: avoid xmalloc
22671
22672         This removes a direct (but undocumented) dependency of openat on
22673         xalloc, along with an indirect dependency via save-cwd.  It also
22674         removes a dependency of save-cwd on xgetcwd, and thereby
22675         indirectly on xalloc.  This change causes the openat substitute
22676         to fall back on save_cwd when memory is tight, and for save_cwd to
22677         fail instead of dying when memory is tight, but that's good enough.
22678         Problem and initial idea for fix reported by Bastien Roucaries in
22679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
22680
22681         * lib/openat-proc.c: Include stdlib.h (for malloc), not
22682         xalloc.h (for xmalloc).
22683         (openat_proc_name): Use malloc, not xmalloc.
22684         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
22685         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
22686
22687         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
22688         This avoids heap allocation for file names whose lengths are in
22689         the range 512..1023, with the upper bound increasing to at most
22690         4031 depending on the platform's PATH_MAX.  (We do not want
22691         pathmax.h here as it might supply a non-constant PATH_MAX.)
22692         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
22693         Perhaps they should be moved to malloca.h?
22694         (OPENAT_BUFFER_SIZE): Use them.
22695
22696 2011-01-10  Bruno Haible  <bruno@clisp.org>
22697
22698         doc: Update users.txt.
22699         * users.txt: Add recutils.
22700
22701 2011-01-09  Karl Berry  <karl@gnu.org>
22702
22703         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
22704
22705         * doc/configmake.texi: New file.
22706         * doc/gnulib.texi: Include it.
22707         * modules/configmake: Move documentation from here.
22708
22709 2011-01-09  Bruno Haible  <bruno@clisp.org>
22710
22711         Update to Unicode 6.0.0.
22712         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
22713         (get_lbp): Update for Unicode 6.0.0.
22714         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
22715         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
22716         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
22717         U+11001, U+11038..U+11046. Remove U+06DE.
22718         (uc_width): Fix bounds of planes.
22719         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22720         lib/uniwidth/width.c.
22721         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
22722         trailing whitespace removed.
22723         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
22724         without comments, but with the original copyright notice.
22725         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
22726         * lib/unicase/ignorable.h: Likewise.
22727         * lib/unicase/tocasefold.h: Likewise.
22728         * lib/unicase/tolower.h: Likewise.
22729         * lib/unicase/totitle.h: Likewise.
22730         * lib/unicase/toupper.h: Likewise.
22731         * lib/unictype/bidi_of.h: Likewise.
22732         * lib/unictype/blocks.h: Likewise.
22733         * lib/unictype/categ_C.h: Likewise.
22734         * lib/unictype/categ_Cn.h: Likewise.
22735         * lib/unictype/categ_L.h: Likewise.
22736         * lib/unictype/categ_Ll.h: Likewise.
22737         * lib/unictype/categ_Lm.h: Likewise.
22738         * lib/unictype/categ_Lo.h: Likewise.
22739         * lib/unictype/categ_Lu.h: Likewise.
22740         * lib/unictype/categ_M.h: Likewise.
22741         * lib/unictype/categ_Mc.h: Likewise.
22742         * lib/unictype/categ_Me.h: Likewise.
22743         * lib/unictype/categ_Mn.h: Likewise.
22744         * lib/unictype/categ_N.h: Likewise.
22745         * lib/unictype/categ_Nd.h: Likewise.
22746         * lib/unictype/categ_No.h: Likewise.
22747         * lib/unictype/categ_P.h: Likewise.
22748         * lib/unictype/categ_Po.h: Likewise.
22749         * lib/unictype/categ_S.h: Likewise.
22750         * lib/unictype/categ_Sc.h: Likewise.
22751         * lib/unictype/categ_Sk.h: Likewise.
22752         * lib/unictype/categ_Sm.h: Likewise.
22753         * lib/unictype/categ_So.h: Likewise.
22754         * lib/unictype/categ_of.h: Likewise.
22755         * lib/unictype/combining.h: Likewise.
22756         * lib/unictype/ctype_alnum.h: Likewise.
22757         * lib/unictype/ctype_alpha.h: Likewise.
22758         * lib/unictype/ctype_graph.h: Likewise.
22759         * lib/unictype/ctype_lower.h: Likewise.
22760         * lib/unictype/ctype_print.h: Likewise.
22761         * lib/unictype/ctype_punct.h: Likewise.
22762         * lib/unictype/ctype_upper.h: Likewise.
22763         * lib/unictype/decdigit.h: Likewise.
22764         * lib/unictype/digit.h: Likewise.
22765         * lib/unictype/numeric.h: Likewise.
22766         * lib/unictype/pr_alphabetic.h: Likewise.
22767         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22768         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22769         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22770         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22771         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22772         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22773         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22774         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22775         * lib/unictype/pr_case_ignorable.h: Likewise.
22776         * lib/unictype/pr_cased.h: Likewise.
22777         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
22778         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
22779         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
22780         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
22781         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
22782         * lib/unictype/pr_combining.h: Likewise.
22783         * lib/unictype/pr_composite.h: Likewise.
22784         * lib/unictype/pr_currency_symbol.h: Likewise.
22785         * lib/unictype/pr_decimal_digit.h: Likewise.
22786         * lib/unictype/pr_deprecated.h: Likewise.
22787         * lib/unictype/pr_format_control.h: Likewise.
22788         * lib/unictype/pr_grapheme_base.h: Likewise.
22789         * lib/unictype/pr_grapheme_extend.h: Likewise.
22790         * lib/unictype/pr_grapheme_link.h: Likewise.
22791         * lib/unictype/pr_id_continue.h: Likewise.
22792         * lib/unictype/pr_id_start.h: Likewise.
22793         * lib/unictype/pr_ideographic.h: Likewise.
22794         * lib/unictype/pr_lowercase.h: Likewise.
22795         * lib/unictype/pr_math.h: Likewise.
22796         * lib/unictype/pr_numeric.h: Likewise.
22797         * lib/unictype/pr_other_alphabetic.h: Likewise.
22798         * lib/unictype/pr_other_id_continue.h: Likewise.
22799         * lib/unictype/pr_other_math.h: Likewise.
22800         * lib/unictype/pr_punctuation.h: Likewise.
22801         * lib/unictype/pr_sentence_terminal.h: Likewise.
22802         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22803         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22804         * lib/unictype/pr_unified_ideograph.h: Likewise.
22805         * lib/unictype/pr_uppercase.h: Likewise.
22806         * lib/unictype/pr_xid_continue.h: Likewise.
22807         * lib/unictype/pr_xid_start.h: Likewise.
22808         * lib/unictype/scripts.h: Likewise.
22809         * lib/unictype/scripts_byname.gperf: Likewise.
22810         * lib/unictype/sy_java_ident.h: Likewise.
22811         * lib/unigbrk/gbrkprop.h: Likewise.
22812         * lib/unilbrk/lbrkprop1.h: Likewise.
22813         * lib/unilbrk/lbrkprop2.h: Likewise.
22814         * lib/uninorm/decomposition-table2.h: Likewise.
22815         * lib/uniwbrk/wbrkprop.h: Likewise.
22816         * tests/unicase/test-cased.c: Likewise.
22817         * tests/unicase/test-ignorable.c: Likewise.
22818         * tests/unicase/test-uc_tolower.c: Likewise.
22819         * tests/unicase/test-uc_totitle.c: Likewise.
22820         * tests/unicase/test-uc_toupper.c: Likewise.
22821         * tests/unictype/test-categ_C.c: Likewise.
22822         * tests/unictype/test-categ_Cn.c: Likewise.
22823         * tests/unictype/test-categ_L.c: Likewise.
22824         * tests/unictype/test-categ_Ll.c: Likewise.
22825         * tests/unictype/test-categ_Lm.c: Likewise.
22826         * tests/unictype/test-categ_Lo.c: Likewise.
22827         * tests/unictype/test-categ_Lu.c: Likewise.
22828         * tests/unictype/test-categ_M.c: Likewise.
22829         * tests/unictype/test-categ_Mc.c: Likewise.
22830         * tests/unictype/test-categ_Me.c: Likewise.
22831         * tests/unictype/test-categ_Mn.c: Likewise.
22832         * tests/unictype/test-categ_N.c: Likewise.
22833         * tests/unictype/test-categ_Nd.c: Likewise.
22834         * tests/unictype/test-categ_No.c: Likewise.
22835         * tests/unictype/test-categ_P.c: Likewise.
22836         * tests/unictype/test-categ_Po.c: Likewise.
22837         * tests/unictype/test-categ_S.c: Likewise.
22838         * tests/unictype/test-categ_Sc.c: Likewise.
22839         * tests/unictype/test-categ_Sk.c: Likewise.
22840         * tests/unictype/test-categ_Sm.c: Likewise.
22841         * tests/unictype/test-categ_So.c: Likewise.
22842         * tests/unictype/test-ctype_alnum.c: Likewise.
22843         * tests/unictype/test-ctype_alpha.c: Likewise.
22844         * tests/unictype/test-ctype_graph.c: Likewise.
22845         * tests/unictype/test-ctype_lower.c: Likewise.
22846         * tests/unictype/test-ctype_print.c: Likewise.
22847         * tests/unictype/test-ctype_punct.c: Likewise.
22848         * tests/unictype/test-ctype_upper.c: Likewise.
22849         * tests/unictype/test-decdigit.h: Likewise.
22850         * tests/unictype/test-digit.h: Likewise.
22851         * tests/unictype/test-numeric.h: Likewise.
22852         * tests/unictype/test-pr_alphabetic.c: Likewise.
22853         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22854         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
22855         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
22856         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22857         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22858         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22859         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22860         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22861         * tests/unictype/test-pr_case_ignorable.c: Likewise.
22862         * tests/unictype/test-pr_cased.c: Likewise.
22863         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
22864         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
22865         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
22866         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
22867         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
22868         * tests/unictype/test-pr_combining.c: Likewise.
22869         * tests/unictype/test-pr_composite.c: Likewise.
22870         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22871         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22872         * tests/unictype/test-pr_deprecated.c: Likewise.
22873         * tests/unictype/test-pr_format_control.c: Likewise.
22874         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22875         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22876         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22877         * tests/unictype/test-pr_id_continue.c: Likewise.
22878         * tests/unictype/test-pr_id_start.c: Likewise.
22879         * tests/unictype/test-pr_ideographic.c: Likewise.
22880         * tests/unictype/test-pr_lowercase.c: Likewise.
22881         * tests/unictype/test-pr_math.c: Likewise.
22882         * tests/unictype/test-pr_numeric.c: Likewise.
22883         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22884         * tests/unictype/test-pr_other_id_continue.c: Likewise.
22885         * tests/unictype/test-pr_other_math.c: Likewise.
22886         * tests/unictype/test-pr_punctuation.c: Likewise.
22887         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22888         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22889         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22890         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22891         * tests/unictype/test-pr_uppercase.c: Likewise.
22892         * tests/unictype/test-pr_xid_continue.c: Likewise.
22893         * tests/unictype/test-pr_xid_start.c: Likewise.
22894         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22895         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22896         changes.
22897         * lib/unictype/categ_Cc.h: Likewise.
22898         * lib/unictype/categ_Cf.h: Likewise.
22899         * lib/unictype/categ_Co.h: Likewise.
22900         * lib/unictype/categ_Cs.h: Likewise.
22901         * lib/unictype/categ_Lt.h: Likewise.
22902         * lib/unictype/categ_Nl.h: Likewise.
22903         * lib/unictype/categ_Pc.h: Likewise.
22904         * lib/unictype/categ_Pd.h: Likewise.
22905         * lib/unictype/categ_Pe.h: Likewise.
22906         * lib/unictype/categ_Pf.h: Likewise.
22907         * lib/unictype/categ_Pi.h: Likewise.
22908         * lib/unictype/categ_Ps.h: Likewise.
22909         * lib/unictype/categ_Z.h: Likewise.
22910         * lib/unictype/categ_Zl.h: Likewise.
22911         * lib/unictype/categ_Zp.h: Likewise.
22912         * lib/unictype/categ_Zs.h: Likewise.
22913         * lib/unictype/ctype_blank.h: Likewise.
22914         * lib/unictype/ctype_cntrl.h: Likewise.
22915         * lib/unictype/ctype_digit.h: Likewise.
22916         * lib/unictype/ctype_space.h: Likewise.
22917         * lib/unictype/ctype_xdigit.h: Likewise.
22918         * lib/unictype/mirror.h: Likewise.
22919         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22920         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22921         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22922         * lib/unictype/pr_bidi_control.h: Likewise.
22923         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22924         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22925         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22926         * lib/unictype/pr_bidi_pdf.h: Likewise.
22927         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22928         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22929         * lib/unictype/pr_dash.h: Likewise.
22930         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22931         * lib/unictype/pr_diacritic.h: Likewise.
22932         * lib/unictype/pr_extender.h: Likewise.
22933         * lib/unictype/pr_hex_digit.h: Likewise.
22934         * lib/unictype/pr_hyphen.h: Likewise.
22935         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22936         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22937         * lib/unictype/pr_ignorable_control.h: Likewise.
22938         * lib/unictype/pr_iso_control.h: Likewise.
22939         * lib/unictype/pr_join_control.h: Likewise.
22940         * lib/unictype/pr_left_of_pair.h: Likewise.
22941         * lib/unictype/pr_line_separator.h: Likewise.
22942         * lib/unictype/pr_logical_order_exception.h: Likewise.
22943         * lib/unictype/pr_non_break.h: Likewise.
22944         * lib/unictype/pr_not_a_character.h: Likewise.
22945         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22946         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22947         * lib/unictype/pr_other_id_start.h: Likewise.
22948         * lib/unictype/pr_other_lowercase.h: Likewise.
22949         * lib/unictype/pr_other_uppercase.h: Likewise.
22950         * lib/unictype/pr_paired_punctuation.h: Likewise.
22951         * lib/unictype/pr_paragraph_separator.h: Likewise.
22952         * lib/unictype/pr_pattern_syntax.h: Likewise.
22953         * lib/unictype/pr_pattern_white_space.h: Likewise.
22954         * lib/unictype/pr_private_use.h: Likewise.
22955         * lib/unictype/pr_quotation_mark.h: Likewise.
22956         * lib/unictype/pr_radical.h: Likewise.
22957         * lib/unictype/pr_soft_dotted.h: Likewise.
22958         * lib/unictype/pr_space.h: Likewise.
22959         * lib/unictype/pr_titlecase.h: Likewise.
22960         * lib/unictype/pr_variation_selector.h: Likewise.
22961         * lib/unictype/pr_white_space.h: Likewise.
22962         * lib/unictype/pr_zero_width.h: Likewise.
22963         * lib/unictype/sy_c_ident.h: Likewise.
22964         * lib/unictype/sy_c_whitespace.h: Likewise.
22965         * lib/unictype/sy_java_whitespace.h: Likewise.
22966         * lib/uninorm/composition-table.gperf: Likewise.
22967         * lib/uninorm/decomposition-table1.h: Likewise.
22968         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
22969         LB8.
22970         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22971         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22972         * modules/unictype/*: Bump version number of expected libunistring
22973         version.
22974
22975 2011-01-09  Bruno Haible  <bruno@clisp.org>
22976
22977         Update to Unicode 5.2.0.
22978         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
22979         trailing whitespace removed.
22980
22981 2011-01-09  Bruno Haible  <bruno@clisp.org>
22982
22983         New Unicode character properties, from Unicode 5.2.0.
22984         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
22985         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
22986         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
22987         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
22988         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
22989         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
22990         uc_is_property_cased, uc_is_property_case_ignorable,
22991         uc_is_property_changes_when_lowercased,
22992         uc_is_property_changes_when_uppercased,
22993         uc_is_property_changes_when_titlecased,
22994         uc_is_property_changes_when_casefolded,
22995         uc_is_property_changes_when_casemapped): New declarations.
22996         * lib/unictype/pr_byname.gperf: Add the new properties.
22997         * modules/unictype/property-byname (Depends-on): Depend on the new
22998         properties modules.
22999         * modules/unictype/property-all (Depends-on): Likewise.
23000         * MODULES.html.sh (Unicode string functions): Add
23001         unictype/property-case-ignorable, unictype/property-cased,
23002         unictype/property-changes-when-casefolded,
23003         unictype/property-changes-when-casemapped,
23004         unictype/property-changes-when-lowercased,
23005         unictype/property-changes-when-titlecased,
23006         unictype/property-changes-when-uppercased.
23007
23008         New module 'unictype/property-changes-when-casemapped'.
23009         * modules/unictype/property-changes-when-casemapped: New file.
23010         * lib/unictype/pr_changes_when_casemapped.c: New file.
23011         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23012         generated by gen-uni-tables.
23013         * modules/unictype/property-changes-when-casemapped-tests: New file.
23014         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23015         automatically generated by gen-uni-tables.
23016
23017         New module 'unictype/property-changes-when-casefolded'.
23018         * modules/unictype/property-changes-when-casefolded: New file.
23019         * lib/unictype/pr_changes_when_casefolded.c: New file.
23020         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23021         generated by gen-uni-tables.
23022         * modules/unictype/property-changes-when-casefolded-tests: New file.
23023         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23024         automatically generated by gen-uni-tables.
23025
23026         New module 'unictype/property-changes-when-titlecased'.
23027         * modules/unictype/property-changes-when-titlecased: New file.
23028         * lib/unictype/pr_changes_when_titlecased.c: New file.
23029         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23030         generated by gen-uni-tables.
23031         * modules/unictype/property-changes-when-titlecased-tests: New file.
23032         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23033         automatically generated by gen-uni-tables.
23034
23035         New module 'unictype/property-changes-when-uppercased'.
23036         * modules/unictype/property-changes-when-uppercased: New file.
23037         * lib/unictype/pr_changes_when_uppercased.c: New file.
23038         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23039         generated by gen-uni-tables.
23040         * modules/unictype/property-changes-when-uppercased-tests: New file.
23041         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23042         automatically generated by gen-uni-tables.
23043
23044         New module 'unictype/property-changes-when-lowercased'.
23045         * modules/unictype/property-changes-when-lowercased: New file.
23046         * lib/unictype/pr_changes_when_lowercased.c: New file.
23047         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23048         generated by gen-uni-tables.
23049         * modules/unictype/property-changes-when-lowercased-tests: New file.
23050         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23051         automatically generated by gen-uni-tables.
23052
23053         New module 'unictype/property-case-ignorable'.
23054         * modules/unictype/property-case-ignorable: New file.
23055         * lib/unictype/pr_case_ignorable.c: New file.
23056         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23057         by gen-uni-tables.
23058         * modules/unictype/property-case-ignorable-tests: New file.
23059         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23060         generated by gen-uni-tables.
23061
23062         New module 'unictype/property-cased'.
23063         * modules/unictype/property-cased: New file.
23064         * lib/unictype/pr_cased.c: New file.
23065         * lib/unictype/pr_cased.h: New file, automatically generated by
23066         gen-uni-tables.
23067         * modules/unictype/property-cased-tests: New file.
23068         * tests/unictype/test-pr_cased.c: New file, automatically generated by
23069         gen-uni-tables.
23070
23071 2011-01-09  Bruno Haible  <bruno@clisp.org>
23072
23073         Update to Unicode 5.2.0.
23074         * lib/gen-uni-tables.c (output_predicate, output_category,
23075         output_combclass, output_bidi_category, output_decimal_digit_test,
23076         output_decimal_digit, output_digit_test, output_digit,
23077         output_numeric_test, output_numeric, output_mirror, output_scripts,
23078         output_scripts_byname, output_blocks, output_ident_category): Fix
23079         comment header.
23080         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
23081         get_wbp.
23082         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
23083         items.
23084         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
23085         Changes_When_Lowercased, Changes_When_Uppercased,
23086         Changes_When_Titlecased, Changes_When_Casefolded,
23087         Changes_When_Casemapped.
23088         (is_property_alphabetic, is_property_default_ignorable_code_point):
23089         Update for Unicode 5.2.0.
23090         (is_property_cased, is_property_case_ignorable,
23091         is_property_changes_when_lowercased,
23092         is_property_changes_when_uppercased,
23093         is_property_changes_when_titlecased,
23094         is_property_changes_when_casefolded,
23095         is_property_changes_when_casemapped): New functions.
23096         (output_properties): Output also the properties cased, case_ignorable,
23097         changes_when_lowercased, changes_when_uppercased,
23098         changes_when_titlecased, changes_when_casefolded,
23099         changes_when_casemapped.
23100         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
23101         Unicode TR#11 revision 17 -> 19.
23102         (LBP_CP): New enumeration value.
23103         (LBP_*): Adjust values accordingly.
23104         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23105         TR#14 revision 22 -> 24.
23106         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
23107         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
23108         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23109         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
23110         is_WBP_MIDLETTER.
23111         (output_composition_tables): Allow for 24 bits instead of 16 bits in
23112         the code1 and code2 of each composition rule.
23113         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
23114         * lib/unicase/ignorable.h: Likewise.
23115         * lib/unicase/tocasefold.h: Likewise.
23116         * lib/unicase/tolower.h: Likewise.
23117         * lib/unicase/totitle.h: Likewise.
23118         * lib/unicase/toupper.h: Likewise.
23119         * lib/unictype/bidi_of.h: Likewise.
23120         * lib/unictype/blocks.h: Likewise.
23121         * lib/unictype/categ_C.h: Likewise.
23122         * lib/unictype/categ_Cf.h: Likewise.
23123         * lib/unictype/categ_Cn.h: Likewise.
23124         * lib/unictype/categ_L.h: Likewise.
23125         * lib/unictype/categ_Ll.h: Likewise.
23126         * lib/unictype/categ_Lm.h: Likewise.
23127         * lib/unictype/categ_Lo.h: Likewise.
23128         * lib/unictype/categ_Lu.h: Likewise.
23129         * lib/unictype/categ_M.h: Likewise.
23130         * lib/unictype/categ_Mc.h: Likewise.
23131         * lib/unictype/categ_Mn.h: Likewise.
23132         * lib/unictype/categ_N.h: Likewise.
23133         * lib/unictype/categ_Nd.h: Likewise.
23134         * lib/unictype/categ_Nl.h: Likewise.
23135         * lib/unictype/categ_No.h: Likewise.
23136         * lib/unictype/categ_P.h: Likewise.
23137         * lib/unictype/categ_Pd.h: Likewise.
23138         * lib/unictype/categ_Po.h: Likewise.
23139         * lib/unictype/categ_S.h: Likewise.
23140         * lib/unictype/categ_Sc.h: Likewise.
23141         * lib/unictype/categ_So.h: Likewise.
23142         * lib/unictype/categ_of.h: Likewise.
23143         * lib/unictype/combining.h: Likewise.
23144         * lib/unictype/ctype_alnum.h: Likewise.
23145         * lib/unictype/ctype_alpha.h: Likewise.
23146         * lib/unictype/ctype_graph.h: Likewise.
23147         * lib/unictype/ctype_lower.h: Likewise.
23148         * lib/unictype/ctype_print.h: Likewise.
23149         * lib/unictype/ctype_punct.h: Likewise.
23150         * lib/unictype/ctype_upper.h: Likewise.
23151         * lib/unictype/decdigit.h: Likewise.
23152         * lib/unictype/digit.h: Likewise.
23153         * lib/unictype/numeric.h: Likewise.
23154         * lib/unictype/pr_alphabetic.h: Likewise.
23155         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23156         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23157         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23158         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23159         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23160         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23161         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23162         * lib/unictype/pr_combining.h: Likewise.
23163         * lib/unictype/pr_composite.h: Likewise.
23164         * lib/unictype/pr_currency_symbol.h: Likewise.
23165         * lib/unictype/pr_dash.h: Likewise.
23166         * lib/unictype/pr_decimal_digit.h: Likewise.
23167         * lib/unictype/pr_deprecated.h: Likewise.
23168         * lib/unictype/pr_diacritic.h: Likewise.
23169         * lib/unictype/pr_extender.h: Likewise.
23170         * lib/unictype/pr_grapheme_base.h: Likewise.
23171         * lib/unictype/pr_grapheme_extend.h: Likewise.
23172         * lib/unictype/pr_grapheme_link.h: Likewise.
23173         * lib/unictype/pr_id_continue.h: Likewise.
23174         * lib/unictype/pr_id_start.h: Likewise.
23175         * lib/unictype/pr_ideographic.h: Likewise.
23176         * lib/unictype/pr_ignorable_control.h: Likewise.
23177         * lib/unictype/pr_logical_order_exception.h: Likewise.
23178         * lib/unictype/pr_lowercase.h: Likewise.
23179         * lib/unictype/pr_numeric.h: Likewise.
23180         * lib/unictype/pr_other_alphabetic.h: Likewise.
23181         * lib/unictype/pr_punctuation.h: Likewise.
23182         * lib/unictype/pr_sentence_terminal.h: Likewise.
23183         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23184         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23185         * lib/unictype/pr_unified_ideograph.h: Likewise.
23186         * lib/unictype/pr_uppercase.h: Likewise.
23187         * lib/unictype/pr_xid_continue.h: Likewise.
23188         * lib/unictype/pr_xid_start.h: Likewise.
23189         * lib/unictype/pr_zero_width.h: Likewise.
23190         * lib/unictype/scripts.h: Likewise.
23191         * lib/unictype/scripts_byname.gperf: Likewise.
23192         * lib/unictype/sy_java_ident.h: Likewise.
23193         * lib/unigbrk/gbrkprop.h: Likewise.
23194         * lib/unilbrk/lbrkprop1.h: Likewise.
23195         * lib/unilbrk/lbrkprop2.h: Likewise.
23196         * lib/unilbrk/lbrktables.h: Likewise.
23197         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
23198         LBP_CP. Implement rule LB30.
23199         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
23200         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
23201         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
23202         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
23203         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
23204         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
23205         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
23206         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
23207         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
23208         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
23209         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
23210         bits instead of 16 bits in the code1 and code2 of each composition
23211         rule.
23212         (uc_composition): Update for Unicode 5.2.0.
23213         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
23214         * lib/uninorm/decomposition-table2.h: Likewise.
23215         * lib/uniwbrk/wbrkprop.h: Likewise.
23216         * tests/unicase/test-cased.c: Likewise.
23217         * tests/unicase/test-ignorable.c: Likewise.
23218         * tests/unicase/test-uc_tolower.c: Likewise.
23219         * tests/unicase/test-uc_totitle.c: Likewise.
23220         * tests/unicase/test-uc_toupper.c: Likewise.
23221         * tests/unictype/test-categ_C.c: Likewise.
23222         * tests/unictype/test-categ_Cf.c: Likewise.
23223         * tests/unictype/test-categ_Cn.c: Likewise.
23224         * tests/unictype/test-categ_L.c: Likewise.
23225         * tests/unictype/test-categ_Ll.c: Likewise.
23226         * tests/unictype/test-categ_Lm.c: Likewise.
23227         * tests/unictype/test-categ_Lo.c: Likewise.
23228         * tests/unictype/test-categ_Lu.c: Likewise.
23229         * tests/unictype/test-categ_M.c: Likewise.
23230         * tests/unictype/test-categ_Mc.c: Likewise.
23231         * tests/unictype/test-categ_Mn.c: Likewise.
23232         * tests/unictype/test-categ_N.c: Likewise.
23233         * tests/unictype/test-categ_Nd.c: Likewise.
23234         * tests/unictype/test-categ_Nl.c: Likewise.
23235         * tests/unictype/test-categ_No.c: Likewise.
23236         * tests/unictype/test-categ_P.c: Likewise.
23237         * tests/unictype/test-categ_Pd.c: Likewise.
23238         * tests/unictype/test-categ_Po.c: Likewise.
23239         * tests/unictype/test-categ_S.c: Likewise.
23240         * tests/unictype/test-categ_Sc.c: Likewise.
23241         * tests/unictype/test-categ_So.c: Likewise.
23242         * tests/unictype/test-ctype_alnum.c: Likewise.
23243         * tests/unictype/test-ctype_alpha.c: Likewise.
23244         * tests/unictype/test-ctype_graph.c: Likewise.
23245         * tests/unictype/test-ctype_lower.c: Likewise.
23246         * tests/unictype/test-ctype_print.c: Likewise.
23247         * tests/unictype/test-ctype_punct.c: Likewise.
23248         * tests/unictype/test-ctype_upper.c: Likewise.
23249         * tests/unictype/test-decdigit.h: Likewise.
23250         * tests/unictype/test-digit.h: Likewise.
23251         * tests/unictype/test-numeric.h: Likewise.
23252         * tests/unictype/test-pr_alphabetic.c: Likewise.
23253         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23254         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23255         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23256         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23257         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23258         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23259         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23260         * tests/unictype/test-pr_combining.c: Likewise.
23261         * tests/unictype/test-pr_composite.c: Likewise.
23262         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23263         * tests/unictype/test-pr_dash.c: Likewise.
23264         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23265         * tests/unictype/test-pr_deprecated.c: Likewise.
23266         * tests/unictype/test-pr_diacritic.c: Likewise.
23267         * tests/unictype/test-pr_extender.c: Likewise.
23268         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23269         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23270         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23271         * tests/unictype/test-pr_id_continue.c: Likewise.
23272         * tests/unictype/test-pr_id_start.c: Likewise.
23273         * tests/unictype/test-pr_ideographic.c: Likewise.
23274         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23275         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23276         * tests/unictype/test-pr_lowercase.c: Likewise.
23277         * tests/unictype/test-pr_numeric.c: Likewise.
23278         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23279         * tests/unictype/test-pr_punctuation.c: Likewise.
23280         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23281         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23282         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23283         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23284         * tests/unictype/test-pr_uppercase.c: Likewise.
23285         * tests/unictype/test-pr_xid_continue.c: Likewise.
23286         * tests/unictype/test-pr_xid_start.c: Likewise.
23287         * tests/unictype/test-pr_zero_width.c: Likewise.
23288         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23289         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
23290         changed behaviour: line breaking is now disallowed between a letter
23291         or '=' and '('.
23292         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23293         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23294         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
23295         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
23296         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23297         lib/uniwidth/width.c.
23298         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
23299         without comments, but with the original copyright notice.
23300         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23301         changes.
23302         * lib/unictype/categ_Cc.h: Likewise.
23303         * lib/unictype/categ_Co.h: Likewise.
23304         * lib/unictype/categ_Cs.h: Likewise.
23305         * lib/unictype/categ_Lt.h: Likewise.
23306         * lib/unictype/categ_Me.h: Likewise.
23307         * lib/unictype/categ_Pc.h: Likewise.
23308         * lib/unictype/categ_Pe.h: Likewise.
23309         * lib/unictype/categ_Pf.h: Likewise.
23310         * lib/unictype/categ_Pi.h: Likewise.
23311         * lib/unictype/categ_Ps.h: Likewise.
23312         * lib/unictype/categ_Sk.h: Likewise.
23313         * lib/unictype/categ_Sm.h: Likewise.
23314         * lib/unictype/categ_Z.h: Likewise.
23315         * lib/unictype/categ_Zl.h: Likewise.
23316         * lib/unictype/categ_Zp.h: Likewise.
23317         * lib/unictype/categ_Zs.h: Likewise.
23318         * lib/unictype/ctype_blank.h: Likewise.
23319         * lib/unictype/ctype_cntrl.h: Likewise.
23320         * lib/unictype/ctype_digit.h: Likewise.
23321         * lib/unictype/ctype_space.h: Likewise.
23322         * lib/unictype/ctype_xdigit.h: Likewise.
23323         * lib/unictype/mirror.h: Likewise.
23324         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23325         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23326         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23327         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23328         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23329         * lib/unictype/pr_bidi_control.h: Likewise.
23330         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23331         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23332         * lib/unictype/pr_bidi_pdf.h: Likewise.
23333         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23334         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23335         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23336         * lib/unictype/pr_format_control.h: Likewise.
23337         * lib/unictype/pr_hex_digit.h: Likewise.
23338         * lib/unictype/pr_hyphen.h: Likewise.
23339         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23340         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23341         * lib/unictype/pr_iso_control.h: Likewise.
23342         * lib/unictype/pr_join_control.h: Likewise.
23343         * lib/unictype/pr_left_of_pair.h: Likewise.
23344         * lib/unictype/pr_line_separator.h: Likewise.
23345         * lib/unictype/pr_math.h: Likewise.
23346         * lib/unictype/pr_non_break.h: Likewise.
23347         * lib/unictype/pr_not_a_character.h: Likewise.
23348         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23349         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23350         * lib/unictype/pr_other_id_continue.h: Likewise.
23351         * lib/unictype/pr_other_id_start.h: Likewise.
23352         * lib/unictype/pr_other_lowercase.h: Likewise.
23353         * lib/unictype/pr_other_math.h: Likewise.
23354         * lib/unictype/pr_other_uppercase.h: Likewise.
23355         * lib/unictype/pr_paired_punctuation.h: Likewise.
23356         * lib/unictype/pr_paragraph_separator.h: Likewise.
23357         * lib/unictype/pr_pattern_syntax.h: Likewise.
23358         * lib/unictype/pr_pattern_white_space.h: Likewise.
23359         * lib/unictype/pr_private_use.h: Likewise.
23360         * lib/unictype/pr_quotation_mark.h: Likewise.
23361         * lib/unictype/pr_radical.h: Likewise.
23362         * lib/unictype/pr_soft_dotted.h: Likewise.
23363         * lib/unictype/pr_space.h: Likewise.
23364         * lib/unictype/pr_titlecase.h: Likewise.
23365         * lib/unictype/pr_variation_selector.h: Likewise.
23366         * lib/unictype/pr_white_space.h: Likewise.
23367         * lib/unictype/sy_c_ident.h: Likewise.
23368         * lib/unictype/sy_c_whitespace.h: Likewise.
23369         * lib/unictype/sy_java_whitespace.h: Likewise.
23370         * modules/uni*/*: Bump version number of expected libunistring version.
23371         Reported by Simon Josefsson.
23372
23373 2011-01-09  Karl Heuer  <kwzh@gnu.org>
23374
23375         useless-if-before-free: fix typo in --help and make the internal,
23376         automatic version date update process work once again.
23377         --help output contained a NUL character instead of the
23378         backslash-zero that was intended.  Also, the "must lie within
23379         the first 8 lines" line is on line 9, and hence not getting
23380         automatically updated.
23381         * build-aux/useless-if-before-free: Fix the former by adding a
23382         backslash, and the latter by condensing the three lines of what-it-does
23383         to a single line, leaving one line of slack for the future.
23384
23385 2011-01-09  Bruno Haible  <bruno@clisp.org>
23386
23387         uniwidth/width: Fix width of U+1D173..U+1D17A.
23388         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
23389         symbolic_width, output_width_property_test): New functions.
23390         (main): Invoke output_nonspacing_property, output_width_property_test.
23391         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
23392         U+1D173..U+1D17A.
23393         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
23394         1.
23395         * modules/uniwidth/*: Bump version number of expected libunistring
23396         version.
23397         * modules/unilbrk/*: Likewise.
23398
23399 2011-01-08  Bruno Haible  <bruno@clisp.org>
23400
23401         uninorm tests: Preserve copyright of Unicode data file.
23402         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
23403         Mention modifications.
23404
23405 2011-01-08  Bruno Haible  <bruno@clisp.org>
23406
23407         gen-uni-tables: Prepare for Unicode 5.2.0.
23408         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
23409         (debug_output_lbp, output_lbp): Update.
23410
23411 2011-01-08  Bruno Haible  <bruno@clisp.org>
23412
23413         unilbrk: Clarify gen-uni-tables.c code.
23414         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
23415         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
23416         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
23417
23418 2011-01-07  Bruno Haible  <bruno@clisp.org>
23419
23420         strtod: Restore errno when successfully parsing Infinity or NaN.
23421         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
23422         restore the original errno.
23423
23424 2011-01-07  Bruno Haible  <bruno@clisp.org>
23425
23426         remove test: Avoid failure on HP-UX 11.
23427         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
23428
23429 2011-01-07  Bruno Haible  <bruno@clisp.org>
23430
23431         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23432         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23433         error code.
23434
23435 2011-01-07  Pádraig Brady <P@draigBrady.com>
23436
23437         ignore-value: fixup comments, and add Eric Blake
23438         as an author since he rewrote the macros.
23439         * lib/ignore-value.h (ignore_value):  State that
23440         we now support aggregates.  Also specify exactly
23441         when the GCC warn_unused_result feature was added.
23442
23443 2011-01-06  Eric Blake  <eblake@redhat.com>
23444
23445         ignore-value: support aggregate types
23446         * lib/ignore-value.h (ignore_value): Provide separate gcc
23447         definition.
23448         * modules/ignore-value-tests: New test module.
23449         * tests/test-ignore-value.c: New test.
23450
23451         maint.mk: improve sc_prohibit_strcmp regex
23452         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23453         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23454         definition of STRNEQ.
23455
23456         signal: work around Haiku issue with SIGBUS
23457         * lib/siglist.h: Add comment.
23458         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23459         strsignal's favoring of SIGSEGV.
23460         * tests/test-signal.c (main): Avoid test failure.
23461         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23462         Reported by Scott McCreary.
23463
23464         maint.mk: add pre-release check to ensure submodule commits are public
23465         * top/maint.mk (public-submodule-commit): New rule.
23466         (submodule-checks): New variable.
23467         (alpha beta stable): Depend on the variable.
23468
23469 2011-01-05  Pádraig Brady <P@draigBrady.com>
23470         and Jim Meyering  <meyering@redhat.com>
23471
23472         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23473         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23474         (ATTRIBUTE_DEPRECATED): Define.
23475         (_ignore_case): New function.
23476         (ignore_value): New macro, to replace the old function.
23477         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23478         * modules/ignore-value (Depends-on): Add stdint.
23479
23480 2011-01-04  Eric Blake  <eblake@redhat.com>
23481
23482         doc: regenerate INSTALL
23483         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23484         @firstparagraphindent support, now that autoconf dropped it.
23485         (INSTALL_PRELUDE): Reinstate old macro.
23486         * doc/install.texi: Resync from autoconf.
23487         * doc/INSTALL: Reflect recent autoconf update.
23488         * doc/INSTALL.ISO: Likewise.
23489         * doc/INSTALL.UTF-8: Likewise.
23490         Reported by Karl Berry.
23491
23492 2011-01-04  Bruce Korb  <address@hidden>
23493
23494         git-version-gen: avoid a sub-shell
23495         * build-aux/git-version-gen: Redirect stderr in `...` via
23496         "exec 2>...", rather than via an added sub-shell.
23497
23498 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23499
23500         git-version-gen: use (...) rather than sh -c '...'
23501         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23502         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23503
23504 2011-01-03  Jim Meyering  <meyering@redhat.com>
23505
23506         git-version-gen: convert leading TABs to spaces
23507         * build-aux/git-version-gen: Expand leading TABs.
23508
23509         git-version-gen: handle failed "git rev-list"
23510         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23511         from git and proceeding as if it had succeeded but printed no SHA1
23512         checksums, suppress the diagnostic and handle the failure.
23513         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23514
23515         git-version-gen: include command name in one more diagnostic
23516         * build-aux/git-version-gen: When the required .tarball-version file
23517         was missing or unreadable, you might see the diagnostic from "cat",
23518         but no trace of the name of the invoking script.  Now, you still see
23519         the diagnostic from cat, but also get one from "git-version-gen: ".
23520         Inspired by a patch from Bruce Korb.
23521
23522         update-copyright: adjust test to match changed code
23523         * tests/test-update-copyright.sh: Change test's expected output
23524         to match new actual output.
23525
23526 2011-01-02  Bruno Haible  <bruno@clisp.org>
23527
23528         getlogin_r: Avoid test failure on HP-UX 11.
23529         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23530         ERANGE when the second argument is zero.
23531         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23532         portability problem.
23533
23534 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23535
23536         * build-aux/update-copyright: doc Simon's changes
23537
23538 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23539
23540         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23541         environment variable.
23542
23543 2011-01-02  Bruno Haible  <bruno@clisp.org>
23544
23545         unigbrk: Avoid gcc warnings.
23546         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23547         unused variable.
23548         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23549         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23550         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23551         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23552         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23553         Change type of first argument to 'const char *'.
23554         (main): Remove unused variable.
23555         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23556         type of first argument to 'const char *'.
23557         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23558         Likewise.
23559         (main): Change type of variable 's'.
23560         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23561         to 'int'.
23562
23563 2011-01-02  Bruno Haible  <bruno@clisp.org>
23564
23565         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23566         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23567         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23568         bug.
23569         * lib/pwrite.c: Undo 2010-12-31 patch.
23570         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23571
23572 2011-01-02  Bruno Haible  <bruno@clisp.org>
23573
23574         pread: Fix test whether it works.
23575         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23576
23577 2011-01-02  Bruno Haible  <bruno@clisp.org>
23578
23579         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23580         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23581         ends in "6". Don't require a specific month name. Try also the locale
23582         names found on HP-UX 11 and Solaris 7.
23583
23584 2011-01-02  Bruno Haible  <bruno@clisp.org>
23585
23586         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23587         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23588         C linkage.
23589         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23590
23591 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23592
23593         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23594         for consistency, since the "cluster" term is not used elsewhere.
23595         * lib/unigbrk.in.h: Update name.
23596         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23597         * lib/unigbrk/u16-grapheme-next.c: Update name.
23598         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23599         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23600         * lib/unigbrk/u32-grapheme-next.c: Update name.
23601         * lib/unigbrk/u32-grapheme-prev.c: Update name.
23602         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
23603         * lib/unigbrk/u8-grapheme-next.c: Update name.
23604         * lib/unigbrk/u8-grapheme-prev.c: Update name.
23605         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
23606         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
23607         Suggested by Bruno Haible.
23608
23609 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23610
23611         Remove module 'u8-grapheme-len' as too redundant with
23612         'u8-grapheme-next'.
23613         * modules/unigbrk/u8-grapheme-len: Delete file.
23614         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
23615         * lib/unigbrk.in.h: Remove prototype for deleted function.
23616         * lib/unigbrk/u8-grapheme-len.c: Delete file.
23617         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
23618
23619         Remove module 'u16-grapheme-len' as too redundant with
23620         'u16-grapheme-next'.
23621         * modules/unigbrk/u16-grapheme-len: Delete file.
23622         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
23623         * lib/unigbrk.in.h: Remove prototype for deleted function.
23624         * lib/unigbrk/u16-grapheme-len.c: Delete file.
23625         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
23626
23627         Remove module 'u32-grapheme-len' as too redundant with
23628         'u32-grapheme-next'.
23629         * modules/unigbrk/u32-grapheme-len: Delete file.
23630         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
23631         * lib/unigbrk.in.h: Remove prototype for deleted function.
23632         * lib/unigbrk/u32-grapheme-len.c: Delete file.
23633         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
23634
23635         Suggested by Bruno Haible.
23636
23637 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23638
23639         * unigbrk.in.h: Fix typo: "ben" => "been".
23640         Reported by Bruno Haible.
23641
23642 2011-01-01  Jim Meyering  <meyering@redhat.com>
23643
23644         maint: update almost all copyright ranges to include 2011
23645         Run the new "make update-copyright" rule.
23646
23647 2011-01-01  Jim Meyering  <meyering@redhat.com>
23648
23649         maint: update-copyright: exempt doc/INSTALL*
23650         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23651         since they are generated.  Suggested by Bruno Haible.
23652
23653 2011-01-01  Jim Meyering  <meyering@redhat.com>
23654
23655         maint: refine the update-copyright rule
23656         * Makefile (update-copyright): Also exclude any file that includes
23657         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23658         code that merely generates the comment.
23659
23660 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23661
23662         New module 'u8-grapheme-len'.
23663         * modules/unigbrk/u8-grapheme-len: New file.
23664         * modules/unigbrk/u8-grapheme-len-tests: New file.
23665         * lib/unigbrk.in.h: Add prototype for new function.
23666         * lib/unigbrk/u8-grapheme-len.c: New file.
23667         * tests/unigbrk/test-u8-grapheme-len.c: New file.
23668
23669         New module 'u16-grapheme-len'.
23670         * modules/unigbrk/u16-grapheme-len: New file.
23671         * modules/unigbrk/u16-grapheme-len-tests: New file.
23672         * lib/unigbrk.in.h: Add prototype for new function.
23673         * lib/unigbrk/u16-grapheme-len.c: New file.
23674         * tests/unigbrk/test-u16-grapheme-len.c: New file.
23675
23676         New module 'u32-grapheme-len'.
23677         * modules/unigbrk/u32-grapheme-len: New file.
23678         * modules/unigbrk/u32-grapheme-len-tests: New file.
23679         * lib/unigbrk.in.h: Add prototype for new function.
23680         * lib/unigbrk/u32-grapheme-len.c: New file.
23681         * tests/unigbrk/test-u32-grapheme-len.c: New file.
23682
23683         New module 'u8-grapheme-next'.
23684         * modules/unigbrk/u8-grapheme-next: New file.
23685         * modules/unigbrk/u8-grapheme-next-tests: New file.
23686         * lib/unigbrk.in.h: Add prototype for new function.
23687         * lib/unigbrk/u8-grapheme-next.c: New file.
23688         * tests/unigbrk/test-u8-grapheme-next.c: New file.
23689
23690         New module 'u16-grapheme-next'.
23691         * modules/unigbrk/u16-grapheme-next: New file.
23692         * modules/unigbrk/u16-grapheme-next-tests: New file.
23693         * lib/unigbrk.in.h: Add prototype for new function.
23694         * lib/unigbrk/u16-grapheme-next.c: New file.
23695         * tests/unigbrk/test-u16-grapheme-next.c: New file.
23696
23697         New module 'u32-grapheme-next'.
23698         * modules/unigbrk/u32-grapheme-next: New file.
23699         * modules/unigbrk/u32-grapheme-next-tests: New file.
23700         * lib/unigbrk.in.h: Add prototype for new function.
23701         * lib/unigbrk/u32-grapheme-next.c: New file.
23702         * tests/unigbrk/test-u32-grapheme-next.c: New file.
23703
23704         New module 'u8-grapheme-prev'.
23705         * modules/unigbrk/u8-grapheme-prev: New file.
23706         * modules/unigbrk/u8-grapheme-prev-tests: New file.
23707         * lib/unigbrk.in.h: Add prototype for new function.
23708         * lib/unigbrk/u8-grapheme-prev.c: New file.
23709         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
23710
23711         New module 'u16-grapheme-prev'.
23712         * modules/unigbrk/u16-grapheme-prev: New file.
23713         * modules/unigbrk/u16-grapheme-prev-tests: New file.
23714         * lib/unigbrk.in.h: Add prototype for new function.
23715         * lib/unigbrk/u16-grapheme-prev.c: New file.
23716         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
23717
23718         New module 'u32-grapheme-prev'.
23719         * modules/unigbrk/u32-grapheme-prev: New file.
23720         * modules/unigbrk/u32-grapheme-prev-tests: New file.
23721         * lib/unigbrk.in.h: Add prototype for new function.
23722         * lib/unigbrk/u32-grapheme-prev.c: New file.
23723         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
23724
23725         New module 'u8-grapheme-breaks'.
23726         * modules/unigbrk/u8-grapheme-breaks: New file.
23727         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
23728         * lib/unigbrk.in.h: Add prototype for new function.
23729         * lib/unigbrk/u8-grapheme-breaks.c: New file.
23730         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
23731
23732         New module 'u16-grapheme-breaks'.
23733         * modules/unigbrk/u16-grapheme-breaks: New file.
23734         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
23735         * lib/unigbrk.in.h: Add prototype for new function.
23736         * lib/unigbrk/u16-grapheme-breaks.c: New file.
23737         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
23738
23739         New module 'u32-grapheme-breaks'.
23740         * modules/unigbrk/u32-grapheme-breaks: New file.
23741         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
23742         * lib/unigbrk.in.h: Add prototype for new function.
23743         * lib/unigbrk/u32-grapheme-breaks.c: New file.
23744         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
23745
23746         New module 'ulc-grapheme-breaks'.
23747         * modules/unigbrk/ulc-grapheme-breaks: New file.
23748         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
23749         * m4/locale-ar.m4: New file.
23750         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
23751         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
23752         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
23753
23754 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23755
23756         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
23757         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
23758         modified how this file was generated before I initially submitted
23759         the module, but failed to regenerate it.  This meant that several
23760         of the level2 entries were wrong.
23761         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
23762         Remove the division-by-2 that is folded into the table now that
23763         gbrkprop.h has been regenerated properly.  Now -1 entries are
23764         handled correctly.
23765
23766         New module 'unigbrk/uc-gbrk-prop-tests'.
23767         * modules/unigbrk/uc-gbrk-prop-tests: New file.
23768         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
23769         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
23770         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
23771
23772 2011-01-01  Bruno Haible  <bruno@clisp.org>
23773
23774         Avoid use of hexadecimal escapes.
23775         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
23776         instead of hexadecimal escapes.
23777
23778 2011-01-01  Jim Meyering  <meyering@redhat.com>
23779
23780         maint: new rule to update copyright year ranges
23781         * Makefile (update-copyright): New rule.
23782
23783         maint: indent with TABs in Makefile
23784         * Makefile: Expand leading sequences of spaces to TABs
23785
23786         version-etc: update the copyright year it reports
23787         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
23788
23789 2010-12-31  Bruno Haible  <bruno@clisp.org>
23790
23791         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
23792         * lib/isfinite.c (zerof, zerod, zerol): New variables.
23793         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
23794         zero.
23795
23796 2010-12-31  Bruno Haible  <bruno@clisp.org>
23797
23798         pwrite: Work around HP-UX 11.11 bug.
23799         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
23800         works and set REPLACE_PWRITE if not.
23801         * lib/pwrite.c (pwrite): Add an implementation that uses the system
23802         function.
23803         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
23804
23805 2010-12-31  Bruno Haible  <bruno@clisp.org>
23806
23807         pread: Work around HP-UX 11 bugs.
23808         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
23809         and set REPLACE_PREAD if not.
23810         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
23811
23812 2010-12-31  Eric Blake  <eblake@redhat.com>
23813
23814         nl_langinfo: fix YESEXPR on Irix 6.5
23815         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
23816         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
23817         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
23818         it.
23819
23820 2010-12-31  Bruno Haible  <bruno@clisp.org>
23821
23822         iconv: Document HP-UX 11 bug.
23823         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
23824
23825 2010-12-31  Bruno Haible  <bruno@clisp.org>
23826
23827         ldexpl: Fix link error on HP-UX 11.
23828         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
23829         LDEXPL_LIBM, using $ISNANL_LIBM.
23830
23831 2010-12-31  Eric Blake  <eblake@redhat.com>
23832
23833         ftello: avoid compilation failure with SunStudio c89
23834         * lib/ftello.c (ftello): Use lseek, not llseek.
23835
23836         tests: avoid failing coreutils tests on cygwin
23837         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
23838         (create_exe_shims_): Return 0 when skipping.
23839
23840 2010-12-31  Bruno Haible  <bruno@clisp.org>
23841
23842         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
23843         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
23844
23845 2010-12-31  Bruno Haible  <bruno@clisp.org>
23846
23847         waitpid: Fix link error in C++ mode.
23848         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
23849
23850 2010-12-31  Bruno Haible  <bruno@clisp.org>
23851
23852         isnan: Use GCC built-ins when possible.
23853         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
23854         __builtin_isnan.
23855         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
23856         (isnan): Define using GCC built-ins for GCC >= 4.0.
23857
23858 2010-12-31  Bruno Haible  <bruno@clisp.org>
23859
23860         isnand: Fix mistake.
23861         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
23862         __builtin_isnand.
23863
23864 2010-12-31  Bruno Haible  <bruno@clisp.org>
23865
23866         open: Avoid C++ error on HP-UX 11.
23867         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
23868
23869 2010-12-31  Bruno Haible  <bruno@clisp.org>
23870
23871         time_r: Add missing declarations on HP-UX 11.
23872         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
23873         instead of HAVE_LOCALTIME_R.
23874         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
23875         HAVE_LOCALTIME_R always.
23876         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
23877         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
23878         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
23879         HAVE_LOCALTIME_R.
23880         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
23881         * doc/posix-functions/localtime_r.texi: Likewise.
23882
23883 2010-12-29  Eric Blake  <eblake@redhat.com>
23884
23885         mountlist: tweak previous commit
23886         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
23887         Reported by Paul Eggert.
23888
23889         mountlist: fix local drive detection on cygwin
23890         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
23891         that works for cygwin.
23892
23893 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23894
23895         ftoastr, snprintf: ftoastr + snprintf module
23896         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
23897         since the snprintf module now should be good enough here.
23898         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
23899         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
23900         and gl_MODULE_INDICATOR([snprintf]), but the former enables
23901         GNULIB_SNPRINTF only for the test directory, and the latter
23902         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
23903         seems to suffice by itself.
23904
23905 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23906
23907         alloca: one step towards thread-safety
23908         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
23909         need for a static variable.  All callers changed.  This does not
23910         make the alloca replacement thread-safe, but it's one step.
23911
23912         tests: minor indenting change
23913         * tests/init.sh: Sync from coreutils housekeeping patch
23914         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
23915         to keep lines within 80 columns.
23916
23917 2010-12-28  Jim Meyering  <meyering@redhat.com>
23918
23919         regex: don't infloop on persistent failing calloc
23920         * lib/regexec.c (build_trtable): Return failure indication upon
23921         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
23922         In glibc, this was fixed for version 2.13:
23923         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
23924
23925 2010-12-28  Bruno Haible  <bruno@clisp.org>
23926             Paul Eggert <eggert@cs.ucla.edu>
23927
23928         linkat: Make implementation robust against system behaviour variations.
23929         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
23930         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
23931         way, and to -2 if it needs a generic runtime test.
23932         * lib/linkat.c (solaris_optimized_link_immediate,
23933         solaris_optimized_link_follow): New functions.
23934         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
23935         (check_same_link): Use it.
23936
23937 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
23938
23939         New module 'unigbrk/base'.
23940         * modules/unigbrk/base: New file.
23941         * lib/unigbrk.in.h: New file.
23942
23943         New module 'unigbrk/uc-gbrk-prop'.
23944         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
23945         * modules/unigbrk/uc-gbrk-prop: New file.
23946         * lib/unigbrk/gbrkprop.h: New file.
23947         * lib/unigbrk/uc-gbrk-prop.c: New file.
23948
23949         New module 'unigbrk/uc-is-grapheme-break'.
23950         * modules/unigbrk/uc-is-grapheme-break: New file.
23951         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
23952         * lib/unigbrk/uc-is-grapheme-break.c: New file.
23953         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
23954         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
23955         * tests/unigbrk/GraphemeBreakTest.txt: New file.
23956
23957         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
23958
23959 2010-12-27  Bruno Haible  <bruno@clisp.org>
23960
23961         linkat test: Avoid failure on Solaris 11 2010-11.
23962         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
23963
23964 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23965
23966         utimens: work around glibc rounding bug on more platforms
23967         * lib/utimens.c (fdutimens): Work around rounding bug even if
23968         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
23969         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
23970
23971 2010-12-27  Bruno Haible  <bruno@clisp.org>
23972
23973         select tests: Improve comments.
23974         * tests/test-select.c (do_select): Add comments.
23975
23976 2010-12-27  Bruno Haible  <bruno@clisp.org>
23977
23978         select tests: Safer way of handling timeout.
23979         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
23980         at every invocation.
23981
23982 2010-12-27  Bruno Haible  <bruno@clisp.org>
23983
23984         select tests: Use 'bool' where appropriate.
23985         * tests/test-select.c (connect_to_socket): Change argument type to
23986         'bool'.
23987
23988 2010-12-27  Bruno Haible  <bruno@clisp.org>
23989
23990         select tests: Use existing modules.
23991         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
23992         (configure.ac): Don't test for unistd.h.
23993         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
23994         declared in <unistd.h>.
23995
23996 2010-12-27  Bruno Haible  <bruno@clisp.org>
23997
23998         mbrtowc: Work around a Solaris 7 bug.
23999         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
24000         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
24001         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
24002         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
24003         MBRTOWC_NULL_ARG1_BUG.
24004         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
24005         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
24006         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24007         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24008
24009 2010-12-27  Jim Meyering  <meyering@redhat.com>
24010
24011         read-file.c: tweak syntax
24012         * lib/read-file.c (fread_file): Remove space after "*" in function
24013         definitions.
24014
24015 2010-12-27  Bruno Haible  <bruno@clisp.org>
24016
24017         times test: Avoid gcc warnings on OSF/1.
24018         * tests/test-times.c (main): Cast printf arguments from clock_t to
24019         'long int'.
24020
24021 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24022
24023         utimens: work around glibc rounding bug on older Linux kernels
24024         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24025         on Linux with a glibc whose utimes might not work, then work
24026         around a longstanding glibc bug involving rounding rather than
24027         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24028         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24029
24030 2010-12-26  Bruno Haible  <bruno@clisp.org>
24031
24032         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24033         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24034         _GL_CXXALIAS_SYS.
24035         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24036
24037 2010-12-26  Bruno Haible  <bruno@clisp.org>
24038
24039         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24040         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24041         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24042         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24043         looking for the declaration.
24044         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24045         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24046         problem.
24047         * doc/posix-functions/inet_pton.texi: Likewise.
24048
24049 2010-12-26  Bruno Haible  <bruno@clisp.org>
24050
24051         arpa_inet: Use the common idioms with C++ support.
24052         * lib/arpa_inet.in.h: Include c++defs.h.
24053         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24054         support.
24055         * modules/arpa_inet (Depends-on): Add c++defs.
24056         (Makefile.am): Substitute the contents of c++defs.h.
24057         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24058         * modules/arpa_inet-c++-tests: New file.
24059         * tests/test-arpa_inet-c++.cc: New file.
24060
24061 2010-12-25  Bruno Haible  <bruno@clisp.org>
24062
24063         Fix more C++ link errors on Solaris 8.
24064         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
24065         $(LIB_EACCESS).
24066         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
24067         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
24068         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
24069         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
24070         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
24071
24072 2010-12-25  Bruno Haible  <bruno@clisp.org>
24073
24074         printf-posix: Fix link error when a non-GCC compiler is used.
24075         * lib/stdio.in.h (printf): When not using GCC, override printf
24076         correctly.
24077         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24078
24079 2010-12-25  Bruno Haible  <bruno@clisp.org>
24080
24081         strerror_r-posix: Update doc.
24082         * doc/posix-functions/strerror_r.texi: Update doc about the return
24083         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
24084
24085 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24086
24087         utimens: simplify the logic of the previous change
24088         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
24089         This should not affect whether the test succeeds or fails.
24090
24091         utimens: configure better on hosts with NFS clock skew
24092         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
24093         uses the clock of the local host.  It might use the clock of the
24094         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
24095         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24096
24097 2010-12-25  Bruno Haible  <bruno@clisp.org>
24098
24099         ptsname test: Avoid failure on Solaris.
24100         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
24101         open a pseudo-terminal; don't use BSD-style ptys.
24102         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
24103
24104 2010-12-25  Bruno Haible  <bruno@clisp.org>
24105
24106         ptsname: Avoid ERANGE failure on some systems.
24107         * lib/ptsname.c (buffer): Increase size.
24108
24109 2010-12-25  Bruno Haible  <bruno@clisp.org>
24110
24111         rename, renameat: Avoid test failures at NFS mounted locations.
24112         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
24113         so that subsequent mkdir calls succeed.
24114
24115 2010-12-25  Bruno Haible  <bruno@clisp.org>
24116
24117         iswblank: Fix C++ link error on Solaris 8.
24118         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
24119         _GL_FUNCDECL_SYS.
24120
24121 2010-12-25  Bruno Haible  <bruno@clisp.org>
24122
24123         unistd: Fix C++ link error on Solaris 8.
24124         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
24125
24126 2010-12-25  Bruno Haible  <bruno@clisp.org>
24127
24128         readlink doc: Mention an old glibc bug.
24129         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
24130
24131 2010-12-25  Bruno Haible  <bruno@clisp.org>
24132
24133         fcntl-h: Fix for use of C++ on glibc systems.
24134         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24135         also on glibc systems in C++ mode.
24136         Reported by Gary V. Vaughan <gary@gnu.org>.
24137
24138 2010-12-25  Bruno Haible  <bruno@clisp.org>
24139
24140         roundl-ieee: Make it work on OSF/1 5.1 with cc.
24141         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
24142
24143 2010-12-25  Bruno Haible  <bruno@clisp.org>
24144
24145         truncl-ieee: Make it work on OSF/1 5.1 with cc.
24146         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
24147         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
24148         test whether truncl works according to ISO C 99 with IEC 60559.
24149         * m4/truncl-ieee.m4: New file.
24150         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
24151         m4/signbit.m4.
24152         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
24153
24154 2010-12-25  Bruno Haible  <bruno@clisp.org>
24155
24156         ceill-ieee: Make it work on OSF/1 5.1 with cc.
24157         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
24158         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
24159         test whether ceill works according to ISO C 99 with IEC 60559.
24160         * m4/ceill-ieee.m4: New file.
24161         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
24162         m4/signbit.m4.
24163         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
24164
24165 2010-12-25  Bruno Haible  <bruno@clisp.org>
24166
24167         Ensure all prerequisites of <wchar.h> are included.
24168         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
24169         before <wchar.h>.
24170         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24171         gl_MBRLEN_NUL_RETVAL): Likewise.
24172         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24173         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
24174         AC_FUNC_MBRTOWC): Likewise.
24175         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24176         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
24177         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24178         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24179         Likewise.
24180         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24181         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
24182         (gl_WCHAR_H): Improve comments.
24183         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24184
24185 2010-12-25  Bruno Haible  <bruno@clisp.org>
24186
24187         strtok_r: Fix C syntax error in autoconf macro.
24188         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
24189         characters in test program.
24190
24191 2010-12-24  Bruno Haible  <bruno@clisp.org>
24192
24193         ceil, trunc, round: Fix gcc warnings.
24194         * lib/ceil.c (MIN): Undefine before redefining.
24195         * lib/trunc.c (MIN): Likewise.
24196         * lib/round.c (MIN): Likewise.
24197         Include <math.h> first.
24198
24199 2010-12-24  Bruno Haible  <bruno@clisp.org>
24200
24201         select tests: Avoid failures on OSF/1 5.1.
24202         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
24203         failure of closing the last socket; it may fail with ECONNRESET.
24204
24205 2010-12-24  Eric Blake  <eblake@redhat.com>
24206
24207         stdint: avoid HP-UX 10.20 preprocessor bug
24208         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
24209         than #if.
24210         * tests/test-floor2.c (main): Likewise.
24211         Reported by Peter O'Gorman.
24212
24213         pipe: make obsoletion transition easier
24214         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
24215         * modules/pipe (Files): Include revived file.
24216         (Include): Drop reference, to mirror getdate's behavior.
24217
24218 2010-12-24  Bruno Haible  <bruno@clisp.org>
24219
24220         sys_socket: Hide mismatch of declarations on NonStop Kernel.
24221         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
24222         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
24223         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24224
24225 2010-12-24  Bruno Haible  <bruno@clisp.org>
24226
24227         gethostname: Ensure declaration on NonStop Kernel.
24228         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
24229         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24230
24231 2010-12-24  Bruno Haible  <bruno@clisp.org>
24232
24233         sys_select: Ensure all necessary types on NonStop Kernel.
24234         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
24235         include <sys/time.h>.
24236         * doc/posix-headers/sys_select.texi: Mention that it's missing on
24237         NonStop Kernel.
24238         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24239
24240 2010-12-24  Bruno Haible  <bruno@clisp.org>
24241
24242         sys_select: Remove unneeded include.
24243         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
24244         have <sys/select.h>.
24245
24246 2010-12-24  Bruno Haible  <bruno@clisp.org>
24247
24248         gethostname: Provide a fallback for HOST_NAME_MAX.
24249         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
24250         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
24251         instead.
24252         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24253
24254 2010-12-24  Bruno Haible  <bruno@clisp.org>
24255
24256         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
24257         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
24258         (SA_RESTART): Likewise.
24259         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24260
24261 2010-12-24  Bruno Haible  <bruno@clisp.org>
24262
24263         signal: Define NSIG.
24264         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
24265         * tests/test-signal.c (nsig): New variable.
24266         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24267
24268 2010-12-24  Bruno Haible  <bruno@clisp.org>
24269
24270         rename, renameat: Avoid test failures on OSF/1 5.1.
24271         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
24272         alternative error codes.
24273         * tests/test-renameat.c (main): Likewise.
24274
24275 2010-12-24  Bruno Haible  <bruno@clisp.org>
24276
24277         *printf: Detect large precisions bug on Solaris 10/SPARC.
24278         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
24279         by Paul Eggert.
24280         * tests/test-snprintf-posix.h (test_function): Add this test code here
24281         too.
24282         * tests/test-sprintf-posix.h (test_function): Likewise.
24283         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24284         * tests/test-vasprintf-posix.c (test_function): Likewise.
24285         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
24286         around by gnulib.
24287         * doc/posix-functions/printf.texi: Likewise.
24288         * doc/posix-functions/snprintf.texi: Likewise.
24289         * doc/posix-functions/sprintf.texi: Likewise.
24290         * doc/posix-functions/vfprintf.texi: Likewise.
24291         * doc/posix-functions/vprintf.texi: Likewise.
24292         * doc/posix-functions/vsnprintf.texi: Likewise.
24293         * doc/posix-functions/vsprintf.texi: Likewise.
24294         * doc/posix-functions/dprintf.texi: Undo last commit.
24295         * doc/posix-functions/vdprintf.texi: Likewise.
24296
24297 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
24298
24299         tests: port test-fdutimensat.c to Solaris 8
24300         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
24301         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
24302         On Solaris 8, it fails with errno == ENOSYS, because there is no
24303         futimens (so it can't use the fd), and there is no lutimens (so it
24304         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
24305
24306         vsnprintf: make more consistent with snprintf; doc fixes
24307
24308         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
24309         the byte count return problem was promoted from the snprintf-posix
24310         to the snprintf module.
24311         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
24312         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
24313         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
24314         * tests/test-snprintf.c (main): Check the byte count returned.
24315         * tests/test-vsnprintf.c (main): Likewise.
24316
24317 2010-12-23  Eric Blake  <eblake@redhat.com>
24318
24319         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
24320         * modules/sigpipe (License): Relax license.
24321
24322 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24323
24324         doc: document Solaris printf bug with large float precisions
24325         * doc/posix-functions/dprintf.texi (dprintf):
24326         * doc/posix-functions/fprintf.texi (fprintf):
24327         * doc/posix-functions/printf.texi (printf):
24328         * doc/posix-functions/snprintf.texi (snprintf):
24329         * doc/posix-functions/sprintf.texi (sprintf):
24330         * doc/posix-functions/vdprintf.texi (vdprintf):
24331         * doc/posix-functions/vfprintf.texi (vfprintf):
24332         * doc/posix-functions/vprintf.texi (vprintf):
24333         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24334         * doc/posix-functions/vsprintf.texi (vsprintf):
24335         Mention that these functions mishandle large floating point
24336         precisions on Solaris 10.  The same bug is also present in Solaris
24337         8, and I assume earlier.  This causes "cd gnulib-tests; make
24338         check" to fail on Solaris 8 (and I assume, later) when building
24339         the latest coreutils, in test-vasprintf-posix's call to
24340         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
24341         the wide flavors (e.g., wprintf) so this patch just updates the
24342         documentation for the narrow ones.
24343
24344         test-posixtm.c: add two tests
24345         * tests/test-posixtm.c: Add two tests, to highlight the
24346         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
24347         around this bug; this is merely to document it.
24348
24349 2010-12-22  Bruno Haible  <bruno@clisp.org>
24350
24351         getlogin_r: Work around portability problem on OSF/1.
24352         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
24353         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
24354         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
24355         test for a truncated result.
24356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
24357         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
24358         * modules/getlogin_r (Depends-on): Add memchr.
24359         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
24360
24361 2010-12-22  Bruno Haible  <bruno@clisp.org>
24362
24363         ptsname: Avoid test failure on OSF/1 5.1.
24364         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
24365         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
24366         (same_slave): New function.
24367         (main): Use it to compare ptsname's result with the expected file name.
24368
24369 2010-12-22  Bruno Haible  <bruno@clisp.org>
24370
24371         Port extended stdio modules to HP NonStop Kernel.
24372         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
24373         macros.
24374         * lib/fbufmode.c: Update comments.
24375         * lib/fflush.c: Likewise.
24376         * lib/fpurge.c: Likewise.
24377         * lib/freadable.c: Likewise.
24378         * lib/freadahead.c: Likewise.
24379         * lib/freading.c: Likewise.
24380         * lib/freadptr.c: Likewise.
24381         * lib/freadseek.c: Likewise.
24382         * lib/fseeko.c: Likewise.
24383         * lib/fseterr.c: Likewise.
24384         * lib/fwritable.c: Likewise.
24385         * lib/fwriting.c: Likewise.
24386         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24387
24388 2010-12-22  Bruno Haible  <bruno@clisp.org>
24389
24390         ttyname_r: Work around bug on OSF/1 5.1.
24391         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
24392         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
24393         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
24394         present.
24395         * lib/ttyname_r.c (ttyname_r): Update comments.
24396
24397 2010-12-22  Bruno Haible  <bruno@clisp.org>
24398
24399         round: Implement result sign according to IEEE 754.
24400         * lib/round.c (MIN, MINUS_ZERO): New macros.
24401         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
24402         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
24403         * tests/test-round-ieee.c (main): Likewise.
24404         * tests/test-roundl-ieee.c (main): Likewise.
24405
24406         trunc: Implement result sign according to IEEE 754.
24407         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
24408         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
24409         * tests/test-trunc2.c: Include minus-zero.h.
24410         (MINUS_ZERO): New macro.
24411         (trunc_reference): Keep in sync with lib/trunc.c.
24412         * tests/test-truncf2.c: Include minus-zero.h.
24413         (MINUS_ZERO): New macro.
24414         (truncf_reference): Keep in sync with lib/trunc.c.
24415         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
24416         * tests/test-trunc-ieee.c (main): Likewise.
24417         * tests/test-truncl-ieee.c (main): Likewise.
24418
24419         ceil: Implement result sign according to IEEE 754.
24420         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
24421         (FUNC): Return -0.0 for -1 < x < 0.
24422         * tests/test-ceil2.c: Include minus-zero.h.
24423         (MINUS_ZERO): New macro.
24424         (ceil_reference): Keep in sync with lib/ceil.c.
24425         * tests/test-ceilf2.c: Include minus-zero.h.
24426         (MINUS_ZERO): New macro.
24427         (ceilf_reference): Keep in sync with lib/ceil.c.
24428         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
24429         * tests/test-ceil-ieee.c (main): Likewise.
24430         * tests/test-ceill-ieee.c (main): Likewise.
24431
24432         floor: Implement result sign according to IEEE 754.
24433         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24434         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24435         * tests/test-floorf2.c (floorf_reference): Likewise.
24436         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24437         * tests/test-floor-ieee.c (main): Likewise.
24438         * tests/test-floorl-ieee.c (main): Likewise.
24439
24440 2010-12-22  Bruno Haible  <bruno@clisp.org>
24441
24442         getaddrinfo: Update doc.
24443         * doc/posix-functions/gai_strerror.texi: Return type is also different
24444         on AIX and HP-UX.
24445
24446 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24447
24448         getaddrinfo, inet_ntop: Update doc for Solaris.
24449         * doc/posix-functions/gai_strerror.texi: Return type is also an
24450         issue on Solaris 9 and earlier.
24451         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24452         on Solaris 10 and earlier.
24453
24454 2010-12-21  Bruno Haible  <bruno@clisp.org>
24455
24456         New module 'roundl-ieee'.
24457         * modules/roundl-ieee: New file.
24458         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24459         test whether roundl works according to ISO C 99 with IEC 60559.
24460         * m4/roundl-ieee.m4: New file.
24461         * modules/roundl-ieee-tests: New file.
24462         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24463         * tests/test-roundl.c (main): Remove signbit tests.
24464         * modules/roundl-tests (Depends-on): Remove signbit.
24465         * doc/posix-functions/roundl.texi: Mention the new module.
24466
24467 2010-12-21  Bruno Haible  <bruno@clisp.org>
24468
24469         New module 'truncl-ieee'.
24470         * modules/truncl-ieee: New file.
24471         * modules/truncl-ieee-tests: New file.
24472         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24473         * tests/test-truncl.c (main): Remove signbit tests.
24474         * modules/truncl-tests (Depends-on): Remove signbit.
24475         * doc/posix-functions/truncl.texi: Mention the new module.
24476
24477 2010-12-21  Bruno Haible  <bruno@clisp.org>
24478
24479         New module 'ceill-ieee'.
24480         * modules/ceill-ieee: New file.
24481         * modules/ceill-ieee-tests: New file.
24482         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24483         * tests/test-ceill.c (main): Remove signbit tests.
24484         * modules/ceill-tests (Depends-on): Remove signbit.
24485         * doc/posix-functions/ceill.texi: Mention the new module.
24486
24487 2010-12-21  Bruno Haible  <bruno@clisp.org>
24488
24489         New module 'floorl-ieee'.
24490         * modules/floorl-ieee: New file.
24491         * modules/floorl-ieee-tests: New file.
24492         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24493         * tests/test-floorl.c (main): Remove signbit tests.
24494         * modules/floorl-tests (Depends-on): Remove signbit.
24495         * doc/posix-functions/floorl.texi: Mention the new module.
24496
24497 2010-12-21  Bruno Haible  <bruno@clisp.org>
24498
24499         New module 'round-ieee'.
24500         * modules/round-ieee: New file.
24501         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24502         whether round works according to ISO C 99 with IEC 60559.
24503         * m4/round-ieee.m4: New file.
24504         * modules/round-ieee-tests: New file.
24505         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24506         * tests/test-round1.c (main): Remove signbit tests.
24507         * modules/round-tests (Depends-on): Remove 'signbit'.
24508         * doc/posix-functions/round.texi: Mention the new module.
24509
24510 2010-12-21  Bruno Haible  <bruno@clisp.org>
24511
24512         New module 'trunc-ieee'.
24513         * modules/trunc-ieee: New file.
24514         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24515         whether trunc works according to ISO C 99 with IEC 60559.
24516         * m4/trunc-ieee.m4: New file.
24517         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24519         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24520         * modules/trunc-ieee-tests: New file.
24521         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24522         * tests/test-trunc1.c (main): Remove signbit tests.
24523         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24524         * doc/posix-functions/trunc.texi: Mention the new module.
24525
24526 2010-12-21  Bruno Haible  <bruno@clisp.org>
24527
24528         New module 'ceil-ieee'.
24529         * modules/ceil-ieee: New file.
24530         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24531         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24532         ISO C 99 with IEC 60559.
24533         * m4/ceil-ieee.m4: New file.
24534         * modules/ceil (Files): Add lib/ceil.c.
24535         (Depends-on): Add 'float'.
24536         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24537         * lib/math.in.h (ceil): New declaration.
24538         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24539         REPLACE_CEIL.
24540         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24541         * modules/ceil-ieee-tests: New file.
24542         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24543         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24544         * doc/posix-functions/ceil.texi: Mention the new module.
24545
24546 2010-12-21  Bruno Haible  <bruno@clisp.org>
24547
24548         New module 'floor-ieee'.
24549         * modules/floor-ieee: New file.
24550         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24551         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24552         ISO C 99 with IEC 60559.
24553         * m4/floor-ieee.m4: New file.
24554         * modules/floor (Files): Add lib/floor.c.
24555         (Depends-on): Add 'float'.
24556         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24557         * lib/math.in.h (floor): New declaration.
24558         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24559         REPLACE_FLOOR.
24560         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24561         * modules/floor-ieee-tests: New file.
24562         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24563         * tests/test-math-c++.cc: Check the signature of 'floor'.
24564         * doc/posix-functions/floor.texi: Mention the new module.
24565
24566 2010-12-21  Bruno Haible  <bruno@clisp.org>
24567
24568         New module 'roundf-ieee'.
24569         * modules/roundf-ieee: New file.
24570         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24571         test whether roundf works according to ISO C 99 with IEC 60559.
24572         * m4/roundf-ieee.m4: New file.
24573         * modules/roundf-ieee-tests: New file.
24574         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24575         * tests/test-roundf1.c (main): Remove signbit tests.
24576         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24577         * doc/posix-functions/roundf.texi: Mention the new module.
24578
24579 2010-12-21  Bruno Haible  <bruno@clisp.org>
24580
24581         New module 'truncf-ieee'.
24582         * modules/truncf-ieee: New file.
24583         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24584         test whether truncf works according to ISO C 99 with IEC 60559.
24585         * m4/truncf-ieee.m4: New file.
24586         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24588         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24589         * modules/truncf-ieee-tests: New file.
24590         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24591         * tests/test-truncf1.c (main): Remove signbit tests.
24592         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24593         * doc/posix-functions/truncf.texi: Mention the new module.
24594
24595 2010-12-21  Bruno Haible  <bruno@clisp.org>
24596
24597         New module 'ceilf-ieee'.
24598         * modules/ceilf-ieee: New file.
24599         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24600         test whether ceilf works according to ISO C 99 with IEC 60559.
24601         * m4/ceilf-ieee.m4: New file.
24602         * modules/ceilf-ieee-tests: New file.
24603         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
24604         * tests/test-ceilf1.c (main): Remove signbit tests.
24605         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
24606         * doc/posix-functions/ceilf.texi: Mention the new module.
24607
24608 2010-12-21  Bruno Haible  <bruno@clisp.org>
24609
24610         New module 'floorf-ieee'.
24611         * modules/floorf-ieee: New file.
24612         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
24613         test whether floorf works according to ISO C 99 with IEC 60559.
24614         * m4/floorf-ieee.m4: New file.
24615         * modules/floorf-ieee-tests: New file.
24616         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
24617         * tests/test-floorf1.c (main): Remove signbit tests.
24618         * modules/floorf-tests (Depends-on): Remove 'signbit'.
24619         * doc/posix-functions/floorf.texi: Mention the new module.
24620
24621 2010-12-21  Bruno Haible  <bruno@clisp.org>
24622
24623         Support for minus zero in autoconf macros.
24624         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
24625         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
24626         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
24627         * tests/minus-zero.h: Update comments.
24628
24629 2010-12-21  Bruno Haible  <bruno@clisp.org>
24630
24631         Tests for module 'ceil'.
24632         * modules/ceil-tests: New file.
24633         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
24634         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
24635
24636 2010-12-21  Bruno Haible  <bruno@clisp.org>
24637
24638         Tests for module 'floor'.
24639         * modules/floor-tests: New file.
24640         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
24641         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24642
24643 2010-12-21  Bruno Haible  <bruno@clisp.org>
24644
24645         math: Fix indentation.
24646         * lib/math.in.h (floorf): Fix indentation.
24647
24648 2010-12-21  Bruno Haible  <bruno@clisp.org>
24649
24650         Fix cross-compilation guesses on Solaris.
24651         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24652         not match "solaris2.10".
24653         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24654         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24655         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24656
24657 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24658
24659         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24660         This fixes a problem observed with the latest coreutils snapshot
24661         that caused a test to fail on Solaris 8.  src/csplit.c's call
24662         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
24663         earlier, instead of returning the number of bytes that would have
24664         been generated; this causes csplit to incorrectly report memory
24665         exhaustion.
24666         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
24667         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
24668         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
24669         comments to match.
24670         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
24671         Fix typo in matching older versions of Solaris: "solaris2.10"
24672         is matched by the shell pattern "solaris2.[0-9]*".  This matters
24673         only for guessing while cross-compiling.
24674         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
24675
24676 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
24677
24678         ftoastr: fix comment again
24679         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24680         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
24681         Also, simplify example a bit by using flags = 0.
24682
24683 2010-12-20  Bruno Haible  <bruno@clisp.org>
24684
24685         round*, trunc*: Update documentation regarding glibc.
24686         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
24687         * doc/posix-functions/round.texi: Likewise.
24688         * doc/posix-functions/roundl.texi: Likewise.
24689         * doc/posix-functions/truncf.texi: Likewise.
24690         * doc/posix-functions/trunc.texi: Likewise.
24691         * doc/posix-functions/truncl.texi: Likewise.
24692
24693 2010-12-20  Bruno Haible  <bruno@clisp.org>
24694
24695         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
24696         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
24697         * doc/posix-functions/round.texi: Likewise.
24698         * doc/posix-functions/roundl.texi: Likewise.
24699
24700 2010-12-20  Bruno Haible  <bruno@clisp.org>
24701
24702         ttyname_r: Add missing declaration on HP-UX 11.
24703         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
24704         HAVE_TTYNAME_R.
24705         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
24706         declared. Set HAVE_TTYNAME_R always.
24707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24708         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
24709         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
24710         HAVE_TTYNAME_R.
24711         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
24712
24713 2010-12-20  Bruno Haible  <bruno@clisp.org>
24714
24715         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
24716         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
24717         * doc/posix-functions/getlogin_r.texi: Likewise.
24718         * tests/test-getlogin.c: Include <errno.h>.
24719         (main): Avoid test failure on HP-UX 11.11.
24720         * tests/test-getlogin_r.c (main): Likewise.
24721
24722 2010-12-20  Bruno Haible  <bruno@clisp.org>
24723
24724         getlogin_r: Add missing declaration on HP-UX 11.
24725         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
24726         declared also when it exists as a function.
24727         * doc/posix-functions/getlogin_r.texi: Document this workaround.
24728
24729 2010-12-20  Bruno Haible  <bruno@clisp.org>
24730
24731         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
24732         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
24733         through wcrtomb.
24734
24735 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24736
24737         ftoastr: fix comment
24738         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24739         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
24740
24741 2010-12-19  Bruno Haible  <bruno@clisp.org>
24742
24743         isnan: Ensure it is a macro.
24744         * lib/math.in.h (isnan): Define as a macro if not already a macro.
24745         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
24746         Solaris.
24747
24748 2010-12-19  Bruno Haible  <bruno@clisp.org>
24749
24750         ldexpl test: Fix link error on OSF/1 5.1.
24751         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
24752
24753 2010-12-19  Bruno Haible  <bruno@clisp.org>
24754
24755         wctype: Make it work in C++ mode on OSF/1 5.1.
24756         * lib/wctype.in.h (iswblank): Declare but not define here.
24757         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
24758         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
24759         * modules/wctype (Files): Add lib/iswblank.c.
24760
24761 2010-12-19  Bruno Haible  <bruno@clisp.org>
24762
24763         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
24764         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
24765         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
24766
24767 2010-12-19  Bruno Haible  <bruno@clisp.org>
24768
24769         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
24770         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
24771         _POSIX_PII_SOCKET.
24772         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
24773         * doc/posix-functions/recvfrom.texi: Likewise.
24774         * doc/posix-functions/send.texi: Likewise.
24775         * doc/posix-functions/sendto.texi: Likewise.
24776
24777 2010-12-19  Bruno Haible  <bruno@clisp.org>
24778
24779         tcgetsid: Add missing declaration on OSF/1 5.1.
24780         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
24781         HAVE_TCGETSID.
24782         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
24783         Don't set HAVE_TCGETSID.
24784         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
24785         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
24786         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
24787         HAVE_TCGETSID.
24788         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
24789
24790 2010-12-19  Bruno Haible  <bruno@clisp.org>
24791
24792         stdio: Fix problem with popen() declaration on OSF/1 5.1.
24793         * lib/stdio.in.h: During the include_next statement, let recursive
24794         includes of this file include only the system header file.
24795
24796 2010-12-19  Bruno Haible  <bruno@clisp.org>
24797
24798         iconv_open: Fix regression from 2010-12-04.
24799         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
24800         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
24801
24802 2010-12-19  Bruno Haible  <bruno@clisp.org>
24803
24804         stdbool test: Avoid a gcc warning.
24805         * tests/test-stdbool.c (main): Fail if e1 is false.
24806         Reported by Jim Meyering.
24807
24808 2010-12-19  Jim Meyering  <meyering@redhat.com>
24809
24810         setenv: restore to working order
24811         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
24812         mistakenly removed.
24813         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
24814         HAVE_SETENV.
24815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
24816         HAVE_SETENV.
24817
24818 2010-12-19  Bruno Haible  <bruno@clisp.org>
24819
24820         Document some different function declarations on OSF/1 5.1.
24821         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
24822         * doc/posix-functions/inet_ntop.texi: Likewise.
24823         * doc/posix-functions/gethostname.texi: Likewise.
24824         * lib/unistd.in.h (gethostname): Update comment.
24825
24826 2010-12-19  Bruno Haible  <bruno@clisp.org>
24827
24828         doc: Mention vasprintf-posix module.
24829         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
24830         the 'vasprintf-posix' module.
24831         * doc/glibc-functions/vasprintf.texi: Likewise.
24832
24833 2010-12-19  Bruno Haible  <bruno@clisp.org>
24834
24835         unsetenv: Add missing declaration on OSF/1 5.1.
24836         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
24837         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
24838         Don't set HAVE_UNSETENV. In the test program, set _BSD.
24839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
24840         not HAVE_UNSETENV.
24841         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
24842         HAVE_UNSETENV.
24843         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
24844
24845 2010-12-19  Bruno Haible  <bruno@clisp.org>
24846
24847         setenv: Add missing declaration on OSF/1 5.1.
24848         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
24849         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
24850         declared. Don't set HAVE_SETENV.
24851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
24852         not HAVE_SETENV.
24853         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
24854         HAVE_SETENV.
24855         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
24856
24857 2010-12-19  Bruno Haible  <bruno@clisp.org>
24858
24859         nl_langinfo tests: Avoid gcc warning.
24860         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
24861
24862 2010-12-19  Bruno Haible  <bruno@clisp.org>
24863
24864         mknod: Avoid error in C++ mode on OSF/1 with GCC.
24865         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
24866         _GL_CXXALIAS_SYS.
24867
24868 2010-12-19  Bruno Haible  <bruno@clisp.org>
24869
24870         stdbool: Relax test.
24871         * tests/test-stdbool.c (e): Don't require that casts from a variable's
24872         address to 'bool' work in static initializer, for compilers other than
24873         GCC.
24874
24875 2010-12-19  Bruno Haible  <bruno@clisp.org>
24876
24877         ftello: Add missing declaration on OSF/1 5.1.
24878         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
24879         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
24880         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
24881         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
24882         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
24883
24884 2010-12-19  Bruno Haible  <bruno@clisp.org>
24885
24886         fseeko: Add missing declaration on OSF/1 5.1.
24887         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
24888         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
24889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
24890         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
24891         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
24892
24893 2010-12-19  Bruno Haible  <bruno@clisp.org>
24894
24895         fchdir: Add missing declaration on OSF/1 5.1.
24896         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
24897         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
24898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
24899         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
24900         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
24901
24902 2010-12-19  Bruno Haible  <bruno@clisp.org>
24903
24904         relocatable-prog-wrapper: Separate from relocatable-prog.
24905         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
24906         uninstall-relocwrapper rule here.
24907         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
24908         Reported by Ian Beckwith <ianb@erislabs.net>.
24909
24910 2010-12-19  Bruno Haible  <bruno@clisp.org>
24911
24912         unistr/u8-mbsnlen: Add missing dependency.
24913         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
24914         Reported by Ian Beckwith <ianb@erislabs.net>.
24915
24916 2010-12-19  Bruno Haible  <bruno@clisp.org>
24917
24918         iconv: Make it possible again to use this module without 'iconv-h'.
24919         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
24920         if it is not defined.
24921         Reported by Ian Beckwith <ianb@erislabs.net>.
24922
24923 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24924
24925         acl: port to Solaris 8 when copying from tmpfs to ufs
24926         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
24927         error number.  Problem observed on Solaris 8 with latest
24928         coreutils, with "mv A B", where A is on a tmpfs file system and B
24929         is on a ufs file system.  This caused coreutils' mv/part-symlink
24930         test to fail.
24931
24932         tests: set fail=0 at start
24933         * tests/init.sh (setup_): Move fail=0 initialization here ...
24934         (mktempd_): ... from here, so that tests can rely on fail being
24935         set to 0 initially.  This fixes a problem in coreutils; see:
24936         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
24937
24938 2010-12-18  Bruno Haible  <bruno@clisp.org>
24939
24940         memmem-simple: Stylistic changes.
24941         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
24942         Fix preprocessor directive indentation.
24943
24944 2010-12-15  Pádraig Brady <P@draigBrady.com>
24945
24946         memmem, memmem-simple: reorganize and expand empty needle check
24947         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
24948         functional checks to memmem-simple so that one has a fully functional
24949         memmem by using just this module.
24950         Restrict the performance only check to the memmem module.
24951         Also expand the empty needle check to ensure the correct
24952         pointer is returned, not just a non NULL pointer.
24953         * doc/glibc-functions/memmem.texi: Rearrange the portability
24954         documentation to correlate with the rearranged checks.
24955         Clarify exactly how the memmem and memmem-simple modules
24956         relate to each other.
24957
24958 2010-12-15  Pádraig Brady <P@draigBrady.com>
24959             Bruno Haible  <bruno@clisp.org>
24960
24961         Improve cross-compilation guesses for uClibc.
24962         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
24963         that uClibc does not have the glibc bug.
24964         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
24965         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
24966
24967 2010-12-14  Eric Blake  <eblake@redhat.com>
24968
24969         configmake: provide fallbacks for oldest supported autotools
24970         * m4/configmake.m4: New file.
24971         * modules/configmake (Files): Ship it.
24972         (configure.ac): Use it to guarantee fallbacks.
24973
24974 2010-12-13  Pádraig Brady <P@draigBrady.com>
24975
24976         read-file: Improve handling of large files
24977         * lib/read-file.c (fread_file): Minimize realloc()s
24978         for regular files, and better manage sizes around SIZE_MAX.
24979
24980 2010-12-13  Eric Blake  <eblake@redhat.com>
24981
24982         cloexec, fcntl: relax license
24983         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
24984         consent from all contributors.
24985         * modules/fcntl (License): Likewise.
24986
24987 2010-12-10  Bruno Haible  <bruno@clisp.org>
24988
24989         Tests for module 'pipe-posix'.
24990         * modules/pipe-posix-tests: New file.
24991         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
24992
24993 2010-12-10  Bruno Haible  <bruno@clisp.org>
24994
24995         pipe-posix: Make it work in C++ mode.
24996         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
24997         (pipe): Use common idiom, not a macro definition.
24998         * lib/pipe.c: New file.
24999         * m4/pipe.m4: New file.
25000         * modules/pipe-posix (Description): Enhance.
25001         (Files): Add lib/pipe.c, m4/pipe.m4.
25002         (configure.ac): Invoke gl_FUNC_PIPE.
25003         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
25004         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
25005         * tests/test-unistd-c++.cc: Check the signature of pipe.
25006
25007 2010-12-10  Bruno Haible  <bruno@clisp.org>
25008
25009         Rename module 'pipe' to 'spawn-pipe'.
25010         * modules/spawn-pipe: New file, renamed from modules/pipe.
25011         (Files, configure.ac, Makefile.am): Update.
25012         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25013         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25014         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25015         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25016         "spawn-pipe.h" instead of "pipe.h".
25017         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25018         to gl_SPAWN_PIPE.
25019         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25020         (Files, Makefile.am): Update.
25021         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25022         Update.
25023         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25024         Include "spawn-pipe.h" instead of "pipe.h".
25025         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25026         * lib/javacomp.c: Likewise.
25027         * lib/javaversion.c: Likewise.
25028         * lib/pipe-filter-gi.c: Likewise.
25029         * lib/pipe-filter-ii.c: Likewise.
25030         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25031         * modules/javacomp (Depends-on): Likewise.
25032         * modules/javaversion (Depends-on): Likewise.
25033         * modules/pipe-filter-gi (Depends-on): Likewise.
25034         * modules/pipe-filter-ii (Depends-on): Likewise.
25035         * MODULES.html.sh (Executing programs): Update.
25036         * NEWS: Mention the change.
25037
25038 2010-12-10  Eric Blake  <eblake@redhat.com>
25039
25040         pipe-posix: new module
25041         * modules/pipe-posix: New file.
25042         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25043         (gl_UNISTD_H): Check for declaration.
25044         * modules/unistd (Makefile.am): Substitute it.
25045         * lib/unistd.in.h (pipe): Provide it for mingw.
25046         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25047         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25048
25049 2010-12-07  Bruno Haible  <bruno@clisp.org>
25050
25051         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25052         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25053         u8_strcmp_gnu.
25054         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25055
25056 2010-12-06  Bruno Haible  <bruno@clisp.org>
25057
25058         Update internal documentation.
25059         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25060
25061 2010-12-04  Bruno Haible  <bruno@clisp.org>
25062
25063         Put more information about failed tests into the test return codes.
25064         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
25065         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
25066         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
25067         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
25068         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
25069         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25070         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25071         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25072         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
25073         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25074         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
25075         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
25076         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
25077         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25078         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
25079         returns a bit mask.
25080         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
25081         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
25082         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
25083         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
25084         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25085         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25086         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25087         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25088         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25089         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25090         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25091         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25092         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25093         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25094         * m4/link.m4 (gl_FUNC_LINK): Likewise.
25095         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25096         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
25097         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
25098         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25099         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
25100         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25101         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25102         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
25103         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25104         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25105         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25106         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
25107         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25108         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25109         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
25110         gl_PRINTF_PRECISION): Likewise.
25111         * m4/regex.m4 (gl_REGEX): Likewise.
25112         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25113         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
25114         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
25115         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25116         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25117         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25118         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
25119         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
25120         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25121         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25122         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25123         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25124         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25125         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25126         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25127         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25128         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25129         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25131         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
25132         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
25133         enumerated value.
25134         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
25135
25136 2010-12-04  Bruno Haible  <bruno@clisp.org>
25137
25138         Update for Solaris 11 2010-11.
25139         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
25140         Express, released in November 2010.
25141
25142 2010-12-04  Bruno Haible  <bruno@clisp.org>
25143
25144         nproc: Relax license.
25145         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
25146         and Paul Eggert.
25147         Requested by Ludovic Courtès <ludo@gnu.org>.
25148
25149 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
25150
25151         utimecmp: fine-grained src to nearby coarse-grained dest
25152
25153         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
25154         and the source is on a file system with higher-resolution time
25155         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
25156         not work, and the time stamps are close together, the algorithm to
25157         determine the exact resolution from the read-back mtime was buggy:
25158         it had a "!=" where it should have had an "==".  This bug has been
25159         in the code ever since it was introduced to gnulib.
25160         Problem reported by Dan Jacobson in
25161         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
25162
25163 2010-11-30  Bruno Haible  <bruno@clisp.org>
25164
25165         strerror_r-posix: Fix autoconf test.
25166         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
25167
25168 2010-11-28  Bruno Haible  <bruno@clisp.org>
25169             Paul Eggert  <eggert@cs.ucla.edu>
25170
25171         Tests for module 'getdomainname'.
25172         * modules/getdomainname-tests: New file.
25173         * tests/test-getdomainname.c: New file, based on
25174         tests/test-gethostname.c.
25175
25176 2010-11-28  Bruno Haible  <bruno@clisp.org>
25177             Paul Eggert  <eggert@cs.ucla.edu>
25178
25179         getdomainname: Use the system function when possible.
25180         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
25181         (getdomainname): Replace if needed. Provide the declaration if it is
25182         missing. Don't use _GL_CXXALIAS_SYS_CAST.
25183         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
25184         (getdomainname): When the system has getdomainname, call the system
25185         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
25186         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
25187         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
25188         found in libnsl. Look for the declaration also in <netdb.h>. Replace
25189         the function if its second argument is of type 'int' or if it is found
25190         in libnsl.
25191         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
25192         <sys/systeminfo.h> and sysinfo().
25193         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
25194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25195         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
25196         HAVE_GETDOMAINNAME.
25197         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
25198         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
25199         * doc/glibc-functions/getdomainname.texi: Document the problems with
25200         the getdomainname declaration.
25201
25202 2010-11-28  Bruno Haible  <bruno@clisp.org>
25203
25204         sys_socket: Ensure ss_family field on AIX.
25205         * lib/sys_socket.in.h (ss_family): New macro definition.
25206         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
25207         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
25208         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25209         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25210         * modules/sys_socket (Makefile.am): Substitute
25211         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25212         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
25213
25214 2010-11-27  Bruno Haible  <bruno@clisp.org>
25215
25216         readline: Improve configure output.
25217         * m4/readline.m4 (gl_FUNC_READLINE): Make the
25218         "checking for readline..." result understandable.
25219
25220 2010-11-27  Bruno Haible  <bruno@clisp.org>
25221
25222         *printf-posix: Detect a bug on Solaris 10/x86.
25223         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
25224         for floating-point output.
25225         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
25226         directive.
25227         * tests/test-snprintf-posix.h (test_function): Likewise.
25228         * tests/test-sprintf-posix.h (test_function): Likewise.
25229         * tests/test-vasprintf-posix.c (test_function): Likewise.
25230         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
25231         * doc/posix-functions/printf.texi: Likewise.
25232         * doc/posix-functions/snprintf.texi: Likewise.
25233         * doc/posix-functions/sprintf.texi: Likewise.
25234         * doc/posix-functions/vfprintf.texi: Likewise.
25235         * doc/posix-functions/vprintf.texi: Likewise.
25236         * doc/posix-functions/vsnprintf.texi: Likewise.
25237         * doc/posix-functions/vsprintf.texi: Likewise.
25238         * doc/glibc-functions/obstack_printf.texi: Likewise.
25239         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25240
25241 2010-11-27  Bruno Haible  <bruno@clisp.org>
25242
25243         Fix link error when module libunistring-optional is in use.
25244         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
25245         * modules/striconveha-tests (Makefile.am): Likewise.
25246
25247 2010-11-27  Bruno Haible  <bruno@clisp.org>
25248
25249         regex: Mention link dependencies.
25250         * modules/regex (Link): New section.
25251         * modules/rpmatch (Link): Likewise.
25252         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
25253
25254 2010-11-27  Bruno Haible  <bruno@clisp.org>
25255
25256         ftoastr: Fix compilation error on Solaris.
25257         * lib/ftoastr.c: Include <config.h>.
25258
25259 2010-11-27  Bruno Haible  <bruno@clisp.org>
25260
25261         getloadavg: Update documentation.
25262         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
25263
25264 2010-11-27  Bruno Haible  <bruno@clisp.org>
25265
25266         sys_socket: Fix test whether the functions are declared.
25267         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
25268         not <sys/select.h>.
25269
25270 2010-11-27  Bruno Haible  <bruno@clisp.org>
25271
25272         getpass: Make sure to get system declaration on some platforms.
25273         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
25274         gl_USE_SYSTEM_EXTENSIONS.
25275         * modules/getpass (Depends-on): Add extensions.
25276
25277 2010-11-26  Bruno Haible  <bruno@clisp.org>
25278
25279         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
25280         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
25281         'iconv' module is present.
25282         (ICONV_CONST): New macro.
25283         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
25284         ICONV_CONST.
25285         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
25286         set ICONV_CONST.
25287         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
25288         here.
25289         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
25290         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
25291         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
25292         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
25293         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
25294         present.
25295
25296 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25297
25298         ftoastr: comment fix
25299         * lib/ftoastr.c: "little" -> "little or no" in comment
25300
25301 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
25302
25303         stdint: port to GCC 4.3 + OSX + Octave
25304         On this platform, stdint.h is buggy and defines int64_t to long
25305         long int.  The replacement defined it to long int, causing
25306         problems with C++ style name mangling.  Instead, trust the system
25307         definition if INT64_MAX is defined, and likewise for the unsigned
25308         variant.   Problem reported by Jarno Rajahalme in
25309         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
25310         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
25311         and don't mess with int64_t and INT64_MAX in this case.
25312         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
25313
25314 2010-11-24  Bruno Haible  <bruno@clisp.org>
25315
25316         doc: Corrections regarding MacOS X 10.4 and 10.5.
25317         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
25318         MacOS X.
25319         Reported by Simon Josefsson.
25320
25321 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
25322
25323         Uninstall ".bin" files installed by relocwrapper.
25324         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
25325         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
25326         unless it is already there.
25327
25328 2010-11-21  Bruno Haible  <bruno@clisp.org>
25329
25330         Update for NetBSD 5.0.
25331         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25332         NetBSD; the test fails on NetBSD 5.0.
25333         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25334         about NetBSD.
25335
25336 2010-11-21  Bruno Haible  <bruno@clisp.org>
25337
25338         Update for HP-UX 11.23 and HP-UX 11.31.
25339         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
25340         HP-UX.
25341
25342 2010-11-21  Bruno Haible  <bruno@clisp.org>
25343
25344         Update for MacOS X 10.5.
25345         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25346         MacOS X; the test fails on MacOS X 10.5.8.
25347         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25348         about MacOS X.
25349
25350 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
25351
25352         bootstrap: add bootstrap_sync option.
25353         See discussion at
25354         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
25355         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
25356         * build-aux/bootstrap: Accept --bootstrap-sync to update
25357         bootstrap if it is not identical to the local gnulib's
25358         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
25359         enable this by default.  Accept --no-bootstrap-sync to disable
25360         it.
25361
25362 2010-11-20  Bruno Haible  <bruno@clisp.org>
25363
25364         Ensure that <features.h> is included before __GLIBC__ is tested.
25365         * lib/printf-parse.h: Include <features.h>.
25366         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
25367         Reported by Mike Frysinger <vapier@gentoo.org>.
25368
25369         Ensure that <features.h> is included before __GLIBC__ is tested.
25370         * lib/wchar.in.h: Include <features.h>.
25371         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
25372         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
25373         Reported by Mike Frysinger <vapier@gentoo.org>.
25374
25375         Ensure that <features.h> is included before __GLIBC__ is tested.
25376         * lib/arpa_inet.in.h: Include <features.h>.
25377         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
25378         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
25379         Reported by Mike Frysinger <vapier@gentoo.org>.
25380
25381         Ensure that <features.h> is included before __GLIBC__ is tested.
25382         * build-aux/link-warning.h: Include <features.h>.
25383         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
25384         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
25385         Reported by Mike Frysinger <vapier@gentoo.org>.
25386
25387         Ensure that <features.h> is included before __GLIBC__ is tested.
25388         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
25389         Reported by Mike Frysinger <vapier@gentoo.org>.
25390
25391 2010-11-20  Bruno Haible  <bruno@clisp.org>
25392
25393         memmem: Fix autoconf test.
25394         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
25395
25396 2010-11-20  Bruno Haible  <bruno@clisp.org>
25397
25398         Port to uClibc.
25399         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
25400         * lib/fcntl.in.h: Likewise.
25401         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
25402         * lib/mbrtowc.c (mbrtowc): Likewise.
25403         * lib/relocatable.c (find_shared_library_fullname): Likewise.
25404         * lib/strerror_r.c: Likewise.
25405         * lib/unistr/u8-strnlen.c: Likewise.
25406         * lib/vasnprintf.c (decimal_point_char): Likewise.
25407         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25408         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25409         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25410         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25411         * tests/test-sigaction.c (handler, main): Likewise.
25412         * lib/freading.h: Treat uClibc like a non-glibc platform.
25413         * lib/freading.c: Likewise.
25414         * lib/gettext.h: Likewise.
25415         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
25416         Likewise.
25417         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
25418         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
25419         * lib/propername.c (proper_name_utf8): Likewise.
25420         * lib/spawn.in.h: Likewise.
25421         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
25422         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
25423         mem_cd_iconveh_internal): Likewise.
25424         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
25425         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25426         strstr, strcasestr): Likewise.
25427         * lib/unicodeio.c (unicode_to_mb): Likewise.
25428         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
25429         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25430         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25431         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25432         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25433         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25434         * lib/unistr/u8-stpncpy.c: Likewise.
25435         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25436         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25437         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25438         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25439         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25440         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25441         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25442         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25443         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25444         Likewise.
25445         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25446         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25447         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25448         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25449         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25450         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25451         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25452         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25453         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25454         * tests/test-striconveha.c (main): Likewise.
25455         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25456         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25457         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25458         * doc/posix-functions/getline.texi: Likewise.
25459         Reported by Mike Frysinger <vapier@gentoo.org>.
25460
25461 2010-11-20  Bruno Haible  <bruno@clisp.org>
25462
25463         nproc: Fix condition.
25464         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25465         HAVE_PTHREAD_AFFINITY_NP.
25466
25467 2010-11-20  Bruno Haible  <bruno@clisp.org>
25468
25469         Fix a comment.
25470         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25471
25472 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25473
25474         ftoastr: don't assume snprintf
25475         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25476         Implement a subset of snprintf here, by using sprintf safely.
25477         * modules/ftoastr (Depends-on): Remove snprintf.
25478
25479 2010-11-19  Jim Meyering  <meyering@redhat.com>
25480
25481         test-rename.h: fix compilation failure
25482         * tests/test-rename.h (test_rename): Add omitted "}".
25483
25484 2010-11-17  Jim Meyering  <meyering@redhat.com>
25485
25486         maint.mk: add a URL discussing the no-@acronym policy
25487         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25488
25489 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25490
25491         ftoastr: depend on snprintf, improve comments
25492         * lib/ftoastr.c: Also mention Loitsch's draft.
25493         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25494         needed in the current implementation, but it might simplify
25495         speeding up the code later.
25496         * modules/ftoastr: Depend on snprintf; this improves portability.
25497         Suggested by Bruno Haible in the same email.
25498
25499         ftoastr: port to hosts lacking strtof and strtold
25500         Problem reported by Bruno Haible in
25501         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25502         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25503         environment and strtold (and presumably strtof) are not available.
25504         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25505         (configure.ac): Require gl_C99_STRTOLD.
25506
25507 2010-11-18  Bruno Haible  <bruno@clisp.org>
25508
25509         c-strtold: Avoid link error on AIX 7.
25510         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25511         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25512         (gl_C_STRTOLD): Test whether strtold_l exists.
25513         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25514
25515 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25516
25517         intprops: new macro INT_BITS_STRLEN_BOUND
25518         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25519         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25520         not exposed.  Also, it uses a slightly tighter bound than before;
25521         though this makes no practical difference, we might as well be as
25522         tight as we easily can.
25523
25524         ftoastr: new module, for lossless conversion of floats to short strings
25525         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25526         * modules/ftoastr: New files.
25527
25528 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25529
25530         bootstrap: port to Solaris sed
25531         * build-aux/bootstrap (get_version): Port to Solaris sed.
25532         See Ralf Wildenhues's note in
25533         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25534
25535 2010-11-14  Jim Meyering  <meyering@redhat.com>
25536
25537         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25538         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25539         and move definition closer to sole use.
25540
25541 2010-11-13  Jim Meyering  <meyering@redhat.com>
25542
25543         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25544         Now we require at least autoconf-2.59, which means the work-around
25545         is no longer needed.
25546         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25547         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25548         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25549         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25550         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25551
25552 2010-11-13  Bruno Haible  <bruno@clisp.org>
25553
25554         rename, renameat: Avoid test failures at NFS mounted locations.
25555         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25556         functions.
25557         (test_rename): Use assert_nonexistent.
25558         * tests/test-rename.c: Include <dirent.h>.
25559         * tests/test-renameat.c: Likewise.
25560         Reported by Gary V. Vaughan <gary@gnu.org>.
25561
25562         rename, renameat: Document Linux bug with NFS
25563         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25564         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25565         * doc/posix-functions/renameat.texi: Likewise.
25566         Suggested by Eric Blake.
25567
25568 2010-11-13  Bruno Haible  <bruno@clisp.org>
25569
25570         rename test: Add comments.
25571         * tests/test-rename.h (test_rename): Add structure and comments.
25572
25573 2010-11-13  Eric Blake  <eblake@redhat.com>
25574
25575         maintainer-makefile: cover a few more files
25576         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25577         scripts generated within C files, for libvirt.
25578
25579 2010-11-13  Bruno Haible  <bruno@clisp.org>
25580
25581         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25582         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25583         character, return the number of bytes that belong together, not always
25584         1.
25585         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25586         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25587         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25588         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25589         number of bytes of an invalid character.
25590         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25591         (main): Invoke it.
25592         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25593         results.
25594         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25595         malformed byte sequences.
25596         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25597         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25598         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25599         Reported by Ben Pfaff and Paolo Bonzini.
25600
25601 2010-11-13  Bruno Haible  <bruno@clisp.org>
25602
25603         openat: Work around glibc bug with fchownat() and empty file names.
25604         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
25605         (gl_FUNC_FCHOWNAT): Invoke it.
25606         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
25607         * doc/posix-functions/fchownat.texi: Document the glibc bug.
25608         Reported by Gary V. Vaughan <gary@gnu.org>.
25609
25610 2010-11-13  Bruno Haible  <bruno@clisp.org>
25611
25612         openat: Ensure autoconf macro ordering.
25613         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
25614         gl_USE_SYSTEM_EXTENSIONS.
25615         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
25616
25617 2010-11-13  Bruno Haible  <bruno@clisp.org>
25618
25619         Update comments.
25620         * lib/unistr/u8-check.c: Update file name in comments.
25621         * lib/unistr/u8-mblen.c: Likewise.
25622         * lib/unistr/u8-prev.c: Likewise.
25623         * lib/unistr/u8-strmblen.c: Likewise.
25624         * lib/unistr/u8-strmbtouc.c: Likewise.
25625
25626 2010-11-13  Jim Meyering  <meyering@redhat.com>
25627
25628         tests: avoid test failure on Solaris 10 due to lack of PATH export
25629         * tests/test-update-copyright.sh: Don't forget to export PATH.
25630
25631         init.sh: ensure that IFS is defined, just in case...
25632         * tests/init.sh (setup_): Ensure that IFS is defined,
25633         so that saving and restoring it works as expected.  This
25634         appears to be useful at least for an old version of dash
25635         from a long time ago (RH 6).  See here for details:
25636         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
25637
25638         maint.mk: tighten "test a == b" check
25639         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
25640         test to files that contain something like #!/bin/sh.
25641         Without this, coreutils would get two false positives in
25642         the comments of C source files.
25643
25644 2010-11-12  Eric Blake  <eblake@redhat.com>
25645
25646         bootstrap: fix typo in previous attempt
25647         * build-aux/bootstrap (buildreq): Correct the grouping.
25648         Reported by Paul Eggert.
25649
25650         maintainer-makefile: prohibit test x == x
25651         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25652         Based on a report by Matthias Bolte.
25653
25654         bootstrap: allow FreeBSD gzip
25655         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25656         which has no '.' and goes to stderr.
25657         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25658         Reported by Matthias Bolte.
25659
25660         maintainer-makefile: check for i18n setup
25661         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25662         will likely work.
25663
25664 2010-11-12  Bruno Haible  <bruno@clisp.org>
25665
25666         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
25667         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
25668         * lib/nanosleep.c (nanosleep): Likewise.
25669
25670 2010-11-11  Bruno Haible  <bruno@clisp.org>
25671
25672         fcntl-h: Fix for use of C++ on glibc systems.
25673         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25674         also on glibc systems in C++ mode.
25675         Reported by Gary V. Vaughan <gary@gnu.org>.
25676
25677 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25678
25679         mknod: avoid false failure with dash
25680         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
25681
25682 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
25683
25684         unlink: Fix "is it should" typo in diagnostic.
25685         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
25686         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
25687
25688 2010-11-11  Bruno Haible  <bruno@clisp.org>
25689
25690         Tests for module 'strerror_r-posix'.
25691         * modules/strerror_r-posix-tests: New file.
25692         * tests/test-strerror_r.c: New file.
25693         * tests/test-string-c++.cc: Check the signature of strerror_r.
25694
25695         New module 'strerror_r-posix'.
25696         * lib/string.in.h (strerror_r): New declaration.
25697         * lib/strerror_r.c: New file.
25698         * m4/strerror_r.m4: New file.
25699         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
25700         of strerror_r.
25701         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
25702         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25703         * modules/strerror_r-posix: New file.
25704         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
25705         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25706         * doc/posix-functions/strerror_r.texi: Mention the new module and the
25707         portability problems.
25708
25709 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
25710
25711         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
25712         line is also considered for output. Quoted function name in shell
25713         command, so temporary files for functions like MyClass::operator()
25714         are removed correctly without errors.
25715
25716 2010-11-09  Bruno Haible  <bruno@clisp.org>
25717
25718         * doc/posix-functions/strerror.texi: List more failing platforms.
25719
25720         * doc/posix-functions/strerror.texi: Add a comment.
25721
25722 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
25723
25724         fdopendir: fix bug on MacOS X when low on file descriptors
25725
25726         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
25727         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
25728         All callers changed.
25729         (fdopendir): Invoke save_cwd at the top level, not after using
25730         multiple dup() calls to use up file descriptors.  Then retry
25731         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
25732         less than the maximum number of open file descriptors, because
25733         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
25734         on Mac OS X 10.6.4 for tar 1.24
25735         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
25736         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
25737         and for tar 1.25
25738         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
25739
25740 2010-11-07  Bruno Haible  <bruno@clisp.org>
25741
25742         vasnprintf: Support I flag on glibc systems.
25743         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
25744         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
25745         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
25746         snprintf function.
25747         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
25748         glibc systems.
25749         * tests/test-vasnprintf-posix3.c: New file.
25750         * modules/vasnprintf-posix-tests (Files): Add it.
25751         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
25752
25753 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25754
25755         [html] Fix copy/paste bug: Use unique name for compiler warnings.
25756         * MODULES.html.sh: For compiler warnings, use name
25757         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
25758
25759 2010-11-05  Eric Blake  <eblake@redhat.com>
25760
25761         ceil, floor: avoid spurious failure with icc
25762         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
25763         [denormals-as-zero] when optimizing without -mieee-fp option.
25764         * tests/test-floorf2.c (floorf_reference): Likewise.
25765         * tests/test-ceilf1.c (dummy): New function.
25766         (main): Use it to outsmart icc's optimization.
25767         * tests/test-floorf1.c (dummy, main): Likewise.
25768
25769         tests: require working signbit
25770         * modules/ceilf-tests (Depends-on): Add signbit.
25771         * modules/ceill-tests (Depends-on): Likewise.
25772         * modules/floorf-tests (Depends-on): Likewise.
25773         * modules/floorl-tests (Depends-on): Likewise.
25774         * modules/round-tests (Depends-on): Likewise.
25775         * modules/roundf-tests (Depends-on): Likewise.
25776         * modules/roundl-tests (Depends-on): Likewise.
25777         * modules/trunc-tests (Depends-on): Likewise.
25778         * modules/truncf-tests (Depends-on): Likewise.
25779         * modules/truncl-tests (Depends-on): Likewise.
25780
25781         strtod: work around icc bug
25782         * lib/strtod.c (minus_zero): Define to working value.
25783         (strtod): Use it to avoid icc bug.
25784
25785         copysign: enhance tests
25786         * modules/copysign-tests (Files): Add minus-zero.h.
25787         * tests/test-copysign.c (main): Also test zeros.
25788
25789 2010-11-04  Eric Blake  <eblake@redhat.com>
25790
25791         ceil, floor, round, trunc: enhance tests of -0
25792         * tests/test-ceilf1.c (main): Ensure correct sign of result.
25793         * tests/test-ceill.c (main): Likewise.
25794         * tests/test-floorf1.c (main): Likewise.
25795         * tests/test-floorl.c (main): Likewise.
25796         * tests/test-round1.c (main): Likewise.
25797         * tests/test-roundf1.c (main): Likewise.
25798         * tests/test-roundl.c (main): Likewise.
25799         * tests/test-trunc1.c (main): Likewise.
25800         * tests/test-truncf1.c (main): Likewise.
25801         * tests/test-truncl.c (main): Likewise.
25802
25803 2010-11-04  Eric Blake  <eblake@redhat.com>
25804
25805         frexp, tests: work around ICC bug with -zero
25806         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
25807         works with more compilers.
25808         * tests/minus-zero.h: New file.
25809         * modules/ceilf-tests (Files): Include it.
25810         * modules/ceill-tests (Files): Likewise.
25811         * modules/floorf-tests (Files): Likewise.
25812         * modules/floorl-tests (Files): Likewise.
25813         * modules/frexp-nolibm-tests (Files): Likewise.
25814         * modules/frexp-tests (Files): Likewise.
25815         * modules/frexpl-nolibm-tests (Files): Likewise.
25816         * modules/frexpl-tests (Files): Likewise.
25817         * modules/isnan-tests (Files): Likewise.
25818         * modules/isnand-nolibm-tests (Files): Likewise.
25819         * modules/isnand-tests (Files): Likewise.
25820         * modules/isnanf-nolibm-tests (Files): Likewise.
25821         * modules/isnanf-tests (Files): Likewise.
25822         * modules/isnanl-nolibm-tests (Files): Likewise.
25823         * modules/isnanl-tests (Files): Likewise.
25824         * modules/round-tests (Files): Likewise.
25825         * modules/roundf-tests (Files): Likewise.
25826         * modules/roundl-tests (Files): Likewise.
25827         * modules/ldexpl-tests (Files): Likewise.
25828         * modules/signbit-tests (Files): Likewise.
25829         * modules/snprintf-posix-tests (Files): Likewise.
25830         * modules/sprintf-posix-tests (Files): Likewise.
25831         * modules/strtod-tests (Files): Likewise.
25832         * modules/trunc-tests (Files): Likewise.
25833         * modules/truncf-tests (Files): Likewise.
25834         * modules/truncl-tests (Files): Likewise.
25835         * modules/vsnprintf-posix-tests (Files): Likewise.
25836         * modules/vsprintf-posix-tests (Files): Likewise.
25837         * modules/vasnprintf-posix-tests (Files): Likewise.
25838         * modules/vasprintf-posix-tests (Files): Likewise.
25839         * tests/test-ceilf1.c (main): Use it.
25840         * tests/test-ceill.c (main): Likewise.
25841         * tests/test-floorf1.c (main): Likewise.
25842         * tests/test-floorl.c (main): Likewise.
25843         * tests/test-frexp.c (main): Likewise.
25844         * tests/test-frexpl.c (main): Likewise.
25845         * tests/test-isnan.c (main): Likewise.
25846         * tests/test-isnand.h (main): Likewise.
25847         * tests/test-isnanf.h (main): Likewise.
25848         * tests/test-isnanl.h (main): Likewise.
25849         * tests/test-ldexpl.c (main): Likewise.
25850         * tests/test-round.c (main): Likewise.
25851         * tests/test-roundf.c (main): Likewise.
25852         * tests/test-roundl.c (main): Likewise.
25853         * tests/test-signbit.c (test_signbitf, test_signbitd)
25854         (test_signbitl): Likewise.
25855         * tests/test-snprintf-posix.h (test_function): Likewise.
25856         * tests/test-sprintf-posix.h (test_function): Likewise.
25857         * tests/test-strtod.c (main): Likewise.
25858         * tests/test-trunc1.c (main): Likewise.
25859         * tests/test-truncf1.c (main): Likewise.
25860         * tests/test-truncl.c (main): Likewise.
25861
25862         isnanl: work around icc bug
25863         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
25864
25865 2010-11-03  Eric Blake  <eblake@redhat.com>
25866
25867         tests: fix compiler warnings
25868         * tests/test-getopt.h (test_getopt): Fix condition.
25869         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25870         * tests/test-pipe2.c (main): Likewise.
25871         * tests/test-quotearg-simple.c (main): Avoid icc warning.
25872
25873         utimens: fix broken m4 test
25874         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
25875
25876 2010-10-28  Bruno Haible  <bruno@clisp.org>
25877
25878         posix_spawn*, getdtablesize: Relax license.
25879         * modules/posix_spawn (License): Change to LGPLv2+.
25880         * modules/posix_spawnp (License): Likewise.
25881         * modules/posix_spawn-internal (License): Likewise.
25882         * modules/posix_spawnattr_init (License): Likewise.
25883         * modules/posix_spawnattr_getflags (License): Likewise.
25884         * modules/posix_spawnattr_setflags (License): Likewise.
25885         * modules/posix_spawnattr_getpgroup (License): Likewise.
25886         * modules/posix_spawnattr_setpgroup (License): Likewise.
25887         * modules/posix_spawnattr_getschedparam (License): Likewise.
25888         * modules/posix_spawnattr_setschedparam (License): Likewise.
25889         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
25890         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
25891         * modules/posix_spawnattr_getsigdefault (License): Likewise.
25892         * modules/posix_spawnattr_setsigdefault (License): Likewise.
25893         * modules/posix_spawnattr_getsigmask (License): Likewise.
25894         * modules/posix_spawnattr_setsigmask (License): Likewise.
25895         * modules/posix_spawnattr_destroy (License): Likewise.
25896         * modules/posix_spawn_file_actions_init (License): Likewise.
25897         * modules/posix_spawn_file_actions_addclose (License): Likewise.
25898         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
25899         * modules/posix_spawn_file_actions_addopen (License): Likewise.
25900         * modules/posix_spawn_file_actions_destroy (License): Likewise.
25901         * modules/getdtablesize (License): Likewise.
25902         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
25903
25904 2010-10-26  Bruno Haible  <bruno@clisp.org>
25905
25906         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
25907         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
25908         Cygwin and mingw.
25909         Suggested by Eric Blake.
25910
25911 2010-10-26  Bruno Haible  <bruno@clisp.org>
25912
25913         stdio: Work around compilation error due to renameat() on Solaris 10.
25914         * lib/stdio.in.h: Include <unistd.h> on Solaris.
25915         * lib/renameat.c: Don't include <unistd.h> here.
25916         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
25917         Reported by Paul Eggert and Eric Blake.
25918
25919 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25920
25921         renameat: port to Solaris 10, which declares renameat in unistd.h
25922
25923         * lib/renameat.c: Include unistd.h before stdio.h, because
25924         Solaris 10 declares renameat in unistd.h.  Problem encountered
25925         when building GNU tar 1.24 on Solaris 10.
25926
25927 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25928
25929         fdopendir: fix C89 compilation
25930         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
25931         compilers.
25932
25933 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
25934
25935         inttostr: simplify by removing unnecessary redundancy
25936         * lib/anytostr.c: Don't include verify.h.
25937         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
25938         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
25939         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
25940         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
25941         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
25942         Likewise.
25943         * modules/inttostr (Depends-on): Remove 'verify'.
25944
25945 2010-10-23  Bruno Haible  <bruno@clisp.org>
25946
25947         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
25948         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
25949         Reported by Eric Blake.
25950
25951 2010-10-23  Bruno Haible  <bruno@clisp.org>
25952
25953         Tests: Fix LOCALE_JA on MirBSD 10.
25954         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
25955         to an UTF-8 locale.
25956         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
25957         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25958         Reported by Eric Blake.
25959
25960 2010-10-21  Bruno Haible  <bruno@clisp.org>
25961
25962         nl_langinfo test: Avoid test failure on NetBSD 5.
25963         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
25964         Reported by Eric Blake.
25965
25966 2010-10-21  Eric Blake  <eblake@redhat.com>
25967
25968         c-stack: work around libsigsegv 2.8 bug
25969         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
25970         overflow on at least PowerPC64.
25971
25972 2010-10-17  Bruno Haible  <bruno@clisp.org>
25973
25974         userspec: Drop redundant file.
25975         * modules/userspec (Files): Remove lib/inttostr.h.
25976
25977 2010-10-17  Bruno Haible  <bruno@clisp.org>
25978
25979         nl_langinfo tests: Silence some warnings.
25980         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
25981         Reported by Jim Meyering.
25982
25983 2010-10-17  Bruno Haible  <bruno@clisp.org>
25984
25985         Make use of GCC's attribute __alloc_size__.
25986         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
25987         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
25988         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
25989         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
25990         __alloc_size__.
25991         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25992         Suggested by Jim Meyering.
25993
25994 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
25995
25996         bootstrap: anchor .gitignore entries.
25997         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
25998         with...
25999         (insert_vc_ignore): ... this new function, which prepends `/' to
26000         all .gitignore entries before passing them to
26001         insert_sorted_if_absent.
26002
26003 2010-10-16  Bruno Haible  <bruno@clisp.org>
26004
26005         nextafter: Fix configure check.
26006         * modules/nextafter (configure.ac): Correct expected prototype.
26007
26008 2010-10-16  Bruno Haible  <bruno@clisp.org>
26009
26010         termios: Update documentation.
26011         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26012
26013 2010-10-16  Bruno Haible  <bruno@clisp.org>
26014
26015         tests: Make them compile with TinyCC.
26016         * tests/test-strstr.c (main): Remove parentheses around array
26017         initializer.
26018
26019 2010-10-15  Eric Blake  <eblake@redhat.com>
26020
26021         ignore-value: make header idempotent
26022         * lib/ignore-value.h: Add double-inclusion guards.
26023         Reported by Stefan Berger.
26024
26025 2010-10-15  Jim Meyering  <meyering@redhat.com>
26026
26027         GNUmakefile: handle "stable" target, not "major"
26028         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26029         lists in maint.mk and announce-gen.  Without this, "make stable"
26030         would fail to ensure that $(VERSION) is up to date.
26031
26032 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26033
26034         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26035         & co.
26036
26037 2010-10-14  Bruno Haible  <bruno@clisp.org>
26038
26039         vasnprintf: Don't set errno to 0.
26040         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26041         block that sets it to 0.
26042         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26043
26044 2010-10-14  Bruno Haible  <bruno@clisp.org>
26045
26046         socketlib: Fix.
26047         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26048         gl_PREREQ_SYS_H_WINSOCK2.
26049         Reported by Ian Beckwith <ianb@erislabs.net>.
26050
26051 2010-10-13  Jim Meyering  <meyering@redhat.com>
26052
26053         test-select-stdin.c: avoid warn_unused_result warnings
26054         * tests/test-select-stdin.c: Include "macros.h".
26055         ASSERT that read and fflush succeed.
26056
26057 2010-10-13  Jim Meyering  <meyering@redhat.com>
26058
26059         git-version-gen: do require git-VC'd files in cwd
26060         * build-aux/git-version-gen: Reject a git version string
26061         if there are no commits associated with the current directory.
26062         This avoids an unlikely false-positive (unrelated dir whose parent
26063         repository also contains a tag matching v*), as pointed out
26064         by Giuseppe Scrivano in
26065         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
26066
26067 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26068
26069         argv-iter: omit nonconforming declaration
26070         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
26071         enum arg_iter_err declaration, which doesn't conform to C99.
26072         Solaris 10 cc warns about this.
26073
26074 2010-10-13  Eric Blake  <eblake@redhat.com>
26075
26076         termios: fix compilation on mingw
26077         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
26078         (gl_TERMIOS_H): Adjust it on mingw.
26079         * modules/termios (Makefile.am): Substitute new key.
26080         * lib/termios.in.h (includes): Make include_next conditional.
26081         * doc/posix-headers/termios.texi (termios.h): Update
26082         documentation.
26083         Reported by Daniel P. Berrange.
26084
26085 2010-10-13  Jim Meyering  <meyering@redhat.com>
26086
26087         git-version-gen: don't require that .git/ be in the current dir
26088         * build-aux/git-version-gen: Adjust this script so that it works
26089         when run from any working directory beneath the top-level .git/-
26090         containing directory.  Inspired by a patch from Giuseppe Scrivano,
26091         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
26092
26093         test-select: avoid warn_unused_result warnings
26094         * tests/test-select.c: Include "macros.h".
26095         ASSERT that each call to read, write, and pipe succeeds.
26096         While not technically required, also check each "close".
26097         * modules/select-tests (Files): Add tests/macros.h.
26098
26099         test-symlinkat: remove declaration of unused local
26100         * tests/test-symlinkat.c (main): Remove unused local, "buf".
26101
26102         test-inttostr: avoid shadowing warnings
26103         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
26104         and use malloc rather than the stack for the same reason as
26105         mentioned in the comment justifying the other allocation.
26106
26107 2010-10-11  Bruno Haible  <bruno@clisp.org>
26108
26109         stdlib: Allow multiple gnulib generated replacements to coexist.
26110         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
26111         Reported by Sam Steingold <sds@gnu.org>.
26112
26113 2010-10-11  Jim Meyering  <meyering@redhat.com>
26114
26115         fix a documentation typo
26116         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
26117
26118 2010-10-11  Eric Blake  <eblake@redhat.com>
26119
26120         futimens: work around Solaris 11 bug
26121         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
26122         * tests/test-futimens.h (test_futimens): Enhance, rather than
26123         weaken test.
26124         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26125
26126 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26127
26128         Indentation.
26129         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
26130         higher-level operators more to the left.
26131
26132 2010-10-11  Jim Meyering  <meyering@redhat.com>
26133
26134         test-futimens: avoid unwarranted test failure on Solaris 5.11
26135         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
26136         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
26137         because it tries to dereference the NULL name argument.
26138
26139 2010-10-11  Bruno Haible  <bruno@clisp.org>
26140
26141         Indentation.
26142         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
26143         indentation.
26144
26145 2010-10-11  Jim Meyering  <meyering@redhat.com>
26146
26147         spawn.in.h: make indentation consistent with parentheses
26148         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
26149         Make indentation consistent with parentheses.
26150
26151 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
26152
26153         Fix mismatched parens in previous commit
26154         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
26155         parens.
26156
26157 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26158
26159         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
26160
26161         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
26162         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
26163         * lib/malloca.c: Include "verify.h".
26164         (verify1): Remove, replacing with a verify call.
26165         * lib/relocwrapper.c (verify1): Likewise.
26166         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
26167         Likewise.
26168         * modules/malloca (Depends-on): Add 'verify'.
26169         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
26170         * modules/vasnprintf (Depends-on): Add 'verify'.
26171         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26172         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26173         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26174         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26175         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26176         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26177         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26178
26179         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
26180
26181         Formerly the style was sometimes 2*X - 1, because the C standard
26182         was wrongly thought to disallow ?: in integral constant expressions.
26183         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
26184         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
26185         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
26186         * lib/stdint.in.h (_verify_intmax_size): Likewise.
26187         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
26188         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
26189         verify that time_t cannot be floating.
26190
26191 2010-10-08  Eric Blake  <eblake@redhat.com>
26192
26193         time: enforce recent POSIX ruling that time_t is integral
26194         * lib/time.in.h (__time_t_must_be_integral): Detect any
26195         problematic systems, allowing the rest of gnulib to assume POSIX.
26196
26197 2010-10-08  Jim Meyering  <meyering@redhat.com>
26198
26199         fdopendir: fix a bug on systems lacking openat and /proc support
26200         OpenBSD 4.7 is one such system.  The most noticeable effect was
26201         failure of any application making nontrivial use of fts: rm, du,
26202         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
26203           ./rm: traversal failed: `a': Bad file descriptor
26204         Debugging that, you see that even though FD 6 was closed just
26205         prior to the opendir call in fd_clone_opendir, its resulting
26206         dir->dd_fd was 8, rather than the expected value of 6:
26207
26208         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
26209         93                close (fd);
26210         (gdb) n
26211         94                dir = fd_clone_opendir (dupfd);
26212         (gdb) n
26213         95                saved_errno = errno;
26214         (gdb) p dir->dd_fd
26215         $11 = 8
26216
26217         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
26218         The problem is that on OpenBSD, fd_clone_opendir has to resort
26219         to using the old-style save/restore CWD mechanism, due to its
26220         lack of openat/proc support, and *that* would steal the FD (6)
26221         that opendir was supposed to use.
26222
26223         The fix is to squirrel away the desired FD so that save_cwd uses a
26224         different one, and then free the dest FD right before calling opendir.
26225         That guarantees opendir will use the required file descriptor.
26226
26227         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
26228
26229 2010-10-08  Bruno Haible  <bruno@clisp.org>
26230
26231         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
26232         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
26233
26234 2010-10-08  Bruno Haible  <bruno@clisp.org>
26235
26236         nanosleep: Make replacement POSIX compliant.
26237         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
26238         is out of range.
26239         Reported by Jim Meyering.
26240
26241 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26242
26243         bootstrap: add hook for altering gnulib.mk, for Bison
26244         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
26245         the Bison bootstrapping process can rewrite file names and variables
26246         in this file before later parts of 'bootstrap' use the file.
26247         Bison wants to include lib/gnulib.mk from the top-level makefile,
26248         so it needs the file names in this file to be relative to the top
26249         level, not relative to lib; plus it needs variable names to be
26250         rewritten.
26251         (slurp): Use the new function.
26252
26253         bootstrap: reformat for readability
26254         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
26255
26256 2010-10-08  Eric Blake  <eblake@redhat.com>
26257
26258         docs: update cygwin progress
26259         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
26260         1.7.7.
26261         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
26262         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
26263         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
26264         * doc/posix-functions/carg.texi (carg): Likewise.
26265         * doc/posix-functions/cargf.texi (cargf): Likewise.
26266         * doc/posix-functions/casin.texi (casin): Likewise.
26267         * doc/posix-functions/casinf.texi (casinf): Likewise.
26268         * doc/posix-functions/casinh.texi (casinh): Likewise.
26269         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
26270         * doc/posix-functions/catan.texi (catan): Likewise.
26271         * doc/posix-functions/catanf.texi (catanf): Likewise.
26272         * doc/posix-functions/catanh.texi (catanh): Likewise.
26273         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
26274         * doc/posix-functions/ccos.texi (ccos): Likewise.
26275         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
26276         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
26277         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
26278         * doc/posix-functions/cexp.texi (cexp): Likewise.
26279         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
26280         * doc/posix-functions/cimag.texi (cimag): Likewise.
26281         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
26282         * doc/posix-functions/clog.texi (clog): Likewise.
26283         * doc/posix-functions/clogf.texi (clogf): Likewise.
26284         * doc/posix-functions/conj.texi (conj): Likewise.
26285         * doc/posix-functions/conjf.texi (conjf): Likewise.
26286         * doc/posix-functions/cpow.texi (cpow): Likewise.
26287         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
26288         * doc/posix-functions/cproj.texi (cproj): Likewise.
26289         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
26290         * doc/posix-functions/creal.texi (creal): Likewise.
26291         * doc/posix-functions/crealf.texi (crealf): Likewise.
26292         * doc/posix-functions/csin.texi (csin): Likewise.
26293         * doc/posix-functions/csinf.texi (csinf): Likewise.
26294         * doc/posix-functions/csinh.texi (csinh): Likewise.
26295         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
26296         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
26297         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
26298         * doc/posix-functions/ctan.texi (ctan): Likewise.
26299         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
26300         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
26301         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
26302         * doc/posix-headers/complex.texi (complex.h): Likewise.
26303
26304 2010-10-07  Jim Meyering  <meyering@redhat.com>
26305
26306         parse-datetime: avoid compilation failure on OpenBSD 4.7
26307         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
26308         This works around a compilation failure on OpenBSD 4.7:
26309         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
26310
26311 2010-10-07  Eric Blake  <eblake@redhat.com>
26312
26313         docs: update cygwin progress
26314         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
26315         1.7.6.
26316         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26317         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
26318         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
26319         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
26320         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
26321         Likewise.
26322         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
26323         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
26324         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
26325         Likewise.
26326         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
26327         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
26328         Likewise.
26329         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
26330         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
26331         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
26332         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
26333         Likewise.
26334         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
26335         Likewise.
26336         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
26337
26338         docs: update parse-datetime history
26339         * doc/parse-datetime.texi (Authors of parse_datetime): Better
26340         documentation of this function's history and alternatives.
26341
26342         cygwin: use more robust version check
26343         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
26344         exclude an eventual cygwin 1.9.1.
26345         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26346         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26347         (gl_FUNC_STRCASESTR): Likewise.
26348         Reported by Bruno Haible.
26349
26350 2010-10-06  Bruno Haible  <bruno@clisp.org>
26351
26352         string, sys_select: Avoid #including large headers unless necessary.
26353         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
26354         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
26355         OSF/1, BeOS, Haiku.
26356         Reported by Jim Meyering.
26357
26358 2010-10-05  Eric Blake  <eblake@redhat.com>
26359
26360         memmem, strstr, strcasestr: fix bug with long periodic needle
26361         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
26362         periodic needle having false positive.
26363         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
26364         and cygwin 1.7.7.
26365         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
26366         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26367         (gl_FUNC_STRCASESTR): Likewise.
26368         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26369         * tests/test-memmem.c (main): Expose the bug.
26370         * tests/test-strcasestr.c (main): Likewise.
26371         * tests/test-strstr.c (main): Likewise.
26372         * tests/test-c-strcasestr.c (main): Likewise.
26373         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
26374         * doc/posix-functions/strstr.texi (strstr): Likewise.
26375         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26376         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
26377
26378 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26379
26380         parse-datetime: do some more renaming
26381         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
26382         parse_datetime, not get_date.  Mention the renaming.
26383         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
26384         in comments.
26385         * m4/bison.m4: Likewise.
26386
26387 2010-10-05  Eric Blake  <eblake@redhat.com>
26388
26389         parse-datetime: better name than get_date
26390         * NEWS: Reword the deprecation notice.
26391         * modules/get_date: Rename to modules/parse-datetime.
26392         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
26393         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
26394         * lib/get_date.y: Rename to lib/parse-datetime.y.
26395         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
26396         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
26397         * doc/getdate.texi: Provide fallback wrapper.
26398         * lib/getdate.h: Move guts, and wrap...
26399         * lib/parse-datetime.h: ...new file.
26400         * lib/parse-datetime.y (get_date): Rename...
26401         (parse_datetime): ...to this.
26402         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
26403         (gl_PARSE_DATETIME): ...to this.
26404         * doc/posix-functions/getdate.texi (get_date): Provide fallback
26405         documentation.
26406         * modules/getdate (Files): Provide fallback docs and header.
26407         (Notice, Depends-on): Update references.
26408         * tests/test-parse-datetime.c: Likewise.
26409         * DEPENDENCIES: Likewise.
26410         * MODULES.html.sh (Date and time <time.h>): Likewise.
26411         * doc/parse-datetime.texi (Date input formats)
26412         (Authors of parse_datetime): Likewise.
26413         * modules/parse-datetime (Files, configure.ac, Makefile.am)
26414         (Include): Likewise.
26415         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
26416         * gnulib-tool: Likewise.
26417         * m4/bison.m4 (gl_BISON): Likewise.
26418         Suggested by Bruno Haible.
26419
26420 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26421
26422         more ports to Solaris tr, which needs [] around ranges
26423         * gnulib-tool: Solaris tr needs [] around ranges.
26424         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26425         * tests/test-pipe-filter-gi1.c (main): Likewise.
26426         * tests/test-pipe-filter-ii1.c (main): Likewise.
26427
26428 2010-10-05  Eric Blake  <eblake@redhat.com>
26429
26430         bootstrap: fix Solaris regression
26431         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26432         around ranges.
26433         Reported by Pádraig Brady.
26434
26435         bootstrap: work with pkg-config
26436         * build-aux/bootstrap (check_versions): Also transliterate - in
26437         prerequisite name.
26438         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26439         prerequisites that were already found, to avoid confusion.
26440         Reported by Justin Clift.
26441
26442         faccessat: remove unused wrappers
26443         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26444         presence of these wrappers dragged in -lgen on Solaris.
26445         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26446
26447 2010-10-05  Jim Meyering  <meyering@redhat.com>
26448
26449         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26450         * Makefile (sc_pragma_columns): New syntax-check rule.
26451
26452 2010-10-04  Bruno Haible  <bruno@clisp.org>
26453
26454         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26455         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26456         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26457         Reported by Bruce Korb and Eric Blake.
26458
26459 2010-10-04  Bruno Haible  <bruno@clisp.org>
26460
26461         threadlib: Make option --with-libpth-prefix work.
26462         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26463         use $LIBPTH, not just -lpth.
26464
26465 2010-10-04  Bruno Haible  <bruno@clisp.org>
26466
26467         Avoid line length limitation from HP NonStop system header files.
26468         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26469         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26470         * lib/ctype.in.h: Likewise.
26471         * lib/dirent.in.h: Likewise.
26472         * lib/errno.in.h: Likewise.
26473         * lib/fcntl.in.h: Likewise.
26474         * lib/float.in.h: Likewise.
26475         * lib/getopt.in.h: Likewise.
26476         * lib/iconv.in.h: Likewise.
26477         * lib/inttypes.in.h: Likewise.
26478         * lib/langinfo.in.h: Likewise.
26479         * lib/locale.in.h: Likewise.
26480         * lib/math.in.h: Likewise.
26481         * lib/netdb.in.h: Likewise.
26482         * lib/netinet_in.in.h: Likewise.
26483         * lib/poll.in.h: Likewise.
26484         * lib/pthread.in.h: Likewise.
26485         * lib/pty.in.h: Likewise.
26486         * lib/sched.in.h: Likewise.
26487         * lib/se-selinux.in.h: Likewise.
26488         * lib/search.in.h: Likewise.
26489         * lib/signal.in.h: Likewise.
26490         * lib/spawn.in.h: Likewise.
26491         * lib/stdarg.in.h: Likewise.
26492         * lib/stddef.in.h: Likewise.
26493         * lib/stdint.in.h: Likewise.
26494         * lib/stdio.in.h: Likewise.
26495         * lib/stdlib.in.h: Likewise.
26496         * lib/string.in.h: Likewise.
26497         * lib/strings.in.h: Likewise.
26498         * lib/sys_file.in.h: Likewise.
26499         * lib/sys_ioctl.in.h: Likewise.
26500         * lib/sys_select.in.h: Likewise.
26501         * lib/sys_socket.in.h: Likewise.
26502         * lib/sys_stat.in.h: Likewise.
26503         * lib/sys_time.in.h: Likewise.
26504         * lib/sys_times.in.h: Likewise.
26505         * lib/sys_utsname.in.h: Likewise.
26506         * lib/sys_wait.in.h: Likewise.
26507         * lib/sysexits.in.h: Likewise.
26508         * lib/termios.in.h: Likewise.
26509         * lib/time.in.h: Likewise.
26510         * lib/unistd.in.h: Likewise.
26511         * lib/wchar.in.h: Likewise.
26512         * lib/wctype.in.h: Likewise.
26513         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26514         * modules/ctype (Makefile.am): Likewise.
26515         * modules/dirent (Makefile.am): Likewise.
26516         * modules/errno (Makefile.am): Likewise.
26517         * modules/fcntl-h (Makefile.am): Likewise.
26518         * modules/float (Makefile.am): Likewise.
26519         * modules/getopt-posix (Makefile.am): Likewise.
26520         * modules/iconv-h (Makefile.am): Likewise.
26521         * modules/inttypes (Makefile.am): Likewise.
26522         * modules/langinfo (Makefile.am): Likewise.
26523         * modules/locale (Makefile.am): Likewise.
26524         * modules/math (Makefile.am): Likewise.
26525         * modules/netdb (Makefile.am): Likewise.
26526         * modules/netinet_in (Makefile.am): Likewise.
26527         * modules/poll-h (Makefile.am): Likewise.
26528         * modules/pthread (Makefile.am): Likewise.
26529         * modules/pty (Makefile.am): Likewise.
26530         * modules/sched (Makefile.am): Likewise.
26531         * modules/search (Makefile.am): Likewise.
26532         * modules/selinux-h (Makefile.am): Likewise.
26533         * modules/signal (Makefile.am): Likewise.
26534         * modules/spawn (Makefile.am): Likewise.
26535         * modules/stdarg (Makefile.am): Likewise.
26536         * modules/stddef (Makefile.am): Likewise.
26537         * modules/stdint (Makefile.am): Likewise.
26538         * modules/stdio (Makefile.am): Likewise.
26539         * modules/stdlib (Makefile.am): Likewise.
26540         * modules/string (Makefile.am): Likewise.
26541         * modules/strings (Makefile.am): Likewise.
26542         * modules/sys_file (Makefile.am): Likewise.
26543         * modules/sys_ioctl (Makefile.am): Likewise.
26544         * modules/sys_select (Makefile.am): Likewise.
26545         * modules/sys_socket (Makefile.am): Likewise.
26546         * modules/sys_stat (Makefile.am): Likewise.
26547         * modules/sys_time (Makefile.am): Likewise.
26548         * modules/sys_times (Makefile.am): Likewise.
26549         * modules/sys_utsname (Makefile.am): Likewise.
26550         * modules/sys_wait (Makefile.am): Likewise.
26551         * modules/sysexits (Makefile.am): Likewise.
26552         * modules/termios (Makefile.am): Likewise.
26553         * modules/time (Makefile.am): Likewise.
26554         * modules/unistd (Makefile.am): Likewise.
26555         * modules/wchar (Makefile.am): Likewise.
26556         * modules/wctype (Makefile.am): Likewise.
26557
26558 2010-10-04  Bruno Haible  <bruno@clisp.org>
26559
26560         read-file tests: Avoid a test failure on NonStop Kernel.
26561         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26562         a regular file.
26563         Reported by Joachim Schmitz <schmitz@hp.com>.
26564
26565 2010-10-03  Bruno Haible  <bruno@clisp.org>
26566
26567         gnulib-tool: Fixes for --create-testdir with --libtool.
26568         * gnulib-tool (func_get_automake_snippet): Don't augment
26569         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26570         an executable.
26571         (func_create_testdir): Handle module 'alloca' like func_import.
26572         Reported by Bruce Korb <bruce.korb@gmail.com>.
26573
26574 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26575
26576         Avoid some lines longer than 80 characters.
26577         * lib/stdint.in.h: Break long comment lines.
26578         * lib/math.in.h: Likewise.
26579         (_GL_NUM_UINT_WORDS): New macro, for readability.
26580         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26581         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26582         * lib/stdlib.in.h: Likewise.
26583         * lib/spawn.in.h: Likewise.
26584         * lib/sys_socket.in.h: Update an URL.
26585         * lib/sys_stat.in.h: Break long line.
26586
26587 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26588
26589         Improve pmccabe2html.
26590         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26591         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26592         when the sources change. Remove the line in the HTML about "Used
26593         ranges" (which implied that there might be other unused ranges),
26594         rename "Resume" to "Summary" (easier to understand for more users).
26595         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26596         styles, and some unnecessary blank lines.
26597
26598 2010-10-03  Bruno Haible  <bruno@clisp.org>
26599             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26600
26601         acl: Add support for ACLs on NonStop Kernel.
26602         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
26603         Check whether the function aclsort() exists.
26604         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
26605         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
26606         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26607         (acl_nontrivial [HAVE_ACLSORT]: New function.
26608         (file_has_acl): Implement for NonStop Kernel.
26609         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26610         (qset_acl): Implement for NonStop Kernel.
26611         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
26612         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26613         (main): Implement for NonStop Kernel.
26614         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
26615         Kernel. Handle this flavor.
26616         * tests/test-set-mode-acl.sh: Likewise.
26617         * tests/test-copy-acl.sh: Likewise.
26618         * tests/test-copy-file.sh: Likewise.
26619
26620 2010-10-03  Bruno Haible  <bruno@clisp.org>
26621
26622         Info about ACLs on NonStop Kernel.
26623         * doc/acl-resources.txt: Add info about NonStop Kernel.
26624         References by Joachim Schmitz <schmitz@hp.com>.
26625
26626 2010-10-02  Bruno Haible  <bruno@clisp.org>
26627
26628         Define missing EDQUOT on NonStop Kernel.
26629         * lib/errno.in.h (EDQUOT): Assign a value if missing.
26630         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
26631         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
26632         missing.
26633         * doc/posix-headers/errno.texi: Mention the NSK bug.
26634         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
26635         Reported by Joachim Schmitz <schmitz@hp.com>.
26636
26637 2010-10-02  Bruno Haible  <bruno@clisp.org>
26638
26639         Update doc for POSIX:2008.
26640         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
26641         Update URL of POSIX specification.
26642
26643 2010-10-02  Bruno Haible  <bruno@clisp.org>
26644
26645         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26646         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26647         from gnulib, not from Automake.
26648
26649 2010-10-02  Bruno Haible  <bruno@clisp.org>
26650
26651         New module 'system-posix'.
26652         * modules/system-posix: New file.
26653         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26654         module is present.
26655         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26656         GNULIB_SYSTEM_POSIX.
26657         * modules/stdlib (Depends-on): Remove sys_wait.
26658         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26659         * doc/posix-functions/system.texi: Mention the new module.
26660         * doc/posix-headers/stdlib.texi: Likewise.
26661         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26662         define test_sys_wait_macros to a no-op.
26663         Reported by Sam Steingold <sds@gnu.org>.
26664
26665 2010-09-30  Bruno Haible  <bruno@clisp.org>
26666
26667         More renaming from 'getdate' to 'get_date'.
26668         * doc/get_date.texi: Renamed from doc/getdate.texi.
26669         * modules/get_date (Files): Update.
26670         * MODULES.html.sh (Date and time <time.h>): Update.
26671         * DEPENDENCIES: Update.
26672         * gnulib-tool: Update comment.
26673         * m4/bison.m4 (gl_BISON): Likewise.
26674         * m4/get_date.m4 (gl_GET_DATE): Likewise.
26675
26676 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
26677
26678         bootstrap: support ACLOCAL_FLAGS during aclocal
26679         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
26680         can add additional -I dir for third-party .m4 files.
26681
26682 2010-09-30  Eric Blake  <eblake@redhat.com>
26683
26684         bootstrap: use glibtoolize on MacOS
26685         * build-aux/bootstrap (check_versions): Convert libtool into
26686         libtoolize.
26687         (tool search): Move libtool check earlier, and look for
26688         glibtoolize for MacOS.
26689         (gnulib_tool_options): Auto-add --libtool when appropriate.
26690         Reported by Justin Clift.
26691
26692         poll: fix typo that broke test on MacOS
26693         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
26694         Reported by Justin Clift.
26695
26696         getdate: rename to get_date
26697         Note: getdate.h is not renamed, to minimize client impact.
26698         * modules/getdate: Mark obsolete.  Move old contents...
26699         * modules/get_date: ...to new module name.
26700         * modules/getdate-tests: Move...
26701         * modules/get_date-tests: ...here.
26702         * m4/getdate.m4: Move...
26703         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
26704         * lib/getdate.y: Move...
26705         * lib/get_date.y: ...here.
26706         * tests/test-getdate.c: Move...
26707         * tests/test-get_date.c: ...here.
26708         * doc/posix-functions/getdate.texi (getdate): Update name.
26709         * NEWS: Mention the change.
26710
26711 2010-09-29  Bruno Haible  <bruno@clisp.org>
26712
26713         Separate the module 'waitpid' from the module 'sys_wait'.
26714         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
26715         present.
26716         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
26717         gl_MODULE_INDICATOR_FOR_TESTS.
26718         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
26719         * modules/sys_wait (Depends-on): Remove waitpid.
26720         (Makefile.am): Substitute GNULIB_WAITPID.
26721         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
26722         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
26723         signature only if the 'waitpid' module is present.
26724         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
26725         * NEWS: Mention the change.
26726         * modules/grantpt (Depends-on): Add waitpid.
26727         * modules/wait-process (Depends-on): Likewise.
26728
26729 2010-09-29  Bruno Haible  <bruno@clisp.org>
26730
26731         More tests for module 'sys_wait'.
26732         * modules/sys_wait-c++-tests: New file.
26733         * tests/test-sys_wait-c++.cc: New file.
26734         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
26735         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26736
26737 2010-09-29  Bruno Haible  <bruno@clisp.org>
26738
26739         New module 'waitpid'.
26740         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
26741         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
26742         Don't include <process.h>.
26743         (waitpid): Declare only, using modern idiom.
26744         * m4/waitpid.m4: New file.
26745         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
26746         * modules/waitpid: New file.
26747         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
26748         (Makefile.am): Update.
26749         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26750
26751 2010-09-28  Bruno Haible  <bruno@clisp.org>
26752
26753         poll: Assume ANSI C.
26754         * lib/poll.c (poll): Use an ANSI C declaration.
26755
26756 2010-09-28  Bruno Haible  <bruno@clisp.org>
26757
26758         poll-h: Create poll.h on all platforms.
26759         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
26760         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
26761         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
26762         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
26763         (gl_REPLACE_POLL_H): Don't set POLL_H.
26764         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
26765         * modules/poll-h (Depends-on): Add include_next.
26766         (Makefile.am): Create poll.h unconditionally. Substitute also
26767         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
26768
26769 2010-09-28  Bruno Haible  <bruno@clisp.org>
26770
26771         Tests for module 'poll-h'.
26772         * modules/poll-h-c++-tests: New file.
26773         * tests/test-poll-h-c++.cc: New file.
26774
26775         Tests for module 'poll-h'.
26776         * modules/poll-h-tests: New file.
26777         * tests/test-poll-h.c: New file.
26778
26779 2010-09-28  Bruno Haible  <bruno@clisp.org>
26780
26781         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
26782         * modules/poll-h (Depends-on): Add 'extensions'.
26783
26784 2010-09-28  Bruno Haible  <bruno@clisp.org>
26785
26786         New module 'poll-h'.
26787         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
26788         (poll): Use modern idiom.
26789         * modules/poll-h: New file.
26790         * modules/poll (Files): Remove lib/poll.in.h.
26791         (Depends-on): Add poll-h.
26792         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
26793         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
26794         * m4/poll_h.m4: New file.
26795         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
26796         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
26797         and invoke gl_REPLACE_POLL_H.
26798         * lib/poll.c: Use common idiom.
26799         * tests/test-poll.c: Likewise.
26800         * doc/posix-headers/poll.texi: Mention the poll-h module.
26801         Suggested by Eric Blake.
26802
26803 2010-09-26  Bruno Haible  <bruno@clisp.org>
26804
26805         sys_wait: Implement WSTOPSIG.
26806         * lib/sys_wait.in.h (WSTOPSIG): New macro.
26807         Reported by Simon Josefsson.
26808
26809 2010-09-26  Simon Josefsson  <simon@josefsson.org>
26810
26811         stdlib, sys_wait: Avoid compilation error on mingw.
26812         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
26813
26814 2010-09-26  Bruno Haible  <bruno@clisp.org>
26815
26816         stdlib tests: Avoid code duplication.
26817         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
26818         * modules/sys_wait-tests (Files): Likewise.
26819         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
26820         * tests/test-stdlib.c: Include test-sys_wait.h.
26821         (main): Invoke test_sys_wait_macros.
26822         * tests/test-sys_wait.c: Include test-sys_wait.h.
26823         (main): Invoke test_sys_wait_macros.
26824
26825 2010-09-25  Simon Josefsson  <simon@josefsson.org>
26826
26827         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
26828         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
26829         sure Windows sockets are working before calling getaddrinfo.
26830         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
26831         * doc/gnulib.texi (Windows sockets): Fix typo.
26832
26833 2010-09-25  Bruno Haible  <bruno@clisp.org>
26834
26835         Tests for module 'regex-quote'.
26836         * modules/regex-quote-tests: New file.
26837         * tests/test-regex-quote.c: New file.
26838
26839         New module 'regex-quote'.
26840         * lib/regex-quote.h: New file.
26841         * lib/regex-quote.c: New file.
26842         * modules/regex-quote: New file.
26843         Suggested by Reuben Thomas <rrt@sc3d.org>.
26844
26845 2010-09-24  Bruno Haible  <bruno@clisp.org>
26846
26847         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
26848         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
26849
26850 2010-09-23  Bruno Haible  <bruno@clisp.org>
26851
26852         setenv: Relax license.
26853         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
26854         Blake.
26855         Requested by Eric Blake.
26856
26857 2010-09-22  Bruno Haible  <bruno@clisp.org>
26858
26859         termios: Relax license.
26860         * modules/termios (License): Change to LGPLv2+.
26861         Requested by Eric Blake.
26862
26863 2010-09-22  Bruno Haible  <bruno@clisp.org>
26864
26865         threadlib: Allow the package to change the default to 'no'.
26866         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
26867         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
26868         Reported by Paul Eggert.
26869
26870 2010-09-22  Pádraig Brady  <P@draigbrady.com>
26871             Bruno Haible  <bruno@clisp.org>
26872
26873         Fix endless loop in mbmemcasecoll.
26874         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
26875         byte.
26876         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
26877
26878 2010-09-22  Bruno Haible  <bruno@clisp.org>
26879
26880         Tests for module 'memcoll'.
26881         * modules/memcoll-tests: New file.
26882         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
26883
26884         memcoll, xmemcoll: Clarify size vs. length.
26885         * modules/memcoll.c (memcoll0): Clarify specification.
26886         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
26887         passed to collate_error.
26888
26889 2010-09-22  Bruno Haible  <bruno@clisp.org>
26890
26891         Tests for module 'memcasecmp'.
26892         * modules/memcasecmp-tests: New file.
26893         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
26894
26895 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26896
26897         * lib/pthread.in.h: Add split double-inclusion guard, and include
26898         system <pthread.h> if there is one.  Use @@-style as in other
26899         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
26900         pthread.h doesn't.
26901         (pthread_mutexattr_destroy, pthread_mutexattr_init):
26902         (pthread_mutexattr_settype, pthread_mutex_trylock):
26903         New static inline functions, if there's no system <pthread.h>.
26904         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
26905         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
26906         Approximate with mutexes if the system lacks spinlocks, as in
26907         MacOS.
26908         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
26909         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
26910         @@-style.  Check for spinlocks separately.
26911         (gl_PTHREAD_DEFAULTS): New macro.
26912         * modules/pthread: Redo to use a more typical style for in.h files.
26913
26914 2010-09-21  Eric Blake  <eblake@redhat.com>
26915
26916         net_if: enhance tests
26917         * tests/test-net_if.c (main): Move signature checks earlier.
26918         Print failures to stderr.
26919         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
26920         Document the bug that we do not yet fix.
26921
26922 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26923
26924         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
26925         about gnulib, not GSS.
26926
26927 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26928
26929         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
26930         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
26931         for Emacs.
26932         * build-aux/pmccabe2html: Make Makefile.am example code more
26933         cut-and-paste friendly.
26934
26935 2010-09-21  Simon Josefsson  <simon@josefsson.org>
26936
26937         * tests/test-net_if.c: New file.
26938         * modules/net_if-tests: New file.
26939
26940 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26941
26942         pthread: add pthread_spin_destroy
26943         * lib/pthread.in.h (pthread_spin_destroy): New function.
26944
26945 2010-09-19  Bruno Haible  <bruno@clisp.org>
26946
26947         gnulib-tool: Fix --help output.
26948         * gnulib-tool (func_usage): Fix help message.
26949         Reported by Reuben Thomas <rrt@sc3d.org>.
26950
26951 2010-09-18  Jim Meyering  <meyering@redhat.com>
26952
26953         maint.mk: avoid unexpanded \n in two diagnostics
26954         * top/maint.mk (sc_prohibit_always_true_header_tests):
26955         Don't use a literal \n in a halt=... assignment.  It would not be
26956         expanded, and the two \n bytes would appear in the diagnostic output
26957         rather than the desired newline.  Use halt=$$(printf ... instead.
26958         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26959
26960 2010-09-18  Bruno Haible  <bruno@clisp.org>
26961
26962         netinet_in: Doc tweak.
26963         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
26964         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26965
26966 2010-09-18  Jim Meyering  <meyering@redhat.com>
26967
26968         init.sh: correct an outdated comment
26969         * tests/init.sh (create_exe_shims_):  s/function/alias/
26970
26971         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
26972         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
26973         a file named "*.exe" is removed between the glob expansion and the
26974         processing of that oddly named file.
26975
26976 2010-09-17  Eric Blake  <eblake@redhat.com>
26977
26978         mirbsd: add some more support
26979         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
26980         in BSD family.
26981         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
26982         devices as OpenBSD.
26983         * m4/host-os.m4 (mirbsd): Add MirBSD.
26984
26985         tests: fix unportable assumption on sys/wait.h
26986         * tests/test-sys_wait.c (main): Relax test.
26987         * tests/test-stdlib.c (main): Likewise.
26988
26989         init.sh: accommodate directory with no .exes
26990         * tests/init.sh: Accomodate directory containing only scripts.
26991
26992         tests: avoid compiler warning
26993         * tests/test-stdlib.c (main): Use the variable.
26994
26995         fdutimens, fdutimensat: update signature, again
26996         * lib/utimens.h (gl_futimens): Delete, and move signature...
26997         (fdutimens): ...here.
26998         (fdutimensat): Rearrange signature.
26999         (lutimensat): Rename variable for clarity.
27000         * lib/fdutimensat.c (fdutimensat): Update signature.
27001         * lib/utimens.c (fdutimens): Likewise.
27002         (gl_futimens): Delete.
27003         (utimens, lutimens): Update callers.
27004         * lib/futimens.c (futimens): Likewise.
27005         * tests/test-fdutimensat.c: Likewise.
27006         * tests/test-utimens.c: Likewise.
27007         * tests/test-futimens.h: Update comment.
27008         * NEWS: Mention this.
27009         Suggested by Paul Eggert.
27010
27011 2010-09-17  Bruno Haible  <bruno@clisp.org>
27012
27013         Take over the maintenance of some older macros from Autoconf.
27014         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27015         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27016         GNU Autoconf.
27017         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27018         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27019
27020 2010-09-17  Eric Blake  <eblake@redhat.com>
27021
27022         fdutimensat: drop atflag validation
27023         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27024         with valid fd, to close a race scenario where futimens is
27025         unsupported and FILE was replaced by a symlink.
27026         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27027         accordingly.
27028         Suggested by Paul Eggert.
27029
27030 2010-09-16  Bruno Haible  <bruno@clisp.org>
27031
27032         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27033         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27034
27035 2010-09-16  Bruno Haible  <bruno@clisp.org>
27036
27037         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27038         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27039         login_tty exists.
27040         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27041
27042 2010-09-16  Bruno Haible  <bruno@clisp.org>
27043
27044         login_tty: Make the replacement code work on BSD systems.
27045         * lib/login_tty.c: Include <sys/ioctl.h>.
27046         (login_tty): Use ioctl TIOCSCTTY when available.
27047         * modules/login_tty (Depends-on): Add sys_ioctl.
27048         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27049
27050 2010-09-16  Bruno Haible  <bruno@clisp.org>
27051
27052         login_tty: Stricter unit test.
27053         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27054         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27055         and tcgetsid() after login_tty.
27056         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27057
27058 2010-09-16  Bruno Haible  <bruno@clisp.org>
27059
27060         New module 'tcgetsid'.
27061         * lib/tcgetsid.c: New file.
27062         * m4/tcgetsid.m4: New file.
27063         * modules/tcgetsid: New file.
27064         * modules/termios (Depends-on): Add c++defs, warn-on-use.
27065         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
27066         GNULIB_TCGETSID, HAVE_TCGETSID.
27067         * lib/termios.in.h: Include <sys/types.h>.
27068         (tcgetsid): New declaration.
27069         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
27070         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
27071         * doc/posix-functions/tcgetsid.texi: Mention the new module.
27072         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
27073
27074 2010-09-16  Bruno Haible  <bruno@clisp.org>
27075
27076         Tests for module 'termios'.
27077         * modules/termios-c++-tests: New file.
27078         * modules/termios-tests: New file.
27079         * tests/test-termios-c++.cc: New file.
27080         * tests/test-termios.c: New file.
27081
27082         New module 'termios'.
27083         * modules/termios: New file.
27084         * lib/termios.in.h: New file.
27085         * m4/termios_h.m4: New file.
27086         * doc/posix-headers/termios.texi: Mention the new module.
27087
27088 2010-09-16  Eric Blake  <eblake@redhat.com>
27089
27090         fdutimensat: add an atflag parameter
27091         * lib/fdutimensat.c (fdutimensat): Add new parameter.
27092         * lib/utimens.h (fdutimensat): Update prototype.
27093         * tests/test-fdutimensat.c: Adjust test to match.
27094         * NEWS: Document the change.
27095         Suggested by Paul Eggert.
27096
27097 2010-09-16  Bruno Haible  <bruno@clisp.org>
27098
27099         Fix typos in comments.
27100         * lib/striconveh.h: Fix typo in comment.
27101         * lib/login_tty.c (login_tty): Likewise.
27102
27103 2010-09-15  Bruno Haible  <bruno@clisp.org>
27104
27105         stdlib: clarify MirBSD WEXITSTATUS bug
27106         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
27107         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27108
27109 2010-09-15  Eric Blake  <eblake@redhat.com>
27110
27111         stdlib: work around MirBSD WEXITSTATUS bug
27112         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
27113         * modules/stdlib (Depends-on): Add sys_wait.
27114         * tests/test-sys_wait.c (main): Enhance test.
27115         * tests/test-stdlib.c (main): Likewise.
27116         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
27117
27118         docs: mention MacOS issue with WEXITSTATUS(constant)
27119         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
27120         issue.
27121         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27122
27123         strnlen: add tests
27124         * modules/strnlen-tests: New file.
27125         * tests/test-strnlen.c: Likewise.
27126
27127 2010-09-14  Bruno Haible  <bruno@clisp.org>
27128
27129         unistr/base: Avoid link errors when module 'libunistring' is also used.
27130         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
27131         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
27132         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
27133         Declare also when HAVE_LIBUNISTRING is set.
27134         Reported by Pádraig Brady <P@draigbrady.com>.
27135
27136 2010-09-14  Eric Blake  <eblake@redhat.com>
27137
27138         test-rawmemchr: make more robust
27139         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
27140         (Depends-on, configure.ac): Add needed prerequisites to use it.
27141         * modules/memchr-tests (Files, Depends-on, configure.ac):
27142         Likewise, to avoid implicit reliance on memchr module prereqs.
27143         * tests/test-memchr.c (main): Ensure proper masking.
27144         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
27145         reads.
27146
27147         memchr: detect glibc Alpha bug
27148         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
27149         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
27150         Alpha.
27151         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
27152         * tests/test-memchr.c (main): Enhance test.
27153         Reported by Nelson H. F. Beebe.
27154
27155 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27156
27157         fts, getcwd, glob: audit for dirfd returning -1
27158         * lib/fts.c (opendir): Remove #define; no longer used.
27159         (opendirat): New arg PDIR_FD.  All callers changed.
27160         (fts_build, _opendir2): Use new opendirat to avoid the need for
27161         dirfd, or for checking whether dirfd returns a negative value.
27162         Don't use opendir; always use openat followed by fdopendir.
27163         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
27164         it.
27165         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
27166         returns -1 here.
27167         * modules/fts (Depends-on): Remove dirfd.
27168         * modules/getcwd (Depends-on): Likewise.
27169
27170 2010-09-13  Eric Blake  <eblake@redhat.com>
27171
27172         float: fix broken MirBSD header
27173         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
27174         * doc/posix-headers/float.texi (float.h): Document it.
27175
27176 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27177
27178         fts: use O_NOFOLLOW to avoid race condition when opening a directory
27179         * lib/fts.c (opendirat): New arg extra_flags.
27180         (__opendir2): Use it to avoid following symlinks when opening
27181         a directory, if symlinks are not supposed to be followed.  See
27182         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
27183
27184         fdopendir: preserve argument fd before returning
27185         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
27186         (fdopendir_with_dup, fd_clone_opendir): New static functions.
27187         (fdopendir): Use them, arranging for FD to be open to the same
27188         directory that it was when it started.  (It might be temporarily
27189         closed while fdopendir is running, so this not thread- or
27190         signal-safe.)  Be careful to do the right thing even when file
27191         descriptors are scarce and dup fails with errno == EMFILE.  See
27192         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
27193
27194 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
27195
27196         regex: Pass the system regex if its only problem is 32-bit regoff_t.
27197         * NEWS: Document change.
27198         * m4/regex.m4: Disable test for regoff_t size.
27199
27200 2010-09-13  Jim Meyering  <meyering@redhat.com>
27201
27202         fts: don't operate on an invalid file descriptor after failed dup
27203         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
27204         negative file descriptor.
27205
27206 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
27207
27208         savedir: add streamsavedir, deprecate fdsavedir
27209         * NEWS: Mention deprecation of fdsavedir.
27210         * lib/savedir.c (streamsavedir): New extern function, whose name
27211         ends in "savedir" to be consistent with the others.  This differs
27212         from savedirstream in that it doesn't close its argument.  The
27213         next version of GNU tar will use this instead of fdsavedir, to
27214         avoid some race conditions and conserve file descriptors.
27215         (savedirstream): Reimplement as a wrapper around streamsavedir.
27216         (fdsavedir): Add a comment deprecating this function.  As far as
27217         I know, only GNU tar used it, and GNU tar doesn't need it any more.
27218         * lib/savedir.h (streamsavedir): New decl.
27219         (fdsavedir): Add a comment deprecating this.
27220
27221 2010-09-10  Bruno Haible  <bruno@clisp.org>
27222
27223         langinfo: Fix last commit.
27224         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
27225         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
27226         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27227
27228 2010-09-10  Bruno Haible  <bruno@clisp.org>
27229
27230         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
27231         * lib/progreloc.c (O_EXEC): Define fallback.
27232
27233 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
27234
27235         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
27236         * NEWS: Document recent changes to fcntl-h.
27237         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
27238         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
27239         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
27240         Similarly for O_SEARCH; this last was already true, but not documented.
27241         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
27242         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
27243         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
27244         Likewise.
27245         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
27246         is zero, not whether it is defined.
27247         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
27248         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
27249         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
27250
27251 2010-09-10  Bruno Haible  <bruno@clisp.org>
27252
27253         langinfo, nl_langinfo: Fix for IRIX 5.3.
27254         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
27255         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
27256         HAVE_LANGINFO_YESEXPR.
27257         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
27258         HAVE_LANGINFO_YESEXPR.
27259         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
27260         HAVE_LANGINFO_T_FMT_AMPM is 0.
27261         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
27262         HAVE_LANGINFO_YESEXPR is 0.
27263         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
27264         NOEXPR.
27265         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
27266         * doc/posix-functions/nl_langinfo.texi: Likewise.
27267         Reported by Eric Blake.
27268
27269 2010-09-10  Bruno Haible  <bruno@clisp.org>
27270
27271         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
27272         * doc/glibc-functions/login_tty.texi: Mention the include file problem
27273         on FreeBSD 8.0 and OpenBSD 4.6.
27274         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
27275         * m4/pty_h.m4 (gl_PTY_H): Likewise.
27276         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
27277         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
27278         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
27279         ac_includes_default.
27280         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27281
27282 2010-09-09  Eric Blake  <eblake@redhat.com>
27283
27284         strsignal: work around NetBSD bug
27285         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
27286         * lib/string.in.h (includes): Likewise.
27287         * doc/posix-functions/strsignal.texi (strsignal): Document the
27288         bug.
27289         Reported by Nelson H. F. Beebe.
27290
27291         gnulib-tool: work with NetBSD /bin/sh
27292         * gnulib-tool (func_cache_var, func_cache_lookup_module)
27293         (func_get_description, func_get_comment, func_get_status)
27294         (func_get_notice, func_get_applicability, func_get_filelist)
27295         (func_get_dependencies, func_get_autoconf_early_snippet)
27296         (func_get_autoconf_snippet, func_get_automake_snippet)
27297         (func_get_include_directive, func_get_link_directive)
27298         (func_get_license, func_get_maintainer, func_import): Avoid
27299         shell syntax errors from parsing syntax extensions.
27300
27301 2010-09-09  Bruno Haible  <bruno@clisp.org>
27302
27303         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27304         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
27305         a reliable way to determine whether the 'alias' command works.
27306
27307 2010-09-08  Jim Meyering  <meyering@redhat.com>
27308
27309         init.sh: penalize a set-x-impaired shell; don't disqualify it
27310         * tests/init.sh: Too many shells corrupt application stderr when
27311         you set -x, so we can't afford to disqualify them, since at least
27312         on Irix-6.5, that would disqualify all bourne shells.
27313         Instead, use a two-pass approach.
27314         On the first pass, try to find a shell that meets the stricter
27315         condition that set -x does not corrupt stderr.
27316         If no shell meets the stricter condition, retest each candidate
27317         shell, but without that extra condition.  Finally, when
27318         VERBOSE=yes is requested and set -x might cause trouble, simply
27319         issue a warning and refrain from enabling debug output.
27320
27321 2010-09-08  Eric Blake  <eblake@redhat.com>
27322
27323         unsetenv: fix OpenBSD bug
27324         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
27325         * doc/posix-functions/unsetenv.texi (unsetenv): Update
27326         documentation.
27327         Reported by Jim Meyering.
27328
27329         strtod: work around IRIX 6.5 bug
27330         * lib/strtod.c (strtod): Reparse number on shorter string if
27331         exponent parse was invalid.
27332         * tests/test-strtod.c (main): Add check for "0x1p 2".
27333         Reported by Tom G. Christensen.
27334
27335         getopt: optimize previous patch
27336         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
27337         empty variable.  Speed up awk script.
27338         Reported by Paolo Bonzini.
27339
27340 2010-09-08  Jim Meyering  <meyering@redhat.com>
27341
27342         test.sh: disqualify shells for which set -x corrupts stderr
27343         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
27344         and OpenBSD 4.7.  They make it so with "set -x", environment settings
27345         appear in stderr output.  For example, this command:
27346             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
27347         prints "P=1" on those two systems:
27348
27349 2010-09-08  Bruno Haible  <bruno@clisp.org>
27350
27351         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27352         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
27353         commands, because some shells ignore redirections when there is an
27354         error in the command lookup.
27355         Reported by Eric Blake.
27356
27357 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
27358
27359         * lib/regex.h: Fix a mention of `regex_compile' (should be
27360         `re_compile_pattern').
27361         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
27362         (re_set_registers): Correct name of parameter in comment.
27363
27364         * doc/regex.texi: Add documentation for missing syntax flags.
27365         Remove commented-out documentation of defunct syntax option
27366         RE_NO_EMPTY_ALTS.
27367         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
27368         Add documentation of re_set_registers.
27369         Document trick to re-use a pattern buffer by setting fastmap manually.
27370         Update documentation of struct re_pattern_buffer per public members.
27371         Uncomment documentation of equivalence class operators and
27372         collating symbol operators, since they are now implemented,
27373         Explain leftmost-longest matching in relation to alternatives.
27374         Tidy documentation of substring matching.
27375         Remove POSIX documentation, which is done better in
27376         glibc, and refer the reader there. Keep BSD API documentation, as
27377         that is not readily available elsewhere.
27378
27379 2010-09-07  Eric Blake  <eblake@redhat.com>
27380
27381         getopt: handle POSIXLY_CORRECT set but not exported
27382         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
27383         export state of POSIXLY_CORRECT, due to bash set -o posix.
27384         Reported by Dustin J. Mitchell.
27385
27386 2010-09-05  Bruno Haible  <bruno@clisp.org>
27387
27388         gnulib-tool: Highlight the changed options.
27389         * gnulib-tool (func_usage): Display the --import, --add-import,
27390         --remove-import explanations in bold font.
27391
27392 2010-09-06  Karl Berry  <karl@gnu.org>
27393
27394         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
27395
27396 2010-09-05  Bruno Haible  <bruno@clisp.org>
27397
27398         uniwidth/width: Update comment.
27399         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
27400         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
27401
27402 2010-09-05  Bruno Haible  <bruno@clisp.org>
27403
27404         isinf, isnan: Relax license.
27405         * modules/isinf (License): Change from GPL to LGPL, with consent from
27406         Ben Pfaff.
27407         * modules/isnan (License): Likewise.
27408         Requested by Ludovic Courtès.
27409
27410 2010-09-04  Bruno Haible  <bruno@clisp.org>
27411
27412         gnulib-tool: Help migration from --import to --add-import or --update.
27413         * gnulib-tool: Emit a verbose error message when --import is used
27414         without any module name.
27415
27416 2010-09-04  Bruno Haible  <bruno@clisp.org>
27417
27418         Update doc about gnulib-tool.
27419         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
27420         'gnulib-tool --update' in more detail.
27421         Reported by Eric Blake.
27422
27423 2010-09-04  Bruno Haible  <bruno@clisp.org>
27424
27425         gnulib-tool: Change --import. New options --add/remove-import.
27426         * gnulib-tool: New options --add-import, --remove-import.
27427         (func_usage): Document them.
27428         (have_associative): Define always.
27429         (func_import): In import mode, don't merge the specified settings with
27430         the cached settings. Implement remove-import mode.
27431         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27432         Explain when to use them versus --import.
27433         (Simple update): Use --add-import instead of --import.
27434         * NEWS: Mention the change.
27435
27436 2010-09-04  Bruno Haible  <bruno@clisp.org>
27437
27438         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27439         separate gnulib.mk.
27440
27441 2010-09-04  Bruno Haible  <bruno@clisp.org>
27442
27443         gnulib-tool: Don't talk about CVS any more.
27444         * gnulib-tool (func_usage, func_import): Write "version control"
27445         instead of CVS.
27446
27447 2010-09-04  Jim Meyering  <meyering@redhat.com>
27448
27449         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27450         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27451         false positives (whose names may be ill-chosen) when searching
27452         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27453         would cause a false-positive.
27454
27455         avoid coreutils "make distcheck" failure
27456         Coreutils tests with an absolute build directory name that contains
27457         a space.  Not quoting this directory name caused a failure.
27458         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27459         * tests/test-vc-list-files-cvs.sh: Likewise.
27460
27461 2010-09-04  Bruno Haible  <bruno@clisp.org>
27462
27463         gnulib-tool: Avoid error when run in a package without Makefile.am.
27464         * gnulib-tool: When collecting the m4dirs in a package that does not
27465         have a Makefile.am, eliminate those directories that contain no
27466         gnulib-cache.m4. Fix expression that counts these directories.
27467
27468 2010-09-04  Bruno Haible  <bruno@clisp.org>
27469
27470         update-copyright test: Improve output when perl is missing or too old.
27471         * tests/test-update-copyright.sh: Move test of Perl version down after
27472         the test whether Perl exists. Provide an explanation relating Perl's
27473         error message to Automake's SKIP: message.
27474
27475 2010-09-04  Bruno Haible  <bruno@clisp.org>
27476
27477         Don't augment PATH in TESTS_ENVIRONMENT.
27478         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27479         set abs_aux_dir instead of augmenting PATH.
27480         * modules/vc-list-files-tests (Makefile.am): Likewise.
27481         * tests/test-update-copyright.sh: Augment PATH here.
27482         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27483         path_prepend_.
27484         * tests/test-vc-list-files-git.sh: Likewise.
27485
27486 2010-09-04  Jim Meyering  <meyering@redhat.com>
27487
27488         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27489         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27490
27491 2010-09-04  Bruno Haible  <bruno@clisp.org>
27492
27493         strdup: Fix compilation error in C++ mode.
27494         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27495         the macro.
27496
27497 2010-09-04  Bruno Haible  <bruno@clisp.org>
27498
27499         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27500         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27501         macro into a function.
27502         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27503
27504 2010-09-04  Bruno Haible  <bruno@clisp.org>
27505
27506         Set PATH_SEPARATOR the same way autoconf does.
27507         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27508         the value of PATH_SEPARATOR the same way autoconf-generated configure
27509         scripts do.
27510         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27511         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27512
27513 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27514
27515         Set PATH_SEPARATOR the same way autoconf does.
27516         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27517         the same way autoconf-generated configure scripts do.
27518         * posix-modules: Likewise.
27519
27520 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27521
27522         hash: fix safe_hasher const typo
27523         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27524         const; otherwise, there is a type error later.
27525
27526 2010-09-02  Jim Meyering  <meyering@redhat.com>
27527
27528         test-update-copyright.sh: require perl 5.8.0
27529         * tests/test-update-copyright.sh: Require 5.8.0,
27530         which Tom G. Christensen has confirmed is adequate,
27531         while 5.6.1 is not.
27532
27533 2010-09-02  Eric Blake  <eblake@redhat.com>
27534
27535         tests: init.sh improvements for re-exec'ing with zsh
27536         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27537         -vx through shell re-exec.
27538         Reported by Tom G. Christensen.
27539
27540         wctype: fix typo in previous commit
27541         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27542         Reported by Ludovic Courtès.
27543
27544 2010-09-02  Jim Meyering  <meyering@redhat.com>
27545
27546         test-update-copyright.sh: skip test if Perl is too old
27547         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27548         Reported by Tom G. Christensen.
27549
27550 2010-09-02  Bruno Haible  <bruno@clisp.org>
27551
27552         wctype: Avoid compilation error on IRIX 6.5.30.
27553         * lib/wctype.in.h (iswblank): Declare with a replacement if
27554         REPLACE_ISWBLANK is set.
27555         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27556         declared. Set REPLACE_ISWBLANK.
27557         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27558         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27559         * doc/posix-headers/wctype.texi: Likewise.
27560         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27561
27562 2010-09-01  Bruno Haible  <bruno@clisp.org>
27563
27564         New module 'socketlib'.
27565         * modules/socketlib: New file.
27566         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27567         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27568         * modules/sockets (Depends-on): Add socketlib.
27569         Suggested by Sam Steingold <sds@gnu.org>.
27570
27571 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27572
27573         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27574
27575         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27576         when one needs search access to a directory but not read access.
27577         On systems where it is available, it works in some cases where
27578         O_RDONLY does not, namely on directories that are searchable but
27579         not readable, and which need only to be searchable.  If O_SEARCH
27580         is not available, fall back to the traditional method of using
27581         O_RDONLY.
27582
27583         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27584         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27585         when opening a directory that needs only to be searchable.
27586         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27587         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27588         * lib/openat-proc.c (openat_proc_name): Likewise.
27589         * lib/openat.c (openat_needs_fchdir): Likewise.
27590         * lib/save-cwd.c (save_cwd): Likewise.
27591         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27592
27593 2010-08-28  Bruno Haible  <bruno@clisp.org>
27594
27595         New module 'host-cpu-c-abi'.
27596         * modules/host-cpu-c-abi: New file.
27597         * m4/host-cpu-c-abi.m4: New file, based on part of
27598         clisp/src/m4/general.m4.
27599         Requested by Sam Steingold <sds@gnu.org>.
27600
27601 2010-08-31  Eric Blake  <eblake@redhat.com>
27602         and Jim Meyering  <meyering@redhat.com>
27603
27604         hash: factor, and guard against misbehaving hasher function
27605         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
27606         of table->hasher's return value.  Also protect against a hash value
27607         so large that adding it to table->bucket results in a NULL pointer.
27608         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
27609         Use it in place of open-coded check-and-abort.
27610
27611 2010-08-30  Bruno Haible  <bruno@clisp.org>
27612
27613         hash: silence spurious clang warning
27614         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
27615         Reported by Eric Blake.
27616
27617 2010-08-30  Eric Blake  <eblake@redhat.com>
27618
27619         strstr, memmem, strcasestr: avoid leaked shell message
27620         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
27621         FreeBSD.
27622         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27623         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27624
27625         tests: silence clang warning
27626         * tests/test-malloca.c (do_allocation): Avoid dead store.
27627
27628 2010-08-29  Bruno Haible  <bruno@clisp.org>
27629
27630         gettext: Fix recent mistake.
27631         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
27632
27633 2010-08-29  Bruno Haible  <bruno@clisp.org>
27634
27635         selinux-h: Offer a --without-selinux option.
27636         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
27637         --without-selinux was specified, skip all tests and define
27638         HAVE_SELINUX_SELINUX_H to 0.
27639         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
27640         set LIB_SELINUX to empty.
27641         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27642         gl_LIBSELINUX. If --without-selinux was specified, replace
27643         selinux/context.h.
27644         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27645
27646 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27647             Bruno Haible  <bruno@clisp.org>
27648
27649         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27650         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27651         of HAVE_REALLOC.
27652         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27653         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27654         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27655         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27656
27657 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27658             Bruno Haible  <bruno@clisp.org>
27659
27660         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27661         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27662         HAVE_CALLOC.
27663         * lib/xmalloc.c: Update accordingly.
27664         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
27665         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
27666         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
27667
27668 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27669             Bruno Haible  <bruno@clisp.org>
27670
27671         Make the module 'malloc-gnu' work again on AIX and OSF/1.
27672         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
27673         HAVE_MALLOC.
27674         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
27675         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
27676         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27677
27678 2010-08-29  Bruno Haible  <bruno@clisp.org>
27679
27680         Update modules list.
27681         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
27682         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
27683         (String handling <string.h>): Add astrxfrm.
27684         (File system functions): Add readlinkat.
27685
27686 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27687
27688         Tests for module 'realloc-gnu'.
27689         * modules/realloc-gnu-tests: New file.
27690         * tests/test-realloc-gnu.c: New file.
27691
27692         Tests for module 'calloc-gnu'.
27693         * modules/calloc-gnu-tests: New file.
27694         * tests/test-calloc-gnu.c: New file.
27695
27696         Tests for module 'malloc-gnu'.
27697         * modules/malloc-gnu-tests: New file.
27698         * tests/test-malloc-gnu.c: New file.
27699
27700 2010-08-28  Bruno Haible  <bruno@clisp.org>
27701
27702         Rename module 'realloc' -> 'realloc-gnu'.
27703         * modules/realloc-gnu: New file, copied from modules/realloc.
27704         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
27705         obsolete.
27706         * modules/mgetgroups (Depends-on): Update.
27707         * doc/posix-functions/realloc.texi: Update.
27708         * NEWS: Mention the change.
27709
27710         Rename module 'calloc' -> 'calloc-gnu'.
27711         * modules/calloc-gnu: New file, copied from modules/calloc.
27712         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
27713         obsolete.
27714         * doc/posix-functions/calloc.texi: Update.
27715         * NEWS: Mention the change.
27716
27717         Rename module 'malloc' -> 'malloc-gnu'.
27718         * modules/malloc-gnu: New file, copied from modules/malloc.
27719         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
27720         obsolete.
27721         * modules/argp (Depends-on): Update.
27722         * modules/regex (Depends-on): Update.
27723         * doc/posix-functions/malloc.texi: Update.
27724         * NEWS: Mention the change.
27725
27726 2010-08-28  Eric Blake  <eblake@redhat.com>
27727
27728         pread, pwrite: add missing dependency
27729         * modules/pread (Depends-on): Add extensions.
27730         * modules/pwrite (Depends-on): Likewise.
27731
27732 2010-08-28  Bruno Haible  <bruno@clisp.org>
27733
27734         unistr/u*-strchr: Fix tests dependencies.
27735         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
27736         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
27737         Reported by Ian Beckwith <ianb@erislabs.net>.
27738
27739 2010-08-28  Bruno Haible  <bruno@clisp.org>
27740
27741         read-file: Don't occupy too much unused memory.
27742         * lib/read-file.c (fread_file): Shrink the buffer at the end.
27743
27744 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
27745             Eric Blake  <eblake@redhat.com>
27746             Bruno Haible  <bruno@clisp.org>
27747
27748         read-file: Avoid memory reallocations with regular files.
27749         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
27750         (fread_file): With regular files, use the remaining length as the
27751         initial buffer size.  Check against overflow.
27752         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
27753         sys_stat.
27754
27755 2010-08-28  Bruno Haible  <bruno@clisp.org>
27756
27757         ftello: Relax license.
27758         * modules/ftello (License): Relax to LGPLv2+.
27759         Reported by Eric Blake.
27760
27761 2010-08-28  Bruno Haible  <bruno@clisp.org>
27762
27763         Avoid relocwrapper link errors due to gnulib replacement functions.
27764         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
27765         function.
27766         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27767
27768 2010-08-28  Bruno Haible  <bruno@clisp.org>
27769
27770         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
27771         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
27772         defined.
27773         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
27774         Suggested by Eric Blake.
27775
27776 2010-08-28  Bruno Haible  <bruno@clisp.org>
27777
27778         sys_socket, netdb: Ensure socklen_t gets defined.
27779         * modules/sys_socket (Depends-on): Add socklen.
27780         * modules/netdb (Depends-on): Likewise.
27781         * modules/getaddrinfo (Depends-on): Remove socklen.
27782         * modules/getsockopt (Depends-on): Likewise.
27783         * modules/setsockopt (Depends-on): Likewise.
27784         * tests/test-sys_socket.c: Check that socklen_t is defined.
27785         * tests/test-netdb.c: Likewise.
27786         * m4/socklen.m4: Update comments.
27787         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27788
27789 2010-08-27  Eric Blake  <eblake@redhat.com>
27790
27791         login_tty: add missing dependency
27792         * modules/login_tty (Depends-on): Add pty.
27793
27794 2010-08-26  Eric Blake  <eblake@redhat.com>
27795
27796         lib-symbol-versions: fix m4 quoting
27797         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
27798         format for AC_LINK_IFELSE.
27799
27800         glob: fix compile test
27801         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
27802
27803         btowc: fix missing file
27804         * modules/btowc (Files): Also ship locale-fr.m4.
27805
27806         lseek: fix link test
27807         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
27808         AC_LINK_IFELSE.
27809
27810         include_next: silence autoconf 2.68 warning
27811         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
27812         AC_COMPILE_IFELSE as special.
27813         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
27814         autoconf < 2.68.
27815
27816         acl: fix compilation test
27817         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
27818         AC_COMPILE_IFELSE.
27819
27820 2010-08-26  Bruno Haible  <bruno@clisp.org>
27821
27822         Modernize AC_TRY_RUN invocations.
27823         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
27824         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27825         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
27826         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
27827         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
27828         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27829         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27830         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27831         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27832         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27833         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27834         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27835         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27836         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27837         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27838         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27839         gl_MBRLEN_NUL_RETVAL): Likewise.
27840         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27841         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27842         Likewise.
27843         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27844         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27845         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27846         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27847         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
27848         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
27849         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
27850         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27851         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
27852         Likewise.
27853         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27854         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
27855         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27856         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27857         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27858         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27859         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27860         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
27861         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27862         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27863
27864 2010-08-26  Bruno Haible  <bruno@clisp.org>
27865
27866         Modernize AC_TRY_LINK invocations.
27867         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
27868         AC_TRY_LINK.
27869         * m4/argp.m4 (gl_ARGP): Likewise.
27870         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27871         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27872         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27873         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27874         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27875         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
27876         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27877         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27878         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27879         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27880         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27881         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
27882         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
27883         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27884         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27885         * m4/hostent.m4 (gl_HOSTENT): Likewise.
27886         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27887         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
27888         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27889         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
27890         Likewise.
27891         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
27892         Likewise.
27893         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
27894         Likewise.
27895         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27896         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
27897         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
27898         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27899         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27900         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27901         * m4/servent.m4 (gl_SERVENT): Likewise.
27902         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27903         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27904         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27905         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27906         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27907         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27908         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27909         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27910         * modules/tsearch-tests (configure.ac): Likewise.
27911
27912 2010-08-26  Bruno Haible  <bruno@clisp.org>
27913
27914         Modernize AC_TRY_COMPILE invocations.
27915         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
27916         AC_TRY_COMPILE.
27917         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
27918         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
27919         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27920         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
27921         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27922         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27923         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27924         * m4/lock.m4 (gl_LOCK): Likewise.
27925         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
27926         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27927         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
27928         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27929         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27930         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
27931         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27932         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
27933         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27934         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27935         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27936         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27937         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
27938         extraneous semicolon.
27939
27940 2010-08-26  Jim Meyering  <meyering@redhat.com>
27941
27942         stat-time: relax license LGPL
27943         * modules/stat-time (License): Change from GPL to LGPL,
27944         with consent from all contributors, for use in libguile.
27945         Requested by Ludovic Courtès.
27946
27947 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
27948
27949         poll: return immediately on POLLHUP.
27950         * lib/poll.c (poll): Always set timeout before wait_timeout is
27951         computed.
27952
27953 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27954
27955         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
27956         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
27957         rmdir ("dir/.//"), unlinkat.
27958
27959 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27960
27961         stdbool: avoid spurious failure with modern xlc
27962         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27963
27964 2010-08-24  Bruno Haible  <bruno@clisp.org>
27965
27966         getloadavg: simplify code
27967         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
27968         gl_have_func. Update comments.
27969
27970 2010-08-24  Eric Blake  <eblake@redhat.com>
27971
27972         getloadavg: don't define SVR4 on cygwin
27973         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
27974         only define SVR4 when -lkvm is required.
27975         Reported by Yaakov Selkowitz.
27976
27977 2010-08-24  Bruno Haible  <bruno@clisp.org>
27978
27979         priv-set: fix comment
27980         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
27981
27982 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
27983
27984         priv-set: fix comments
27985         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
27986         to match code, as suggested by David Bartley in:
27987         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
27988
27989 2010-08-23  Eric Blake  <eblake@redhat.com>
27990
27991         stdbool: avoid rejecting clang
27992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27993         * tests/test-stdbool.c: Enable more tests if using the system
27994         <stdbool.h> instead of the gnulib replacement.
27995         (main): Move xlc bug test to a runtime test for all compilers.
27996         Reported by Anders Kaseorg.
27997
27998         argz: fix shell quoting issue
27999         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
28000         Reported by Charles Wilson.
28001
28002 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
28003             Erik Faye-Lund <kusmabite@gmail.com>
28004
28005         poll, select: handle ERROR_BROKEN_PIPE.
28006         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28007         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28008         * lib/select.c (win32_compute_revents): Do not mark a pipe
28009         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28010
28011 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28012
28013         fts: allow compilation with C++
28014         * lib/fts_.h: Specify extern "C" linkage with C++.
28015
28016 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28017
28018         Fix gnulib-tool sed script de-commentation for AIX sed.
28019         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28020         sed.
28021
28022 2010-08-17  Eric Blake  <eblake@redhat.com>
28023
28024         test-stddef: test for (some) offsetof bugs
28025         * tests/test-stddef.c: Enhance test to ensure correct type of
28026         offsetof.
28027         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28028         that we are not fixing at this time.
28029
28030 2010-08-15  Bruno Haible  <bruno@clisp.org>
28031
28032         stpncpy: Allow stpncpy to be defined as a macro.
28033         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28034         if it's already correctly declared.
28035         * lib/string.in.h (stpncpy): Undefine before redefining.
28036         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28037
28038 2010-08-14  Bruno Haible  <bruno@clisp.org>
28039
28040         Rename module 'memxfrm' to 'amemxfrm'.
28041         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28042         (amemxfrm): Renamed from memxfrm.
28043         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28044         (amemxfrm): Renamed from memxfrm.
28045         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28046         * NEWS: Mention the change.
28047         * MODULES.html.sh (String handling <string.h>): Update.
28048         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28049         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28050         * lib/unicase/u16-casexfrm.c: Likewise.
28051         * lib/unicase/u32-casexfrm.c: Likewise.
28052         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28053         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28054         * lib/uninorm/u16-normxfrm.c: Likewise.
28055         * lib/uninorm/u32-normxfrm.c: Likewise.
28056         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28057         memxfrm.
28058         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28059         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28060         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28061         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28062         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28063         Suggested by Paul Eggert.
28064
28065 2010-08-14  Bruno Haible  <bruno@clisp.org>
28066
28067         Tests for module 'astrxfrm'.
28068         * modules/astrxfrm-tests: New file.
28069         * tests/test-astrxfrm.c: New file.
28070
28071         New module 'astrxfrm'.
28072         * lib/astrxfrm.h: New file.
28073         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
28074         * modules/astrxfrm: New file.
28075
28076 2010-08-14  Reuben Thomas <rrt@sc3d.org>
28077
28078         regex: Tweak doc.
28079         * doc/regex.texi (Overview): Don't mention regex.c.
28080         (GNU Regular Expression Compiling): Likewise.
28081         (Match-end-of-line Operator): Mention 'not_eol'.
28082
28083 2010-08-14  Brian Gough  <bjg@gnu.org>
28084             Bruno Haible  <bruno@clisp.org>
28085
28086         git-merge-changelog: add doc relating to use with bzr and hg.
28087         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
28088
28089 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
28090
28091         pthread: fix pthread.h creation for srcdir != builddir
28092         * modules/pthread (Makefile.am): Fix the rule to work also in a
28093         non-srcdir build.
28094
28095 2010-08-13  Karl Berry  <karl@gnu.org>
28096
28097         * doc/regex.texi (Predefined Syntaxes): @smallexample.
28098         * doc/posix-*/*: force line break before @url of POSIX
28099         specifications.
28100         Suggested by Werner Lemberg.
28101
28102 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28103
28104         strtod: fix const diagnostic
28105         * lib/strtod.c (strtod): Don't assign const char * to char *,
28106         as this elicits a warning from GCC when warnings are enabled.
28107
28108 2010-08-10  Pádraig Brady <P@draigbrady.com>
28109         and Eric Blake  <eblake@redhat.com>
28110
28111         copy-acl: ignore ENOTSUP on HP-UX
28112         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
28113         so that it is available for HP-UX.
28114         * lib/copy-acl.c (qcopy_acl): Use it.
28115         Reported by Patrick M. Callahan.
28116
28117 2010-08-10  Eric Blake  <eblake@redhat.com>
28118
28119         open, chown: relax license
28120         * modules/open (License): Change to LGPLv2+, with consent by all
28121         authors, for use in augeas.
28122         * modules/chown (License): Likewise.
28123         * modules/lchown (Likewise): Likewise.
28124         Requested by Adam Stokes.
28125
28126 2010-08-09  Karl Berry  <karl@gnu.org>
28127
28128         * build-aux/ar-lib: new file, import from Automake.
28129         * config/srclist.txt: autocheck for updates.
28130
28131 2010-08-09  Eric Blake  <eblake@redhat.com>
28132
28133         readlinkat: adjust client modules
28134         * modules/areadlinkat (Depends-on): Use readlinkat, not
28135         symlinkat.
28136         * modules/areadlinkat-with-size (Depends-on): Likewise.
28137
28138         mknod: be more vocal about danger of running tests as root
28139         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
28140         root, since that is just asking for problems.
28141         Suggested by Bruno Haible, based on a report by Rainer Tammer.
28142
28143         readlinkat: split into its own module
28144         * modules/symlinkat: Split readlinkat...
28145         * modules/readlinkat: ...into separate module.
28146         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
28147         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
28148         * lib/symlinkat.c (readlinkat): Move...
28149         * lib/readlinkat.c: ...into new file.
28150         * modules/symlinkat-tests: Split readlinkat test...
28151         * modules/readlinkat-tests: ...into separate module.
28152         * tests/test-symlinkat.c: Split...
28153         * tests/test-readlinkat.c: ...into new file.
28154         * NEWS: Document the split.
28155         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28156         * lib/unistd.in.h (readlinkat): Likewise.
28157         Suggested by Bruno Haible.
28158
28159 2010-08-08  Bruno Haible  <bruno@clisp.org>
28160
28161         memxfrm: Speed up.
28162         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
28163         that usually only one call to strxfrm is necessary for each string
28164         part.
28165         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28166
28167 2010-08-07  Karl Berry  <karl@gnu.org>
28168
28169         * doc/posix-headers/limits.texi,
28170         * doc/posix-functions/malloc.texi,
28171         * doc/posix-functions/strsignal.texi: missing @item.
28172         * doc/ld-version-script.texi: spurious leading i.
28173         * doc/regex.texi (Interval Operators): no commas inside @var.
28174
28175 2010-08-01  Bruno Haible  <bruno@clisp.org>
28176
28177         Integrate the regex documentation.
28178         * doc/gnulib.texi: Define 'cn' index.
28179         (Regular expressions): New a chapter that includes regex.texi and
28180         regexprops-generic.texi.
28181         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
28182         syntax.
28183
28184         Whitespace cleanup.
28185         * doc/regex.texi: Remove trailing spaces.
28186
28187         Add regex documentation.
28188         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
28189         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
28190         Written by Kathy A. Hargreaves and Karl Berry.
28191
28192 2010-08-01  Bruno Haible  <bruno@clisp.org>
28193
28194         link: Update documentation.
28195         * doc/posix-functions/link.texi: Update regarding Solaris.
28196
28197 2010-07-31  Bruno Haible  <bruno@clisp.org>
28198
28199         Update modules list.
28200         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
28201         (String handling <string.h>): Add memcmp2, memxfrm.
28202         (Container data structures): Add xlist, xsublist, xoset.
28203         (Core language properties): Add alignof, unused-parameter.
28204         (Process control, Numeric conversion functions <stdlib.h>): Renamed
28205         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
28206         (Unibyte characters <ctype.h>): New section.
28207         (String handling <string.h>): New section.
28208         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
28209         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
28210         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
28211         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
28212         tan, tanh, tanl, y0, y1, yn.
28213         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
28214         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
28215         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
28216         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
28217         unlockpt, vdprintf, vdprintf-posix.
28218         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
28219         (File system functions): Add concat-filename, sys_file, sys_ioctl,
28220         xconcat-filename.
28221         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
28222         getdtablesize, pipe2, pipe2-safer.
28223         (Security): New section.
28224         (Networking functions): Add accept4.
28225         (Signal handling): Add sigpipe.
28226         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
28227         mbmemcasecoll.
28228         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
28229         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
28230         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
28231         pipe-filter-ii.
28232         (Misc): Add argp-version-etc, login_tty, parse-duration.
28233
28234 2010-07-31  Bruno Haible  <bruno@clisp.org>
28235
28236         Improve doc in MODULES.html.
28237         * modules/linkat (Description): Add the word "function".
28238         * modules/mkfifo (Description): Likewise.
28239         * modules/mknod (Description): Likewise.
28240         * modules/remove (Description): Likewise.
28241         * modules/renameat (Description): Likewise.
28242         * modules/stat (Description): Likewise.
28243         * modules/symlink (Description): Likewise.
28244         * modules/unlink (Description): Likewise.
28245
28246 2010-07-31  Bruno Haible  <bruno@clisp.org>
28247
28248         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
28249         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
28250         option --enable/disable-c++ instead of --enable/disable-cxx.
28251         * NEWS: Mention the change.
28252
28253 2010-07-31  Bruno Haible  <bruno@clisp.org>
28254
28255         readlink, areadlink: Relax test a bit.
28256         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
28257         alternative to ENOTDIR.
28258         * tests/test-areadlink.h (test_areadlink): Likewise.
28259         Reported by Rainer Tammer.
28260
28261 2010-07-31  Bruno Haible  <bruno@clisp.org>
28262
28263         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
28264         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
28265         character, perform the search using U_STRCHR.
28266         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
28267         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
28268         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
28269         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
28270         Suggested by Paolo Bonzini.
28271
28272 2010-07-31  Bruno Haible  <bruno@clisp.org>
28273
28274         unistr/u*-strstr: Fix dependencies.
28275         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
28276         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
28277         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
28278
28279 2010-07-31  Bruno Haible  <bruno@clisp.org>
28280
28281         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
28282         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
28283         the beginning of the loop.
28284         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
28285         cases in 'switch' statement.
28286
28287         unistr/u8-strchr: Fix several bugs.
28288         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
28289         the string. When not found, return NULL, not a pointer near the end.
28290
28291         More tests for unistr/u8-strchr.
28292         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
28293         that the function does not read past the first occurrence of the byte
28294         being searched.
28295         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
28296         * tests/unistr/test-u16-strchr.c (main): New function.
28297         * tests/unistr/test-u32-strchr.c (main): New function.
28298
28299 2010-07-31  Bruno Haible  <bruno@clisp.org>
28300
28301         posix-modules: Ignore backup files of documentation files.
28302         * posix-modules: grep only through files named *.texi.
28303
28304 2010-07-31  Bruno Haible  <bruno@clisp.org>
28305
28306         symlinkat: Fix documentation.
28307         * doc/posix-functions/readlinkat.texi: Fix module name.
28308
28309 2010-07-31  Bruno Haible  <bruno@clisp.org>
28310
28311         fchownat: Replace also when chown has the trailing slash bug.
28312         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
28313         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
28314         introduced on 2010-04-10.
28315         Reported by Rainer Tammer.
28316
28317 2010-07-31  Bruno Haible  <bruno@clisp.org>
28318
28319         linkat: Work around AIX 7.1 bug.
28320         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
28321         whether linkat handles trailing slash correctly. If not, replace linkat
28322         and define LINKAT_TRAILING_SLASH_BUG.
28323         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
28324         check whether (fd1,file1) points to a directory if file1 or file2 ends
28325         in a slash. Code taken from lib/link.c.
28326         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
28327         Reported by Rainer Tammer.
28328
28329 2010-07-31  Bruno Haible  <bruno@clisp.org>
28330
28331         Correctly determine whether pow is available in libc on AIX 7 with xlc.
28332         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
28333         This disables an xlc optimization that was causing wrong test results.
28334         Reported by Rainer Tammer.
28335
28336 2010-07-31  Bruno Haible  <bruno@clisp.org>
28337
28338         iconv: Work around AIX 6.1..7.1 bug.
28339         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
28340         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
28341         cross-compiling, guess no on all versions of AIX.
28342         Reported by Rainer Tammer.
28343
28344 2010-07-31  Bruno Haible  <bruno@clisp.org>
28345
28346         readlink: Relax test a bit.
28347         * tests/test-readlink.h (test_readlink): Allow different errno value
28348         when readlink is called with a file name that ends in / and refers to
28349         a file.
28350         Suggested by Eric Blake.
28351         Reported by Rainer Tammer.
28352
28353 2010-07-31  Bruno Haible  <bruno@clisp.org>
28354
28355         copysign: Does not require -lm on glibc systems.
28356         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
28357         gl_COMMON_DOUBLE_MATHFUNC.
28358         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
28359
28360 2010-07-31  Bruno Haible  <bruno@clisp.org>
28361
28362         duplocale: Work around AIX 7.1 bug.
28363         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
28364         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
28365         * lib/duplocale.c (rpl_duplocale): Update comment.
28366         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
28367         Reported by Rainer Tammer.
28368
28369 2010-07-30  Bruno Haible  <bruno@clisp.org>
28370
28371         dirfd: Avoid link error on AIX 7.1.
28372         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
28373         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
28374         exist, set REPLACE_DIRFD.
28375         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
28376         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
28377         * doc/posix-functions/dirfd.texi: Update.
28378         Reported by Rainer Tammer.
28379
28380 2010-07-30  Eric Blake  <eblake@redhat.com>
28381
28382         strtod: next round of AIX fixes
28383         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
28384         exponent.
28385         * tests/test-strtod.c (main): Enhance tests.
28386         * doc/posix-functions/strtod.texi (strtod): Document next bug.
28387         Reported by Rainer Tammer.
28388
28389         futimens: fix configure check
28390         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
28391         Reported by Bruno Haible.
28392
28393 2010-07-30  Bruno Haible  <bruno@clisp.org>
28394
28395         getline: Update regarding AIX.
28396         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
28397         Reported by Rainer Tammer.
28398
28399 2010-07-30  Bruno Haible  <bruno@clisp.org>
28400
28401         wcwidth: Drop replacement on AIX 7.
28402         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
28403         AIX 7.
28404         Reported by Rainer Tammer.
28405
28406 2010-07-30  Bruno Haible  <bruno@clisp.org>
28407
28408         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
28409         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
28410         a 'char *'.
28411         Reported by Rainer Tammer.
28412
28413 2010-07-30  Bruno Haible  <bruno@clisp.org>
28414
28415         unlink: Update regarding AIX.
28416         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
28417         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
28418         Reported by Rainer Tammer.
28419
28420 2010-07-30  Bruno Haible  <bruno@clisp.org>
28421
28422         symlink: Update regarding AIX.
28423         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
28424         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
28425         Reported by Rainer Tammer.
28426
28427 2010-07-30  Bruno Haible  <bruno@clisp.org>
28428
28429         strndup: Update regarding AIX.
28430         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28431         AIX 7.
28432         Reported by Rainer Tammer.
28433
28434 2010-07-30  Bruno Haible  <bruno@clisp.org>
28435
28436         stat: Update regarding AIX.
28437         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28438         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28439         Reported by Rainer Tammer.
28440
28441 2010-07-30  Bruno Haible  <bruno@clisp.org>
28442
28443         truncl: Fix autoconf test.
28444         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28445         whether truncl works.
28446         Reported by Rainer Tammer.
28447
28448 2010-07-30  Bruno Haible  <bruno@clisp.org>
28449
28450         round: Update regarding AIX.
28451         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28452         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28453         Reported by Rainer Tammer.
28454
28455 2010-07-30  Bruno Haible  <bruno@clisp.org>
28456
28457         rename: Update regarding AIX.
28458         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28459         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28460         Reported by Rainer Tammer.
28461
28462 2010-07-30  Bruno Haible  <bruno@clisp.org>
28463
28464         printf.m4: Update regarding AIX.
28465         * m4/printf.m4: Update comments regarding AIX.
28466         Reported by Rainer Tammer.
28467
28468 2010-07-30  Bruno Haible  <bruno@clisp.org>
28469
28470         iconv: Update regarding AIX.
28471         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28472         AIX 7.
28473         Reported by Rainer Tammer.
28474
28475 2010-07-30  Bruno Haible  <bruno@clisp.org>
28476
28477         getopt: Update regarding AIX.
28478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28479         no on AIX.
28480         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28481         Reported by Rainer Tammer.
28482
28483 2010-07-30  Bruno Haible  <bruno@clisp.org>
28484
28485         ldexpl; Update regarding AIX.
28486         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28487         on AIX 7.
28488         Reported by Rainer Tammer.
28489
28490 2010-07-30  Bruno Haible  <bruno@clisp.org>
28491
28492         frexpl: Update regarding AIX.
28493         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28494         on AIX 7.
28495         Reported by Rainer Tammer.
28496
28497 2010-07-30  Bruno Haible  <bruno@clisp.org>
28498
28499         open, fopen: Update regarding AIX.
28500         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28501         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28502         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28503         * doc/posix-functions/fopen.texi: Likewise.
28504         Reported by Rainer Tammer.
28505
28506 2010-07-30  Bruno Haible  <bruno@clisp.org>
28507
28508         chown: Update doc regarding AIX.
28509         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28510         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28511         Reported by Rainer Tammer.
28512
28513 2010-07-30  Eric Blake  <eblake@redhat.com>
28514
28515         strtod: fix bug in replacement function on AIX
28516         * lib/strtod.c (strtod): Special case broken "0x" parse in
28517         underlying strtod.
28518         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28519         * doc/posix-functions/strtod.texi (strtod): Likewise.
28520         Reported by Rainer Tammer.
28521
28522 2010-07-30  Bruno Haible  <bruno@clisp.org>
28523
28524         mbrlen: Fix cross-compilation guess for AIX.
28525         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28526         guess. Leftover from 2008-12-22.
28527
28528 2010-07-30  Bruno Haible  <bruno@clisp.org>
28529
28530         mbrtowc: Fix cross-compilation guess for AIX.
28531         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28532         guess. Leftover from 2008-12-21.
28533
28534 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28535
28536         init.sh: work around trap limitation of some shells
28537         * tests/init.sh (setup_): Move exit trap outside of shell function.
28538
28539 2010-07-29  Eric Blake  <eblake@redhat.com>
28540
28541         strtod: aid debugging
28542         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28543         understanding why strtod is rejected.
28544
28545 2010-07-28  Bruno Haible  <bruno@clisp.org>
28546
28547         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28548         * lib/unistr/u8-chr.c: Include <string.h>.
28549         * tests/unistr/test-u8-chr.c: Likewise.
28550         * tests/unistr/test-u16-chr.c: Likewise.
28551         * tests/unistr/test-u32-chr.c: Likewise.
28552         * tests/unistr/test-u8-strchr.c: Likewise.
28553         * tests/unistr/test-u16-strchr.c: Likewise.
28554         * tests/unistr/test-u32-strchr.c: Likewise.
28555         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28556         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28557         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28558         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28559
28560 2010-07-28  Bruno Haible  <bruno@clisp.org>
28561
28562         Use spaces for indentation, not tabs.
28563         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28564
28565 2010-07-27  Bruno Haible  <bruno@clisp.org>
28566
28567         mbspcasecmp: Fix function specification.
28568         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28569         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28570         Reported by Eric Blake <eblake@redhat.com>.
28571
28572 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28573
28574         timespec: use cast and not conditional, as truncation isn't possible
28575         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28576         instead of a conditional.  Comment about the situation in more detail.
28577         This undoes most of the 2009-10-29 patch.
28578
28579 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28580
28581         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28582         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28583         * lib/unistr/u8-strchr.c: Likewise.
28584         * modules/unistr/u8-chr: Depend on memchr.
28585
28586         unistr/u*-strchr: add tests
28587         * modules/unistr/u8-strchr-tests: New file.
28588         * modules/unistr/u16-strchr-tests: New file.
28589         * modules/unistr/u32-strchr-tests: New file.
28590         * tests/unistr/test-strchr.h: New file.
28591         * tests/unistr/test-u8-strchr.c: New file.
28592         * tests/unistr/test-u16-strchr.c: New file.
28593         * tests/unistr/test-u32-strchr.c: New file.
28594
28595         unistr/u*-chr: test multibyte sequences more
28596         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28597         test vector.
28598         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28599         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28600         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
28601
28602         unistr/u*-chr: test multibyte sequences
28603         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
28604
28605         unistr/u*-chr: prepare for multibyte tests
28606         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
28607         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
28608         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
28609         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
28610         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
28611         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
28612
28613 2010-07-18  Bruno Haible  <bruno@clisp.org>
28614
28615         unistr/u8-strchr: Optimize non-ASCII argument case.
28616         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
28617         because the first byte often matches anyway.
28618         Reported by Pádraig Brady <P@draigbrady.com>.
28619
28620 2010-07-15  Karl Berry  <karl@gnu.org>
28621
28622         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
28623
28624 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
28625
28626         getcwd: on Solaris, work better if ancestors are inaccessible
28627         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
28628         buffer and size, try again with a large buffer.  This works better
28629         on Solaris, since its getcwd succeeds even if the path to the root
28630         is inaccessible, and this is helpful in common cases such as .zfs
28631         hidden directories.  Problem reported by J Chapman Flack in
28632         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
28633         Use system getcwd if it's declared, not merely if it's partly
28634         working; use the partly-working test only to avoid needless effort
28635         if the system getcwd fails.
28636         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
28637         comment that was already obsolete and is now even more obsolete.
28638         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
28639         now might call strdup.
28640
28641 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28642
28643         pthread: Add enough so that coreutils/src/sort.c compiles.
28644         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28645         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28646         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28647         Include <sys/types.h>, in case it defines pthread_t.
28648         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28649         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28650         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28651         (pthread_rwlockattr_t, pthread_spinlock_t):
28652         New typedefs, if HAVE_PTHREAD_T is not defined.
28653         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28654         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28655         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28656         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28657         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28658         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28659         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28660         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28661         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28662         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
28663         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
28664         New macros.
28665         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
28666         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
28667         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
28668         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
28669         (pthread_spin_unlock): New dummy functions.
28670         (pthread_create): Return EAGAIN; don't set errno.
28671         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
28672         require AC_C_INLINE.
28673         * modules/pthread (Depends-on): Add sched, time.
28674         (pthread.h): Use AM_V_GEN.
28675
28676 2010-07-13  Bruno Haible  <bruno@clisp.org>
28677
28678         striconveh: Don't malloc memory if the result buffer is sufficient.
28679         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
28680         buffer if its size is sufficient.
28681         Reported by Ludovic Courtès <ludo@gnu.org>.
28682
28683 2010-07-13  Bruno Haible  <bruno@clisp.org>
28684
28685         strtod: Add safety check.
28686         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
28687
28688 2010-07-12  Bruno Haible  <bruno@clisp.org>
28689
28690         Unify tests that set gl_cv_func_ldexpl_no_libm.
28691         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
28692         gl_FUNC_LDEXPL.
28693         (gl_FUNC_LDEXPL): Invoke it.
28694         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28695
28696 2010-07-12  Bruno Haible  <bruno@clisp.org>
28697
28698         Unify tests that set gl_cv_func_ldexp_no_libm.
28699         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
28700         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
28701         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
28702         (configure.ac): Simply invoke gl_FUNC_LDEXP.
28703         * modules/strtod (Files): Add m4/ldexp.m4.
28704
28705 2010-07-12  Bruno Haible  <bruno@clisp.org>
28706
28707         Unify tests that set gl_cv_func_frexpl_no_libm.
28708         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
28709         gl_FUNC_FREXPL_NO_LIBM.
28710         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
28711         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28712
28713 2010-07-12  Bruno Haible  <bruno@clisp.org>
28714
28715         Unify tests that set gl_cv_func_frexp_no_libm.
28716         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
28717         gl_FUNC_FREXP_NO_LIBM.
28718         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
28719         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28720
28721 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28722
28723         memcoll: clarify sizes versus lengths, document better, and tweak perf
28724         * lib/memcoll.c (strcoll_loop, memcoll0):
28725         Improve quality of descriptive comments.  Name variables
28726         consistently as to whether they are lengths (which do not include
28727         terminating null) versus sizes (which do).
28728         * lib/xmemcoll.c (xmemcoll0): Likewise.
28729         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
28730         returned when s1size == 0; this is easier to compile and saves
28731         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
28732
28733 2010-07-12  Bruno Haible  <bruno@clisp.org>
28734
28735         Tests for module '_Exit'.
28736         * modules/_Exit-tests: New file.
28737         * tests/test-_Exit.sh: New file.
28738         * tests/test-_Exit.c: New file.
28739
28740         New module '_Exit'.
28741         * lib/stdlib.in.h (__attribute__): New macro.
28742         (_Exit): New declaration.
28743         * lib/_Exit.c: New file.
28744         * m4/_Exit.m4: New file.
28745         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
28746         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
28747         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
28748         * modules/_Exit: New file.
28749         * tests/test-stdlib-c++.cc (_Exit): Check signature.
28750         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
28751
28752 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28753
28754         strtod: make it more-accurate typically, and don't require libm
28755         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
28756         Include limits.h.  Don't include string.h.
28757         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
28758         (locale_isspace): New function, so that no casts are needed to
28759         check whether *s is a space.
28760         (ldexp): Provide an unused dummy if not available.
28761         (scale_radix_exp, parse_number, underlying_strtod): New functions.
28762         (strtod): Use them.  This implementation prefers to use the
28763         underlying strtod if available, falling back on our own code
28764         only to fix known bugs.  This is more likely to produce an
28765         accurate result.  Also, it avoids the use of libm functions.
28766         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
28767         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
28768         was absent, but it caused a test failure with coreutils.
28769         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
28770         with libm.
28771         * modules/strtod (Makefile.am, Link): libm is no longer needed.
28772         * modules/strtod-tests (Makefile.am): Likewise.
28773
28774 2010-07-11  Pádraig Brady  <P@draigBrady.com>
28775             Bruno Haible  <bruno@clisp.org>
28776
28777         unistr/u8-strchr: Optimize ASCII argument case.
28778         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
28779
28780 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
28781
28782         (x)memcoll: minor tweaks
28783         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
28784         is after the type that it qualifies.
28785         (memcoll0): Likewise.
28786         * lib/memcoll.h (memcoll0): Likewise.
28787         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
28788         * lib/xmemcoll.h (xmemcoll0): Likewise.
28789         * lib/memcoll.c (memcoll0): Correct the comment.  This function
28790         differs from memcoll in that the NUL byte is part of the argument.
28791         Omit the abort-checks, as performance is a real issue here.  Plus,
28792         the checks were wrong anyway (an off-by-one error).  Omit local
28793         variable 'diff', as it's a bit clearer that way.
28794         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
28795         no longer needed.
28796
28797 2010-07-08  Chen Guo <chenguo4@yahoo.com>
28798
28799         (x)memcoll: speedup when input is known to be NUL delimited
28800         * lib/memcoll.c: Include stdlib.
28801         (memcoll0): New function.
28802         (strcoll_loop): New function, refactored for use in both memcoll
28803         and memcoll0.
28804         * lib/memcoll.h (memcoll0): Add prototype.
28805         * lib/xmemcoll.c (xmemcoll0): New function.
28806         (collate_error): New function, refactored for use in both xmemcoll
28807         and xmemcoll0.
28808         * lib/xmemcoll.h (xmemcoll0): Add prototype.
28809         * m4/memcoll.m4: add inline invocation.
28810
28811 2010-07-06  Pádraig Brady  <P@draigBrady.com>
28812
28813         * build-aux/bootstrap: Remove any local translations
28814         from the translation project synchronization directory,
28815         so that local only translations are not distributed.
28816
28817 2010-07-04  Bruno Haible  <bruno@clisp.org>
28818
28819         fsusage: Clarify which code applies to which platforms.
28820         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
28821         platform.
28822         * lib/fsusage.c (get_fs_usage): Likewise.
28823
28824 2010-07-04  Bruno Haible  <bruno@clisp.org>
28825
28826         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
28827         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
28828         Reported by Martin Lambers <marlam@marlam.de>.
28829
28830 2010-07-04  Jim Meyering  <meyering@redhat.com>
28831
28832         hash: once again explicitly disallow insertion of NULL
28833         * lib/hash.c (hash_insert0): Reinstate just-removed test:
28834         inserting a NULL pointer cannot work with these functions.
28835         Add a comment with details.
28836         This reverts part of the 2010-07-01 commit, 5bef1a35
28837         "hash: extend module to deal with non-pointer keys".
28838
28839 2010-07-01  Bruno Haible  <bruno@clisp.org>
28840
28841         stdbool: Update doc.
28842         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
28843         Info from Christian Weisgerber <naddy@mips.inka.de>.
28844
28845 2010-07-01  Jim Meyering  <meyering@redhat.com>
28846
28847         hash: extend module to deal with non-pointer keys
28848         * lib/hash.c (hash_insert0): New interface, much like hash_insert
28849         but that allows insertion of non-pointer entries.
28850         Do not disallow an ENTRY value of NULL.
28851         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
28852         * lib/hash.h (hash_insert0): Declare.
28853
28854 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28855
28856         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
28857         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
28858         not present (i.e. with autoconf 2.59 and when using gettextize, not
28859         gnulib), require AC_GNU_SOURCE instead.
28860
28861 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
28862
28863         idpriv-drop: Fix tests.
28864         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
28865         not to the test-idpriv-droptemp program.
28866
28867 2010-06-29  Bruno Haible  <bruno@clisp.org>
28868
28869         string: Fix syntax error with g++ 2.96.
28870         * lib/string.in.h (__pure__): Remove definition.
28871         (_GL_ATTRIBUTE_PURE): New macro.
28872         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
28873         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
28874         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28875
28876 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
28877
28878         unitypes: Fix bug introduced on 2010-05-18.
28879         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
28880
28881 2010-06-22  Eric Blake  <eblake@redhat.com>
28882
28883         memmem: slight optimization
28884         * lib/str-two-way.h (critical_factorization): Update comments.
28885         Reduce work during factorization phase.
28886         Reported by Carlos Bueno <carlos@bueno.org>.
28887
28888 2010-06-21  Bruno Haible  <bruno@clisp.org>
28889
28890         Fix HAVE_CALLOC_POSIX misnomer.
28891         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
28892         !HAVE_CALLOC_POSIX.
28893         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
28894         HAVE_CALLOC_POSIX.
28895         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
28896         instead of HAVE_CALLOC_POSIX.
28897         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
28898         HAVE_CALLOC_POSIX.
28899
28900         Use modern idiom for calloc() replacement.
28901         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
28902         AC_FUNC_CALLOC.
28903         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
28904         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
28905         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28906         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
28907         (gl_REPLACE_CALLOC): New macro.
28908
28909 2010-06-21  Bruno Haible  <bruno@clisp.org>
28910
28911         Fix HAVE_REALLOC_POSIX misnomer.
28912         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
28913         !HAVE_REALLOC_POSIX.
28914         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
28915         HAVE_REALLOC_POSIX.
28916         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
28917         instead of HAVE_REALLOC_POSIX.
28918         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
28919         HAVE_REALLOC_POSIX.
28920
28921         Use modern idiom for realloc() replacement.
28922         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
28923         AC_FUNC_REALLOC.
28924         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
28925         Autoconf's AC_FUNC_REALLOC.
28926         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28927         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
28928         (gl_REPLACE_REALLOC): New macro.
28929         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28930
28931 2010-06-21  Bruno Haible  <bruno@clisp.org>
28932
28933         Fix HAVE_MALLOC_POSIX misnomer.
28934         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
28935         !HAVE_MALLOC_POSIX.
28936         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
28937         HAVE_MALLOC_POSIX.
28938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
28939         instead of HAVE_MALLOC_POSIX.
28940         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
28941         HAVE_MALLOC_POSIX.
28942
28943         Use modern idiom for malloc() replacement.
28944         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
28945         AC_FUNC_MALLOC.
28946         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
28947         Autoconf's AC_FUNC_MALLOC.
28948         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28949         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
28950         (gl_REPLACE_MALLOC): New macro.
28951         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28952
28953 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
28954
28955         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
28956         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
28957         This macro takes 3 arguments, not 4.
28958
28959 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
28960
28961         ipv6: fix detection under mingw
28962         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
28963         in6_addr.
28964
28965 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
28966
28967         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
28968         that strtod() works when cross-compiling to a glibc version known
28969         to work.
28970
28971 2010-06-15  Bruno Haible  <bruno@clisp.org>
28972
28973         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
28974
28975 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
28976
28977         select: Correct timeout.
28978         * lib/select.c (rpl_select): Compute wait_timeout correctly.
28979
28980 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28981
28982         git-version-gen: init shell var to avoid env var influence
28983         * build-aux/git-version-gen (v): Init shell var to empty.
28984
28985 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
28986
28987         priv-set: Don't assume that priv.h exists merely because getppriv does.
28988         See Jan Andersen's bug report about AIX 5L in
28989         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
28990         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
28991         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
28992         * lib/priv-set.h: Likewise.
28993         * tests/test-priv-set.c: Likewise.
28994
28995 2010-06-13  Bruno Haible  <bruno@clisp.org>
28996
28997         relocatable: Make it easier to test whether to install wrappers.
28998         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
28999         RELOCATABLE_VIA_WRAPPER.
29000
29001 2010-06-13  Bruno Haible  <bruno@clisp.org>
29002
29003         gnulib-tool: Display specified modules and dependencies differently.
29004         * gnulib-tool (func_show_module_list): New function.
29005         (func_import, func_create_testdir): Invoke it.
29006         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29007
29008 2010-06-13  Bruno Haible  <bruno@clisp.org>
29009
29010         gnulib-tool: Align code of func_import and func_create_testdir.
29011         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29012         specified_modules.
29013
29014 2010-06-12  Jim Meyering  <meyering@redhat.com>
29015
29016         test-inttostr: avoid spurious failure on Solaris 9
29017         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29018         to accept "%ju".  Reported by Bruno Haible.
29019
29020 2010-06-11  Jim Meyering  <meyering@redhat.com>
29021
29022         test-sys_socket: mark variables as used more readably
29023         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29024         as "used" explicitly via (void) statement casts.  This is more
29025         readable than using them in an artificial return expression.
29026         Suggestion from Bruno Haible.
29027
29028 2010-06-11  Bruno Haible  <bruno@clisp.org>
29029
29030         Avoid some more warnings from "gcc -Wwrite-strings".
29031         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29032         to 'const char *'.
29033         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29034         * tests/test-c-strcasestr.c (main): Likewise.
29035         * tests/test-mbscasestr1.c (main): Likewise.
29036         * tests/test-mbscasestr2.c (main): Likewise.
29037         * tests/test-memmem.c (main): Likewise.
29038         * tests/test-strstr.c (main): Likewise.
29039         * tests/test-strcasestr.c (main): Likewise.
29040
29041 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29042
29043         init.sh: change framework_failure_ to fail with status 99, not 1
29044         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29045         automake's parallel-tests rule that this is an unexpected failure,
29046         even if the test is listed in XFAIL_TESTS.
29047
29048 2010-06-11  Jim Meyering  <meyering@redhat.com>
29049
29050         test-inttostr: avoid warnings about 4-6KB literal strings
29051         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29052         Include "macros.h", for its definition of ASSERT.
29053         (CK): s/assert/ASSERT/
29054         * modules/inttostr-tests (Files): Add macros.h.
29055
29056         init.sh: don't use $ME_ or skip_ before they are defined
29057         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29058         their first uses.  Also hoist their companions: warn_, fail_,
29059         framework_failure_, $stderr_fileno.  Prompted by a patch from
29060         Stefano Lattarini.
29061
29062         test-sys_socket: avoid set-but-not-used warnings from gcc
29063         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
29064         avoid warning about set-but-not-used variables.
29065
29066         test-xvasprintf: avoid 'const' discard warnings
29067         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
29068         "const" when assigning from literal strings.
29069         (test_xasprintf): Add "void" in function argument list to placate
29070         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
29071
29072         tests: avoid compilation warnings in argmatch and exclude tests...
29073         in packages that define ARGMATCH_DIE_DECL, like coreutils.
29074         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
29075         Since it always exits, declare with the "noreturn" attribute.
29076         * tests/test-argmatch.c: Likewise.
29077
29078         tests: avoid 'const' discard warnings in mbsstr tests
29079         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
29080         * tests/test-mbsstr2.c (main): Likewise.
29081
29082         test-verify: avoid warning from gcc's -Wmissing-declarations
29083         * tests/test-verify.c (function): Declare to be static.
29084
29085         test-inttostr.c: include <string.h> for use of strcmp
29086         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
29087
29088         test-linkat: avoid failed assertion on "other" architectures
29089         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
29090         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
29091         sparc: https://bugs.launchpad.net/bugs/591968
29092
29093 2010-06-11  Jim Meyering  <meyering@redhat.com>
29094
29095         printf.m4: avoid autoconf's "Expanded Before Required" warning
29096         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
29097         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
29098         autoconf warning.
29099
29100 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
29101
29102         Replacement header templates are now named with ".in", not "_".
29103         * doc/gnulib-intro.texi: Correct.
29104
29105 2010-06-10  Jim Meyering  <meyering@redhat.com>
29106
29107         inttostr-tests: depend on snprintf, not snprintf-posix
29108         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
29109         snprintf-posix, to avoid this aclocal failure:
29110           missing file gnulib-tests/vasnprintf.c
29111           configure.ac:45: error: expected source file, required through \
29112           AC_LIBSOURCES, not found
29113
29114 2010-06-10  Jim Meyering  <meyering@redhat.com>
29115
29116         inttostr: add a new function, inttostr, and tests
29117         The namesake function was not available.  The existence of the
29118         template file, inttostr.c makes its addition nontrivial.
29119         * lib/anytostr.c: Rename from inttostr.c.
29120         (anytostr): Rename from inttostr.
29121         * lib/inttostr.c: New file.
29122         * modules/inttostr (Files): Add anytostr.c.
29123         (Makefile.am): Set lib_SOURCES instead of ...
29124         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
29125         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
29126         * lib/offtostr.c: Likewise.
29127         * lib/uinttostr.c: Likewise.
29128         * lib/umaxtostr.c: Likewise.
29129         * modules/inttostr-tests: New file.
29130         * tests/test-inttostr.c: New file.  Test these functions.
29131
29132 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
29133             Bruno Haible  <bruno@clisp.org>
29134
29135         Add "Extending Gnulib" chapter to manual.
29136         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
29137         chapter.
29138         (Extending Gnulib): New chapter.
29139         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
29140         chapter.
29141
29142 2010-06-09  Bruno Haible  <bruno@clisp.org>
29143
29144         Avoid relocwrapper link errors due to gnulib replacement functions.
29145         * lib/areadlink.c: Use the system's malloc, realloc functions.
29146         (areadlink): Set errno to ENOMEM explicitly.
29147         * modules/areadlink (Depends-on): Remove malloc-posix.
29148         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29149
29150 2010-06-09  Bruno Haible  <bruno@clisp.org>
29151
29152         Avoid relocwrapper link errors due to gnulib replacement functions.
29153         * lib/canonicalize-lgpl.c: Use the system's malloc function.
29154         * lib/malloca.c: Likewise.
29155         * lib/relocatable.c: Likewise.
29156         * lib/progreloc.c: Use the system's malloc, sprintf functions.
29157         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
29158         * lib/setenv.c: Use the system's malloc, realloc functions.
29159         * lib/strerror.c: Use the system's sprintf function.
29160         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29161
29162 2010-06-04  Bruno Haible  <bruno@clisp.org>
29163
29164         Prefer documented low-level autoconf macro names.
29165         * m4/lib-link.m4: Use m4_translit instead of translit.
29166         * m4/environ.m4: Likewise.
29167         * m4/mathfunc.m4: Likewise.
29168         * m4/onceonly.m4: Likewise.
29169         * m4/stdint.m4: Likewise.
29170         Suggested by Eric Blake.
29171
29172 2010-06-04  Martin Lambers  <marlam@marlam.de>
29173             Bruno Haible  <bruno@clisp.org>
29174
29175         havelib: Allow library names with '+' characters.
29176         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29177         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
29178
29179 2010-06-09  Bruno Haible  <bruno@clisp.org>
29180
29181         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
29182         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
29183         realloc failed.
29184
29185 2010-06-08  Peter Simons  <simons@cryp.to>
29186
29187         maint.mk: make the news-check rule more configurable
29188         * top/maint.mk (news-check-lines-spec): New variable.
29189         (news-check): Use "sed -n 1,10p" in place of "head".
29190
29191 2010-06-07  Jim Meyering  <meyering@redhat.com>
29192
29193         do-release-commit-and-tag: fix typo in --help
29194         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
29195
29196         regex: avoid new dead-code warning with gcc-4.6.0
29197         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
29198         if-block containing a while-loop.  It's been unused for at least
29199         5 years.
29200
29201 2010-06-05  Bruno Haible  <bruno@clisp.org>
29202
29203         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
29204         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
29205
29206 2010-06-04  Bruno Haible  <bruno@clisp.org>
29207
29208         Update to GNU gettext 0.18.1.
29209         * modules/gettext (configure.ac): Require gettext infrastructure from
29210         version 0.18.1.
29211
29212 2010-06-03  Bruno Haible  <bruno@clisp.org>
29213
29214         Don't use AC_LIBOBJ with file names in subdirectories.
29215         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
29216         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
29217         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
29218         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
29219         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
29220         gl_LIBUNISTRING_LIBSOURCE.
29221         (Makefile.am): Augment lib_SOURCES here, conditionally.
29222         * NEWS: Drop requirement for Automake option 'subdir-objects'.
29223
29224 2010-06-03  Bruno Haible  <bruno@clisp.org>
29225
29226         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
29227         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
29228         expansion does not end with a newline.
29229         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
29230         unnecessary newline.
29231
29232 2010-06-03  Bruno Haible  <bruno@clisp.org>
29233
29234         Reduce dependencies.
29235         * tests/test-quotearg.h: New file, extracted from
29236         tests/test-quotearg.c.
29237         * tests/test-quotearg-simple.c: New file, extracted from
29238         tests/test-quotearg.c.
29239         * tests/test-quotearg.c: Don't include <ctype.h>.
29240         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
29241         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
29242         use_quote_double_quotes, use_quotearg_colon): Moved to
29243         tests/test-quotearg.h.
29244         (results_g, flag_results, custom_quotes, custom_results): Moved
29245         to tests/test-quotearg-simple.c.
29246         (main): Moved the part that does not depend on gettext to
29247         tests/test-quotearg-simple.c. Return 77 if the test cannot be
29248         performed.
29249         * modules/quotearg-simple: New file.
29250         * modules/quotearg-simple-tests: New file.
29251         * modules/quotearg (Depends-on): Add quotearg-simple.
29252         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
29253         (Files): Add tests/test-quotearg.h.
29254         Reported by Paolo Bonzini.
29255
29256 2010-06-03  Bruno Haible  <bruno@clisp.org>
29257
29258         Reduce dependencies.
29259         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
29260
29261 2010-06-03  Bruno Haible  <bruno@clisp.org>
29262
29263         time: Undefine more broken macros.
29264         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
29265         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
29266         Reported by Eric Blake.
29267
29268 2010-06-03  Bruno Haible  <bruno@clisp.org>
29269
29270         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
29271         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
29272         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
29273         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
29274         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
29275         Reported by Ludovic Courtès <ludo@gnu.org>.
29276
29277 2010-06-02  Eric Blake  <eblake@redhat.com>
29278
29279         time: work with mingw + pthreads-win32 library
29280         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
29281         if timespec is defined only in pthread.h.
29282         * modules/time (Makefile.am): Substitute it.
29283         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
29284         <pthread.h>, when needed.
29285         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
29286         from the library.
29287
29288 2010-05-31  Bruno Haible  <bruno@clisp.org>
29289
29290         Avoid expanding two macros in the wrong order.
29291         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
29292         gl_LIBUNISTRING if it is defined.
29293         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
29294         autoconf >= 2.64.
29295         Reported by Ludovic Courtès <ludo@gnu.org>.
29296
29297 2010-05-27  Jim Meyering  <meyering@redhat.com>
29298
29299         maint.mk: also prohibit "#undef" of always-defined symbols
29300         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
29301         Allow more than one space before the symbol name.
29302         (sc_prohibit_always-defined_macros): Use grep's -E, now that
29303         the regexp uses alternation.
29304
29305 2010-05-26  Eric Blake  <eblake@redhat.com>
29306
29307         maint.mk: avoid echo -e
29308         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
29309         Convert all uses of echo -* to printf.
29310         Reported by Matthias Bolte.
29311
29312 2010-05-25  Bruno Haible  <bruno@clisp.org>
29313
29314         Update to GNU gettext 0.18, part 2.
29315         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
29316         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
29317
29318 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29319
29320         Add missing include in test-pwrite.c.
29321         * tests/test-pwrite.c: Include string.h, for strcmp.
29322
29323 2010-05-24  Bruno Haible  <bruno@clisp.org>
29324
29325         * NEWS: Mention requirement for Automake option 'subdir-objects'.
29326
29327 2010-05-24  Bruno Haible  <bruno@clisp.org>
29328
29329         Don't use conversion with transliteration in u{8,16,32}_strcoll.
29330         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
29331         iconveh_error argument.
29332         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
29333         U_STRCONV_TO_LOCALE.
29334         * lib/unistr/u16-strcoll.c: Likewise.
29335         * lib/unistr/u32-strcoll.c: Likewise.
29336         * modules/unistr/u8-strcoll (Depends-on): Add
29337         uniconv/u8-strconv-to-enc, localcharset. Remove
29338         uniconv/u8-strconv-to-locale.
29339         (configure.ac): Bump version number.
29340         * modules/unistr/u16-strcoll (Depends-on): Add
29341         uniconv/u16-strconv-to-enc, localcharset. Remove
29342         uniconv/u16-strconv-to-locale.
29343         (configure.ac): Bump version number.
29344         * modules/unistr/u32-strcoll (Depends-on): Add
29345         uniconv/u32-strconv-to-enc, localcharset. Remove
29346         uniconv/u32-strconv-to-locale.
29347         (configure.ac): Bump version number.
29348
29349 2010-05-24  Bruno Haible  <bruno@clisp.org>
29350
29351         Avoid a test failure on NetBSD 5.0.
29352         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
29353         an iconv() bug.
29354
29355 2010-05-24  Bruno Haible  <bruno@clisp.org>
29356
29357         Adjust #include directive style.
29358         * modules/regex (Includes): Recommend to write <regex.h>.
29359
29360 2010-05-24  Bruno Haible  <bruno@clisp.org>
29361
29362         regex: Don't require alloca.
29363         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
29364         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
29365         only inside if (0).
29366
29367 2010-05-23  Jim Meyering  <meyering@redhat.com>
29368
29369         test-renameat.c: include <sys/stat.h>
29370         * tests/test-renameat.c: Include <sys/stat.h>; required for
29371         definition of S_IS* macros.
29372
29373 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
29374
29375         Update maintainer documentation for 'relocatable-prog' module.
29376         * doc/relocatable-maint.texi: Update.
29377         Comments by Bruno Haible.
29378
29379 2010-05-23  Bruno Haible  <bruno@clisp.org>
29380
29381         git-merge-changelog: Enable --split-merged-entry by default.
29382         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
29383         (usage): Don't mention this option any more.
29384         Reported by Ralf Wildenhues.
29385
29386 2010-05-23  Jim Meyering  <meyering@redhat.com>
29387
29388         test-pwrite: do not leave behind a test file named "out"
29389         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
29390         The trivial-looking use of init.sh is really necessary.
29391         It ensures that the temporary file, "out", is created in
29392         a temporary directory, and removed upon termination.
29393         * tests/test-pwrite.sh: Re-add file.
29394         * modules/pwrite-tests: Reference it.
29395
29396 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29397
29398         Fix output redirection buglet in init.sh.
29399         * tests/init.sh: Fix redirection of stderr.
29400
29401 2010-05-20  Simon Josefsson  <simon@josefsson.org>
29402
29403         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
29404
29405 2010-05-17  Simon Josefsson  <simon@josefsson.org>
29406
29407         * modules/valgrind-tests: New file.
29408         * m4/valgrind-tests.m4: New file.
29409         * doc/valgrind-tests.texi: New file.
29410         * doc/gnulib.texi (Running self-tests under valgrind): New
29411         section.
29412
29413 2010-05-19  Bruno Haible  <bruno@clisp.org>
29414
29415         Clean up dead code in recent commit.
29416         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
29417         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
29418         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
29419         Suggested by Paolo Bonzini.
29420
29421 2010-05-19  Bruno Haible  <bruno@clisp.org>
29422
29423         Avoid valgrind error reports from libunistring.
29424         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
29425         * modules/libunistring (Files): Add it.
29426         * modules/libunistring-optional (Files): Likewise.
29427
29428 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
29429             Bruno Haible  <bruno@clisp.org>
29430
29431         New module 'libunistring-optional'.
29432         * modules/libunistring-optional: New file.
29433         * m4/libunistring-base.m4: New file.
29434         * m4/libunistring-optional.m4: New file.
29435         * lib/unicase.in.h: Renamed from lib/unicase.h.
29436         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29437         * lib/unictype.in.h: Renamed from lib/unictype.h.
29438         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29439         * lib/uniname.in.h: Renamed from lib/uniname.h.
29440         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29441         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29442         * lib/unistr.in.h: Renamed from lib/unistr.h.
29443         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29444         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29445         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29446         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29447         gl_LIBUNISTRING. If the library was found, determine the installed
29448         version and set LIBUNISTRING_VERSION.
29449         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29450         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29451         handle a configuration option --with-included-libunistring.
29452         * modules/libunistring (Files): Add m4/absolute-header.m4.
29453         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29454         Add m4/libunistring-base.m4.
29455         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29456         (Makefile.am): Build unicase.h from unicase.in.h.
29457         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29458         Add m4/libunistring-base.m4.
29459         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29460         (Makefile.am): Build uniconv.h from uniconv.in.h.
29461         * modules/unictype/base (Files): Use unictype.in.h instead of
29462         unictype.h. Add m4/libunistring-base.m4.
29463         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29464         (Makefile.am): Build unictype.h from unictype.in.h.
29465         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29466         Add m4/libunistring-base.m4.
29467         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29468         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29469         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29470         Add m4/libunistring-base.m4.
29471         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29472         (Makefile.am): Build uniname.h from uniname.in.h.
29473         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29474         Add m4/libunistring-base.m4.
29475         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29476         (Makefile.am): Build uninorm.h from uninorm.in.h.
29477         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29478         unistdio.h. Add m4/libunistring-base.m4.
29479         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29480         (Makefile.am): Build unistdio.h from unistdio.in.h.
29481         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29482         Add m4/libunistring-base.m4.
29483         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29484         (Makefile.am): Build unistr.h from unistr.in.h.
29485         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29486         Add m4/libunistring-base.m4.
29487         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29488         (Makefile.am): Build unitypes.h from unitypes.in.h.
29489         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29490         Add m4/libunistring-base.m4.
29491         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29492         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29493         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29494         uniwidth.h. Add m4/libunistring-base.m4.
29495         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29496         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29497         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29498         instead of augmenting lib_SOURCES.
29499         * modules/unicase/empty-suffix-context: Likewise.
29500         * modules/unicase/locale-language: Likewise.
29501         * modules/unicase/tolower: Likewise.
29502         * modules/unicase/totitle: Likewise.
29503         * modules/unicase/toupper: Likewise.
29504         * modules/unicase/u8-casecmp: Likewise.
29505         * modules/unicase/u8-casecoll: Likewise.
29506         * modules/unicase/u8-casefold: Likewise.
29507         * modules/unicase/u8-casexfrm: Likewise.
29508         * modules/unicase/u8-ct-casefold: Likewise.
29509         * modules/unicase/u8-ct-tolower: Likewise.
29510         * modules/unicase/u8-ct-totitle: Likewise.
29511         * modules/unicase/u8-ct-toupper: Likewise.
29512         * modules/unicase/u8-is-cased: Likewise.
29513         * modules/unicase/u8-is-casefolded: Likewise.
29514         * modules/unicase/u8-is-lowercase: Likewise.
29515         * modules/unicase/u8-is-titlecase: Likewise.
29516         * modules/unicase/u8-is-uppercase: Likewise.
29517         * modules/unicase/u8-prefix-context: Likewise.
29518         * modules/unicase/u8-suffix-context: Likewise.
29519         * modules/unicase/u8-tolower: Likewise.
29520         * modules/unicase/u8-totitle: Likewise.
29521         * modules/unicase/u8-toupper: Likewise.
29522         * modules/unicase/u16-casecmp: Likewise.
29523         * modules/unicase/u16-casecoll: Likewise.
29524         * modules/unicase/u16-casefold: Likewise.
29525         * modules/unicase/u16-casexfrm: Likewise.
29526         * modules/unicase/u16-ct-casefold: Likewise.
29527         * modules/unicase/u16-ct-tolower: Likewise.
29528         * modules/unicase/u16-ct-totitle: Likewise.
29529         * modules/unicase/u16-ct-toupper: Likewise.
29530         * modules/unicase/u16-is-cased: Likewise.
29531         * modules/unicase/u16-is-casefolded: Likewise.
29532         * modules/unicase/u16-is-lowercase: Likewise.
29533         * modules/unicase/u16-is-titlecase: Likewise.
29534         * modules/unicase/u16-is-uppercase: Likewise.
29535         * modules/unicase/u16-prefix-context: Likewise.
29536         * modules/unicase/u16-suffix-context: Likewise.
29537         * modules/unicase/u16-tolower: Likewise.
29538         * modules/unicase/u16-totitle: Likewise.
29539         * modules/unicase/u16-toupper: Likewise.
29540         * modules/unicase/u32-casecmp: Likewise.
29541         * modules/unicase/u32-casecoll: Likewise.
29542         * modules/unicase/u32-casefold: Likewise.
29543         * modules/unicase/u32-casexfrm: Likewise.
29544         * modules/unicase/u32-ct-casefold: Likewise.
29545         * modules/unicase/u32-ct-tolower: Likewise.
29546         * modules/unicase/u32-ct-totitle: Likewise.
29547         * modules/unicase/u32-ct-toupper: Likewise.
29548         * modules/unicase/u32-is-cased: Likewise.
29549         * modules/unicase/u32-is-casefolded: Likewise.
29550         * modules/unicase/u32-is-lowercase: Likewise.
29551         * modules/unicase/u32-is-titlecase: Likewise.
29552         * modules/unicase/u32-is-uppercase: Likewise.
29553         * modules/unicase/u32-prefix-context: Likewise.
29554         * modules/unicase/u32-suffix-context: Likewise.
29555         * modules/unicase/u32-tolower: Likewise.
29556         * modules/unicase/u32-totitle: Likewise.
29557         * modules/unicase/u32-toupper: Likewise.
29558         * modules/unicase/ulc-casecmp: Likewise.
29559         * modules/unicase/ulc-casecoll: Likewise.
29560         * modules/unicase/ulc-casexfrm: Likewise.
29561         * modules/uniconv/u8-conv-from-enc: Likewise.
29562         * modules/uniconv/u8-conv-to-enc: Likewise.
29563         * modules/uniconv/u8-strconv-from-enc: Likewise.
29564         * modules/uniconv/u8-strconv-from-locale: Likewise.
29565         * modules/uniconv/u8-strconv-to-enc: Likewise.
29566         * modules/uniconv/u8-strconv-to-locale: Likewise.
29567         * modules/uniconv/u16-conv-from-enc: Likewise.
29568         * modules/uniconv/u16-conv-to-enc: Likewise.
29569         * modules/uniconv/u16-strconv-from-enc: Likewise.
29570         * modules/uniconv/u16-strconv-from-locale: Likewise.
29571         * modules/uniconv/u16-strconv-to-enc: Likewise.
29572         * modules/uniconv/u16-strconv-to-locale: Likewise.
29573         * modules/uniconv/u32-conv-from-enc: Likewise.
29574         * modules/uniconv/u32-conv-to-enc: Likewise.
29575         * modules/uniconv/u32-strconv-from-enc: Likewise.
29576         * modules/uniconv/u32-strconv-from-locale: Likewise.
29577         * modules/uniconv/u32-strconv-to-enc: Likewise.
29578         * modules/uniconv/u32-strconv-to-locale: Likewise.
29579         * modules/unictype/bidicategory-byname: Likewise.
29580         * modules/unictype/bidicategory-name: Likewise.
29581         * modules/unictype/bidicategory-of: Likewise.
29582         * modules/unictype/bidicategory-test: Likewise.
29583         * modules/unictype/block-list: Likewise.
29584         * modules/unictype/block-test: Likewise.
29585         * modules/unictype/category-C: Likewise.
29586         * modules/unictype/category-Cc: Likewise.
29587         * modules/unictype/category-Cf: Likewise.
29588         * modules/unictype/category-Cn: Likewise.
29589         * modules/unictype/category-Co: Likewise.
29590         * modules/unictype/category-Cs: Likewise.
29591         * modules/unictype/category-L: Likewise.
29592         * modules/unictype/category-Ll: Likewise.
29593         * modules/unictype/category-Lm: Likewise.
29594         * modules/unictype/category-Lo: Likewise.
29595         * modules/unictype/category-Lt: Likewise.
29596         * modules/unictype/category-Lu: Likewise.
29597         * modules/unictype/category-M: Likewise.
29598         * modules/unictype/category-Mc: Likewise.
29599         * modules/unictype/category-Me: Likewise.
29600         * modules/unictype/category-Mn: Likewise.
29601         * modules/unictype/category-N: Likewise.
29602         * modules/unictype/category-Nd: Likewise.
29603         * modules/unictype/category-Nl: Likewise.
29604         * modules/unictype/category-No: Likewise.
29605         * modules/unictype/category-P: Likewise.
29606         * modules/unictype/category-Pc: Likewise.
29607         * modules/unictype/category-Pd: Likewise.
29608         * modules/unictype/category-Pe: Likewise.
29609         * modules/unictype/category-Pf: Likewise.
29610         * modules/unictype/category-Pi: Likewise.
29611         * modules/unictype/category-Po: Likewise.
29612         * modules/unictype/category-Ps: Likewise.
29613         * modules/unictype/category-S: Likewise.
29614         * modules/unictype/category-Sc: Likewise.
29615         * modules/unictype/category-Sk: Likewise.
29616         * modules/unictype/category-Sm: Likewise.
29617         * modules/unictype/category-So: Likewise.
29618         * modules/unictype/category-Z: Likewise.
29619         * modules/unictype/category-Zl: Likewise.
29620         * modules/unictype/category-Zp: Likewise.
29621         * modules/unictype/category-Zs: Likewise.
29622         * modules/unictype/category-and: Likewise.
29623         * modules/unictype/category-and-not: Likewise.
29624         * modules/unictype/category-byname: Likewise.
29625         * modules/unictype/category-name: Likewise.
29626         * modules/unictype/category-none: Likewise.
29627         * modules/unictype/category-of: Likewise.
29628         * modules/unictype/category-or: Likewise.
29629         * modules/unictype/category-test: Likewise.
29630         * modules/unictype/combining-class: Likewise.
29631         * modules/unictype/ctype-alnum: Likewise.
29632         * modules/unictype/ctype-alpha: Likewise.
29633         * modules/unictype/ctype-blank: Likewise.
29634         * modules/unictype/ctype-cntrl: Likewise.
29635         * modules/unictype/ctype-digit: Likewise.
29636         * modules/unictype/ctype-graph: Likewise.
29637         * modules/unictype/ctype-lower: Likewise.
29638         * modules/unictype/ctype-print: Likewise.
29639         * modules/unictype/ctype-punct: Likewise.
29640         * modules/unictype/ctype-space: Likewise.
29641         * modules/unictype/ctype-upper: Likewise.
29642         * modules/unictype/ctype-xdigit: Likewise.
29643         * modules/unictype/decimal-digit: Likewise.
29644         * modules/unictype/digit: Likewise.
29645         * modules/unictype/mirror: Likewise.
29646         * modules/unictype/numeric: Likewise.
29647         * modules/unictype/property-alphabetic: Likewise.
29648         * modules/unictype/property-ascii-hex-digit: Likewise.
29649         * modules/unictype/property-bidi-arabic-digit: Likewise.
29650         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29651         * modules/unictype/property-bidi-block-separator: Likewise.
29652         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29653         * modules/unictype/property-bidi-common-separator: Likewise.
29654         * modules/unictype/property-bidi-control: Likewise.
29655         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29656         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29657         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29658         * modules/unictype/property-bidi-european-digit: Likewise.
29659         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29660         * modules/unictype/property-bidi-left-to-right: Likewise.
29661         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29662         * modules/unictype/property-bidi-other-neutral: Likewise.
29663         * modules/unictype/property-bidi-pdf: Likewise.
29664         * modules/unictype/property-bidi-segment-separator: Likewise.
29665         * modules/unictype/property-bidi-whitespace: Likewise.
29666         * modules/unictype/property-byname: Likewise.
29667         * modules/unictype/property-combining: Likewise.
29668         * modules/unictype/property-composite: Likewise.
29669         * modules/unictype/property-currency-symbol: Likewise.
29670         * modules/unictype/property-dash: Likewise.
29671         * modules/unictype/property-decimal-digit: Likewise.
29672         * modules/unictype/property-default-ignorable-code-point: Likewise.
29673         * modules/unictype/property-deprecated: Likewise.
29674         * modules/unictype/property-diacritic: Likewise.
29675         * modules/unictype/property-extender: Likewise.
29676         * modules/unictype/property-format-control: Likewise.
29677         * modules/unictype/property-grapheme-base: Likewise.
29678         * modules/unictype/property-grapheme-extend: Likewise.
29679         * modules/unictype/property-grapheme-link: Likewise.
29680         * modules/unictype/property-hex-digit: Likewise.
29681         * modules/unictype/property-hyphen: Likewise.
29682         * modules/unictype/property-id-continue: Likewise.
29683         * modules/unictype/property-id-start: Likewise.
29684         * modules/unictype/property-ideographic: Likewise.
29685         * modules/unictype/property-ids-binary-operator: Likewise.
29686         * modules/unictype/property-ids-trinary-operator: Likewise.
29687         * modules/unictype/property-ignorable-control: Likewise.
29688         * modules/unictype/property-iso-control: Likewise.
29689         * modules/unictype/property-join-control: Likewise.
29690         * modules/unictype/property-left-of-pair: Likewise.
29691         * modules/unictype/property-line-separator: Likewise.
29692         * modules/unictype/property-logical-order-exception: Likewise.
29693         * modules/unictype/property-lowercase: Likewise.
29694         * modules/unictype/property-math: Likewise.
29695         * modules/unictype/property-non-break: Likewise.
29696         * modules/unictype/property-not-a-character: Likewise.
29697         * modules/unictype/property-numeric: Likewise.
29698         * modules/unictype/property-other-alphabetic: Likewise.
29699         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
29700         * modules/unictype/property-other-grapheme-extend: Likewise.
29701         * modules/unictype/property-other-id-continue: Likewise.
29702         * modules/unictype/property-other-id-start: Likewise.
29703         * modules/unictype/property-other-lowercase: Likewise.
29704         * modules/unictype/property-other-math: Likewise.
29705         * modules/unictype/property-other-uppercase: Likewise.
29706         * modules/unictype/property-paired-punctuation: Likewise.
29707         * modules/unictype/property-paragraph-separator: Likewise.
29708         * modules/unictype/property-pattern-syntax: Likewise.
29709         * modules/unictype/property-pattern-white-space: Likewise.
29710         * modules/unictype/property-private-use: Likewise.
29711         * modules/unictype/property-punctuation: Likewise.
29712         * modules/unictype/property-quotation-mark: Likewise.
29713         * modules/unictype/property-radical: Likewise.
29714         * modules/unictype/property-sentence-terminal: Likewise.
29715         * modules/unictype/property-soft-dotted: Likewise.
29716         * modules/unictype/property-space: Likewise.
29717         * modules/unictype/property-terminal-punctuation: Likewise.
29718         * modules/unictype/property-test: Likewise.
29719         * modules/unictype/property-titlecase: Likewise.
29720         * modules/unictype/property-unassigned-code-value: Likewise.
29721         * modules/unictype/property-unified-ideograph: Likewise.
29722         * modules/unictype/property-uppercase: Likewise.
29723         * modules/unictype/property-variation-selector: Likewise.
29724         * modules/unictype/property-white-space: Likewise.
29725         * modules/unictype/property-xid-continue: Likewise.
29726         * modules/unictype/property-xid-start: Likewise.
29727         * modules/unictype/property-zero-width: Likewise.
29728         * modules/unictype/scripts: Likewise.
29729         * modules/unictype/syntax-c-ident: Likewise.
29730         * modules/unictype/syntax-c-whitespace: Likewise.
29731         * modules/unictype/syntax-java-ident: Likewise.
29732         * modules/unictype/syntax-java-whitespace: Likewise.
29733         * modules/unilbrk/u8-possible-linebreaks: Likewise.
29734         * modules/unilbrk/u8-width-linebreaks: Likewise.
29735         * modules/unilbrk/u16-possible-linebreaks: Likewise.
29736         * modules/unilbrk/u16-width-linebreaks: Likewise.
29737         * modules/unilbrk/u32-possible-linebreaks: Likewise.
29738         * modules/unilbrk/u32-width-linebreaks: Likewise.
29739         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
29740         * modules/unilbrk/ulc-width-linebreaks: Likewise.
29741         * modules/uniname/uniname: Likewise.
29742         * modules/uninorm/canonical-decomposition: Likewise.
29743         * modules/uninorm/composition: Likewise.
29744         * modules/uninorm/decomposing-form: Likewise.
29745         * modules/uninorm/decomposition: Likewise.
29746         * modules/uninorm/filter: Likewise.
29747         * modules/uninorm/nfc: Likewise.
29748         * modules/uninorm/nfd: Likewise.
29749         * modules/uninorm/nfkc: Likewise.
29750         * modules/uninorm/nfkd: Likewise.
29751         * modules/uninorm/u8-normalize: Likewise.
29752         * modules/uninorm/u8-normcmp: Likewise.
29753         * modules/uninorm/u8-normcoll: Likewise.
29754         * modules/uninorm/u8-normxfrm: Likewise.
29755         * modules/uninorm/u16-normalize: Likewise.
29756         * modules/uninorm/u16-normcmp: Likewise.
29757         * modules/uninorm/u16-normcoll: Likewise.
29758         * modules/uninorm/u16-normxfrm: Likewise.
29759         * modules/uninorm/u32-normalize: Likewise.
29760         * modules/uninorm/u32-normcmp: Likewise.
29761         * modules/uninorm/u32-normcoll: Likewise.
29762         * modules/uninorm/u32-normxfrm: Likewise.
29763         * modules/unistdio/u8-asnprintf: Likewise.
29764         * modules/unistdio/u8-asprintf: Likewise.
29765         * modules/unistdio/u8-snprintf: Likewise.
29766         * modules/unistdio/u8-sprintf: Likewise.
29767         * modules/unistdio/u8-u8-asnprintf: Likewise.
29768         * modules/unistdio/u8-u8-asprintf: Likewise.
29769         * modules/unistdio/u8-u8-snprintf: Likewise.
29770         * modules/unistdio/u8-u8-sprintf: Likewise.
29771         * modules/unistdio/u8-u8-vasnprintf: Likewise.
29772         * modules/unistdio/u8-u8-vasprintf: Likewise.
29773         * modules/unistdio/u8-u8-vsnprintf: Likewise.
29774         * modules/unistdio/u8-u8-vsprintf: Likewise.
29775         * modules/unistdio/u8-vasnprintf: Likewise.
29776         * modules/unistdio/u8-vasprintf: Likewise.
29777         * modules/unistdio/u8-vsnprintf: Likewise.
29778         * modules/unistdio/u8-vsprintf: Likewise.
29779         * modules/unistdio/u16-asnprintf: Likewise.
29780         * modules/unistdio/u16-asprintf: Likewise.
29781         * modules/unistdio/u16-snprintf: Likewise.
29782         * modules/unistdio/u16-sprintf: Likewise.
29783         * modules/unistdio/u16-u16-asnprintf: Likewise.
29784         * modules/unistdio/u16-u16-asprintf: Likewise.
29785         * modules/unistdio/u16-u16-snprintf: Likewise.
29786         * modules/unistdio/u16-u16-sprintf: Likewise.
29787         * modules/unistdio/u16-u16-vasnprintf: Likewise.
29788         * modules/unistdio/u16-u16-vasprintf: Likewise.
29789         * modules/unistdio/u16-u16-vsnprintf: Likewise.
29790         * modules/unistdio/u16-u16-vsprintf: Likewise.
29791         * modules/unistdio/u16-vasnprintf: Likewise.
29792         * modules/unistdio/u16-vasprintf: Likewise.
29793         * modules/unistdio/u16-vsnprintf: Likewise.
29794         * modules/unistdio/u16-vsprintf: Likewise.
29795         * modules/unistdio/u32-asnprintf: Likewise.
29796         * modules/unistdio/u32-asprintf: Likewise.
29797         * modules/unistdio/u32-snprintf: Likewise.
29798         * modules/unistdio/u32-sprintf: Likewise.
29799         * modules/unistdio/u32-u32-asnprintf: Likewise.
29800         * modules/unistdio/u32-u32-asprintf: Likewise.
29801         * modules/unistdio/u32-u32-snprintf: Likewise.
29802         * modules/unistdio/u32-u32-sprintf: Likewise.
29803         * modules/unistdio/u32-u32-vasnprintf: Likewise.
29804         * modules/unistdio/u32-u32-vasprintf: Likewise.
29805         * modules/unistdio/u32-u32-vsnprintf: Likewise.
29806         * modules/unistdio/u32-u32-vsprintf: Likewise.
29807         * modules/unistdio/u32-vasnprintf: Likewise.
29808         * modules/unistdio/u32-vasprintf: Likewise.
29809         * modules/unistdio/u32-vsnprintf: Likewise.
29810         * modules/unistdio/u32-vsprintf: Likewise.
29811         * modules/unistdio/ulc-asnprintf: Likewise.
29812         * modules/unistdio/ulc-asprintf: Likewise.
29813         * modules/unistdio/ulc-fprintf: Likewise.
29814         * modules/unistdio/ulc-snprintf: Likewise.
29815         * modules/unistdio/ulc-sprintf: Likewise.
29816         * modules/unistdio/ulc-vasnprintf: Likewise.
29817         * modules/unistdio/ulc-vasprintf: Likewise.
29818         * modules/unistdio/ulc-vfprintf: Likewise.
29819         * modules/unistdio/ulc-vsnprintf: Likewise.
29820         * modules/unistdio/ulc-vsprintf: Likewise.
29821         * modules/unistr/u8-check: Likewise.
29822         * modules/unistr/u8-chr: Likewise.
29823         * modules/unistr/u8-cmp: Likewise.
29824         * modules/unistr/u8-cmp2: Likewise.
29825         * modules/unistr/u8-cpy: Likewise.
29826         * modules/unistr/u8-cpy-alloc: Likewise.
29827         * modules/unistr/u8-endswith: Likewise.
29828         * modules/unistr/u8-mblen: Likewise.
29829         * modules/unistr/u8-mbsnlen: Likewise.
29830         * modules/unistr/u8-mbtouc: Likewise.
29831         * modules/unistr/u8-mbtouc-unsafe: Likewise.
29832         * modules/unistr/u8-mbtoucr: Likewise.
29833         * modules/unistr/u8-move: Likewise.
29834         * modules/unistr/u8-next: Likewise.
29835         * modules/unistr/u8-prev: Likewise.
29836         * modules/unistr/u8-set: Likewise.
29837         * modules/unistr/u8-startswith: Likewise.
29838         * modules/unistr/u8-stpcpy: Likewise.
29839         * modules/unistr/u8-stpncpy: Likewise.
29840         * modules/unistr/u8-strcat: Likewise.
29841         * modules/unistr/u8-strchr: Likewise.
29842         * modules/unistr/u8-strcmp: Likewise.
29843         * modules/unistr/u8-strcoll: Likewise.
29844         * modules/unistr/u8-strcpy: Likewise.
29845         * modules/unistr/u8-strcspn: Likewise.
29846         * modules/unistr/u8-strdup: Likewise.
29847         * modules/unistr/u8-strlen: Likewise.
29848         * modules/unistr/u8-strmblen: Likewise.
29849         * modules/unistr/u8-strmbtouc: Likewise.
29850         * modules/unistr/u8-strncat: Likewise.
29851         * modules/unistr/u8-strncmp: Likewise.
29852         * modules/unistr/u8-strncpy: Likewise.
29853         * modules/unistr/u8-strnlen: Likewise.
29854         * modules/unistr/u8-strpbrk: Likewise.
29855         * modules/unistr/u8-strrchr: Likewise.
29856         * modules/unistr/u8-strspn: Likewise.
29857         * modules/unistr/u8-strstr: Likewise.
29858         * modules/unistr/u8-strtok: Likewise.
29859         * modules/unistr/u8-to-u16: Likewise.
29860         * modules/unistr/u8-to-u32: Likewise.
29861         * modules/unistr/u8-uctomb: Likewise.
29862         * modules/unistr/u16-check: Likewise.
29863         * modules/unistr/u16-chr: Likewise.
29864         * modules/unistr/u16-cmp: Likewise.
29865         * modules/unistr/u16-cmp2: Likewise.
29866         * modules/unistr/u16-cpy: Likewise.
29867         * modules/unistr/u16-cpy-alloc: Likewise.
29868         * modules/unistr/u16-endswith: Likewise.
29869         * modules/unistr/u16-mblen: Likewise.
29870         * modules/unistr/u16-mbsnlen: Likewise.
29871         * modules/unistr/u16-mbtouc: Likewise.
29872         * modules/unistr/u16-mbtouc-unsafe: Likewise.
29873         * modules/unistr/u16-mbtoucr: Likewise.
29874         * modules/unistr/u16-move: Likewise.
29875         * modules/unistr/u16-next: Likewise.
29876         * modules/unistr/u16-prev: Likewise.
29877         * modules/unistr/u16-set: Likewise.
29878         * modules/unistr/u16-startswith: Likewise.
29879         * modules/unistr/u16-stpcpy: Likewise.
29880         * modules/unistr/u16-stpncpy: Likewise.
29881         * modules/unistr/u16-strcat: Likewise.
29882         * modules/unistr/u16-strchr: Likewise.
29883         * modules/unistr/u16-strcmp: Likewise.
29884         * modules/unistr/u16-strcoll: Likewise.
29885         * modules/unistr/u16-strcpy: Likewise.
29886         * modules/unistr/u16-strcspn: Likewise.
29887         * modules/unistr/u16-strdup: Likewise.
29888         * modules/unistr/u16-strlen: Likewise.
29889         * modules/unistr/u16-strmblen: Likewise.
29890         * modules/unistr/u16-strmbtouc: Likewise.
29891         * modules/unistr/u16-strncat: Likewise.
29892         * modules/unistr/u16-strncmp: Likewise.
29893         * modules/unistr/u16-strncpy: Likewise.
29894         * modules/unistr/u16-strnlen: Likewise.
29895         * modules/unistr/u16-strpbrk: Likewise.
29896         * modules/unistr/u16-strrchr: Likewise.
29897         * modules/unistr/u16-strspn: Likewise.
29898         * modules/unistr/u16-strstr: Likewise.
29899         * modules/unistr/u16-strtok: Likewise.
29900         * modules/unistr/u16-to-u32: Likewise.
29901         * modules/unistr/u16-to-u8: Likewise.
29902         * modules/unistr/u16-uctomb: Likewise.
29903         * modules/unistr/u32-check: Likewise.
29904         * modules/unistr/u32-chr: Likewise.
29905         * modules/unistr/u32-cmp: Likewise.
29906         * modules/unistr/u32-cmp2: Likewise.
29907         * modules/unistr/u32-cpy: Likewise.
29908         * modules/unistr/u32-cpy-alloc: Likewise.
29909         * modules/unistr/u32-endswith: Likewise.
29910         * modules/unistr/u32-mblen: Likewise.
29911         * modules/unistr/u32-mbsnlen: Likewise.
29912         * modules/unistr/u32-mbtouc: Likewise.
29913         * modules/unistr/u32-mbtouc-unsafe: Likewise.
29914         * modules/unistr/u32-mbtoucr: Likewise.
29915         * modules/unistr/u32-move: Likewise.
29916         * modules/unistr/u32-next: Likewise.
29917         * modules/unistr/u32-prev: Likewise.
29918         * modules/unistr/u32-set: Likewise.
29919         * modules/unistr/u32-startswith: Likewise.
29920         * modules/unistr/u32-stpcpy: Likewise.
29921         * modules/unistr/u32-stpncpy: Likewise.
29922         * modules/unistr/u32-strcat: Likewise.
29923         * modules/unistr/u32-strchr: Likewise.
29924         * modules/unistr/u32-strcmp: Likewise.
29925         * modules/unistr/u32-strcoll: Likewise.
29926         * modules/unistr/u32-strcpy: Likewise.
29927         * modules/unistr/u32-strcspn: Likewise.
29928         * modules/unistr/u32-strdup: Likewise.
29929         * modules/unistr/u32-strlen: Likewise.
29930         * modules/unistr/u32-strmblen: Likewise.
29931         * modules/unistr/u32-strmbtouc: Likewise.
29932         * modules/unistr/u32-strncat: Likewise.
29933         * modules/unistr/u32-strncmp: Likewise.
29934         * modules/unistr/u32-strncpy: Likewise.
29935         * modules/unistr/u32-strnlen: Likewise.
29936         * modules/unistr/u32-strpbrk: Likewise.
29937         * modules/unistr/u32-strrchr: Likewise.
29938         * modules/unistr/u32-strspn: Likewise.
29939         * modules/unistr/u32-strstr: Likewise.
29940         * modules/unistr/u32-strtok: Likewise.
29941         * modules/unistr/u32-to-u16: Likewise.
29942         * modules/unistr/u32-to-u8: Likewise.
29943         * modules/unistr/u32-uctomb: Likewise.
29944         * modules/uniwbrk/u8-wordbreaks: Likewise.
29945         * modules/uniwbrk/u16-wordbreaks: Likewise.
29946         * modules/uniwbrk/u32-wordbreaks: Likewise.
29947         * modules/uniwbrk/ulc-wordbreaks: Likewise.
29948         * modules/uniwbrk/wordbreak-property: Likewise.
29949         * modules/uniwidth/u8-strwidth: Likewise.
29950         * modules/uniwidth/u8-width: Likewise.
29951         * modules/uniwidth/u16-strwidth: Likewise.
29952         * modules/uniwidth/u16-width: Likewise.
29953         * modules/uniwidth/u32-strwidth: Likewise.
29954         * modules/uniwidth/u32-width: Likewise.
29955         * modules/uniwidth/width: Likewise.
29956         * modules/unicase/cased-tests (Makefile.am): Link all test programs
29957         with $(LIBUNISTRING).
29958         * modules/unicase/ignorable-tests: Likewise.
29959         * modules/unicase/locale-language-tests: Likewise.
29960         * modules/unicase/tolower-tests: Likewise.
29961         * modules/unicase/totitle-tests: Likewise.
29962         * modules/unicase/toupper-tests: Likewise.
29963         * modules/unicase/u8-casecmp-tests: Likewise.
29964         * modules/unicase/u8-casecoll-tests: Likewise.
29965         * modules/unicase/u8-casefold-tests: Likewise.
29966         * modules/unicase/u8-is-cased-tests: Likewise.
29967         * modules/unicase/u8-is-casefolded-tests: Likewise.
29968         * modules/unicase/u8-is-lowercase-tests: Likewise.
29969         * modules/unicase/u8-is-titlecase-tests: Likewise.
29970         * modules/unicase/u8-is-uppercase-tests: Likewise.
29971         * modules/unicase/u8-tolower-tests: Likewise.
29972         * modules/unicase/u8-totitle-tests: Likewise.
29973         * modules/unicase/u8-toupper-tests: Likewise.
29974         * modules/unicase/u16-casecmp-tests: Likewise.
29975         * modules/unicase/u16-casecoll-tests: Likewise.
29976         * modules/unicase/u16-casefold-tests: Likewise.
29977         * modules/unicase/u16-is-cased-tests: Likewise.
29978         * modules/unicase/u16-is-casefolded-tests: Likewise.
29979         * modules/unicase/u16-is-lowercase-tests: Likewise.
29980         * modules/unicase/u16-is-titlecase-tests: Likewise.
29981         * modules/unicase/u16-is-uppercase-tests: Likewise.
29982         * modules/unicase/u16-tolower-tests: Likewise.
29983         * modules/unicase/u16-totitle-tests: Likewise.
29984         * modules/unicase/u16-toupper-tests: Likewise.
29985         * modules/unicase/u32-casecmp-tests: Likewise.
29986         * modules/unicase/u32-casecoll-tests: Likewise.
29987         * modules/unicase/u32-casefold-tests: Likewise.
29988         * modules/unicase/u32-is-cased-tests: Likewise.
29989         * modules/unicase/u32-is-casefolded-tests: Likewise.
29990         * modules/unicase/u32-is-lowercase-tests: Likewise.
29991         * modules/unicase/u32-is-titlecase-tests: Likewise.
29992         * modules/unicase/u32-is-uppercase-tests: Likewise.
29993         * modules/unicase/u32-tolower-tests: Likewise.
29994         * modules/unicase/u32-totitle-tests: Likewise.
29995         * modules/unicase/u32-toupper-tests: Likewise.
29996         * modules/unicase/ulc-casecmp-tests: Likewise.
29997         * modules/unicase/ulc-casecoll-tests: Likewise.
29998         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
29999         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
30000         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
30001         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
30002         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
30003         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
30004         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
30005         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
30006         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30007         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30008         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30009         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30010         * modules/unictype/bidicategory-byname-tests: Likewise.
30011         * modules/unictype/bidicategory-name-tests: Likewise.
30012         * modules/unictype/bidicategory-of-tests: Likewise.
30013         * modules/unictype/bidicategory-test-tests: Likewise.
30014         * modules/unictype/block-list-tests: Likewise.
30015         * modules/unictype/block-of-tests: Likewise.
30016         * modules/unictype/block-test-tests: Likewise.
30017         * modules/unictype/category-C-tests: Likewise.
30018         * modules/unictype/category-Cc-tests: Likewise.
30019         * modules/unictype/category-Cf-tests: Likewise.
30020         * modules/unictype/category-Cn-tests: Likewise.
30021         * modules/unictype/category-Co-tests: Likewise.
30022         * modules/unictype/category-Cs-tests: Likewise.
30023         * modules/unictype/category-L-tests: Likewise.
30024         * modules/unictype/category-Ll-tests: Likewise.
30025         * modules/unictype/category-Lm-tests: Likewise.
30026         * modules/unictype/category-Lo-tests: Likewise.
30027         * modules/unictype/category-Lt-tests: Likewise.
30028         * modules/unictype/category-Lu-tests: Likewise.
30029         * modules/unictype/category-M-tests: Likewise.
30030         * modules/unictype/category-Mc-tests: Likewise.
30031         * modules/unictype/category-Me-tests: Likewise.
30032         * modules/unictype/category-Mn-tests: Likewise.
30033         * modules/unictype/category-N-tests: Likewise.
30034         * modules/unictype/category-Nd-tests: Likewise.
30035         * modules/unictype/category-Nl-tests: Likewise.
30036         * modules/unictype/category-No-tests: Likewise.
30037         * modules/unictype/category-P-tests: Likewise.
30038         * modules/unictype/category-Pc-tests: Likewise.
30039         * modules/unictype/category-Pd-tests: Likewise.
30040         * modules/unictype/category-Pe-tests: Likewise.
30041         * modules/unictype/category-Pf-tests: Likewise.
30042         * modules/unictype/category-Pi-tests: Likewise.
30043         * modules/unictype/category-Po-tests: Likewise.
30044         * modules/unictype/category-Ps-tests: Likewise.
30045         * modules/unictype/category-S-tests: Likewise.
30046         * modules/unictype/category-Sc-tests: Likewise.
30047         * modules/unictype/category-Sk-tests: Likewise.
30048         * modules/unictype/category-Sm-tests: Likewise.
30049         * modules/unictype/category-So-tests: Likewise.
30050         * modules/unictype/category-Z-tests: Likewise.
30051         * modules/unictype/category-Zl-tests: Likewise.
30052         * modules/unictype/category-Zp-tests: Likewise.
30053         * modules/unictype/category-Zs-tests: Likewise.
30054         * modules/unictype/category-and-not-tests: Likewise.
30055         * modules/unictype/category-and-tests: Likewise.
30056         * modules/unictype/category-byname-tests: Likewise.
30057         * modules/unictype/category-name-tests: Likewise.
30058         * modules/unictype/category-none-tests: Likewise.
30059         * modules/unictype/category-of-tests: Likewise.
30060         * modules/unictype/category-or-tests: Likewise.
30061         * modules/unictype/category-test-withtable-tests: Likewise.
30062         * modules/unictype/combining-class-tests: Likewise.
30063         * modules/unictype/ctype-alnum-tests: Likewise.
30064         * modules/unictype/ctype-alpha-tests: Likewise.
30065         * modules/unictype/ctype-blank-tests: Likewise.
30066         * modules/unictype/ctype-cntrl-tests: Likewise.
30067         * modules/unictype/ctype-digit-tests: Likewise.
30068         * modules/unictype/ctype-graph-tests: Likewise.
30069         * modules/unictype/ctype-lower-tests: Likewise.
30070         * modules/unictype/ctype-print-tests: Likewise.
30071         * modules/unictype/ctype-punct-tests: Likewise.
30072         * modules/unictype/ctype-space-tests: Likewise.
30073         * modules/unictype/ctype-upper-tests: Likewise.
30074         * modules/unictype/ctype-xdigit-tests: Likewise.
30075         * modules/unictype/decimal-digit-tests: Likewise.
30076         * modules/unictype/digit-tests: Likewise.
30077         * modules/unictype/mirror-tests: Likewise.
30078         * modules/unictype/numeric-tests: Likewise.
30079         * modules/unictype/property-alphabetic-tests: Likewise.
30080         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
30081         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
30082         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
30083         * modules/unictype/property-bidi-block-separator-tests: Likewise.
30084         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
30085         * modules/unictype/property-bidi-common-separator-tests: Likewise.
30086         * modules/unictype/property-bidi-control-tests: Likewise.
30087         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
30088         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
30089         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
30090         * modules/unictype/property-bidi-european-digit-tests: Likewise.
30091         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
30092         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
30093         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
30094         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
30095         * modules/unictype/property-bidi-pdf-tests: Likewise.
30096         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
30097         * modules/unictype/property-bidi-whitespace-tests: Likewise.
30098         * modules/unictype/property-byname-tests: Likewise.
30099         * modules/unictype/property-combining-tests: Likewise.
30100         * modules/unictype/property-composite-tests: Likewise.
30101         * modules/unictype/property-currency-symbol-tests: Likewise.
30102         * modules/unictype/property-dash-tests: Likewise.
30103         * modules/unictype/property-decimal-digit-tests: Likewise.
30104         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
30105         * modules/unictype/property-deprecated-tests: Likewise.
30106         * modules/unictype/property-diacritic-tests: Likewise.
30107         * modules/unictype/property-extender-tests: Likewise.
30108         * modules/unictype/property-format-control-tests: Likewise.
30109         * modules/unictype/property-grapheme-base-tests: Likewise.
30110         * modules/unictype/property-grapheme-extend-tests: Likewise.
30111         * modules/unictype/property-grapheme-link-tests: Likewise.
30112         * modules/unictype/property-hex-digit-tests: Likewise.
30113         * modules/unictype/property-hyphen-tests: Likewise.
30114         * modules/unictype/property-id-continue-tests: Likewise.
30115         * modules/unictype/property-id-start-tests: Likewise.
30116         * modules/unictype/property-ideographic-tests: Likewise.
30117         * modules/unictype/property-ids-binary-operator-tests: Likewise.
30118         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
30119         * modules/unictype/property-ignorable-control-tests: Likewise.
30120         * modules/unictype/property-iso-control-tests: Likewise.
30121         * modules/unictype/property-join-control-tests: Likewise.
30122         * modules/unictype/property-left-of-pair-tests: Likewise.
30123         * modules/unictype/property-line-separator-tests: Likewise.
30124         * modules/unictype/property-logical-order-exception-tests: Likewise.
30125         * modules/unictype/property-lowercase-tests: Likewise.
30126         * modules/unictype/property-math-tests: Likewise.
30127         * modules/unictype/property-non-break-tests: Likewise.
30128         * modules/unictype/property-not-a-character-tests: Likewise.
30129         * modules/unictype/property-numeric-tests: Likewise.
30130         * modules/unictype/property-other-alphabetic-tests: Likewise.
30131         * modules/unictype/property-other-default-ignorable-code-point-tests:
30132         Likewise.
30133         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
30134         * modules/unictype/property-other-id-continue-tests: Likewise.
30135         * modules/unictype/property-other-id-start-tests: Likewise.
30136         * modules/unictype/property-other-lowercase-tests: Likewise.
30137         * modules/unictype/property-other-math-tests: Likewise.
30138         * modules/unictype/property-other-uppercase-tests: Likewise.
30139         * modules/unictype/property-paired-punctuation-tests: Likewise.
30140         * modules/unictype/property-paragraph-separator-tests: Likewise.
30141         * modules/unictype/property-pattern-syntax-tests: Likewise.
30142         * modules/unictype/property-pattern-white-space-tests: Likewise.
30143         * modules/unictype/property-private-use-tests: Likewise.
30144         * modules/unictype/property-punctuation-tests: Likewise.
30145         * modules/unictype/property-quotation-mark-tests: Likewise.
30146         * modules/unictype/property-radical-tests: Likewise.
30147         * modules/unictype/property-sentence-terminal-tests: Likewise.
30148         * modules/unictype/property-soft-dotted-tests: Likewise.
30149         * modules/unictype/property-space-tests: Likewise.
30150         * modules/unictype/property-terminal-punctuation-tests: Likewise.
30151         * modules/unictype/property-test-tests: Likewise.
30152         * modules/unictype/property-titlecase-tests: Likewise.
30153         * modules/unictype/property-unassigned-code-value-tests: Likewise.
30154         * modules/unictype/property-unified-ideograph-tests: Likewise.
30155         * modules/unictype/property-uppercase-tests: Likewise.
30156         * modules/unictype/property-variation-selector-tests: Likewise.
30157         * modules/unictype/property-white-space-tests: Likewise.
30158         * modules/unictype/property-xid-continue-tests: Likewise.
30159         * modules/unictype/property-xid-start-tests: Likewise.
30160         * modules/unictype/property-zero-width-tests: Likewise.
30161         * modules/unictype/scripts-tests: Likewise.
30162         * modules/unictype/syntax-c-ident-tests: Likewise.
30163         * modules/unictype/syntax-c-whitespace-tests: Likewise.
30164         * modules/unictype/syntax-java-ident-tests: Likewise.
30165         * modules/unictype/syntax-java-whitespace-tests: Likewise.
30166         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
30167         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
30168         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
30169         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
30170         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
30171         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
30172         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
30173         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
30174         * modules/uniname/uniname-tests: Likewise.
30175         * modules/uninorm/canonical-decomposition-tests: Likewise.
30176         * modules/uninorm/compat-decomposition-tests: Likewise.
30177         * modules/uninorm/composition-tests: Likewise.
30178         * modules/uninorm/decomposing-form-tests: Likewise.
30179         * modules/uninorm/decomposition-tests: Likewise.
30180         * modules/uninorm/filter-tests: Likewise.
30181         * modules/uninorm/nfc-tests: Likewise.
30182         * modules/uninorm/nfd-tests: Likewise.
30183         * modules/uninorm/nfkc-tests: Likewise.
30184         * modules/uninorm/nfkd-tests: Likewise.
30185         * modules/uninorm/u8-normcmp-tests: Likewise.
30186         * modules/uninorm/u8-normcoll-tests: Likewise.
30187         * modules/uninorm/u16-normcmp-tests: Likewise.
30188         * modules/uninorm/u16-normcoll-tests: Likewise.
30189         * modules/uninorm/u32-normcmp-tests: Likewise.
30190         * modules/uninorm/u32-normcoll-tests: Likewise.
30191         * modules/unistdio/u8-asnprintf-tests: Likewise.
30192         * modules/unistdio/u8-vasnprintf-tests: Likewise.
30193         * modules/unistdio/u8-vasprintf-tests: Likewise.
30194         * modules/unistdio/u8-vsnprintf-tests: Likewise.
30195         * modules/unistdio/u8-vsprintf-tests: Likewise.
30196         * modules/unistdio/u16-asnprintf-tests: Likewise.
30197         * modules/unistdio/u16-vasnprintf-tests: Likewise.
30198         * modules/unistdio/u16-vasprintf-tests: Likewise.
30199         * modules/unistdio/u16-vsnprintf-tests: Likewise.
30200         * modules/unistdio/u16-vsprintf-tests: Likewise.
30201         * modules/unistdio/u32-asnprintf-tests: Likewise.
30202         * modules/unistdio/u32-vasnprintf-tests: Likewise.
30203         * modules/unistdio/u32-vasprintf-tests: Likewise.
30204         * modules/unistdio/u32-vsnprintf-tests: Likewise.
30205         * modules/unistdio/u32-vsprintf-tests: Likewise.
30206         * modules/unistdio/ulc-asnprintf-tests: Likewise.
30207         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
30208         * modules/unistdio/ulc-vasprintf-tests: Likewise.
30209         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
30210         * modules/unistdio/ulc-vsprintf-tests: Likewise.
30211         * modules/unistr/u8-check-tests: Likewise.
30212         * modules/unistr/u8-chr-tests: Likewise.
30213         * modules/unistr/u8-cmp-tests: Likewise.
30214         * modules/unistr/u8-cmp2-tests: Likewise.
30215         * modules/unistr/u8-cpy-alloc-tests: Likewise.
30216         * modules/unistr/u8-cpy-tests: Likewise.
30217         * modules/unistr/u8-mblen-tests: Likewise.
30218         * modules/unistr/u8-mbsnlen-tests: Likewise.
30219         * modules/unistr/u8-mbtouc-tests: Likewise.
30220         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
30221         * modules/unistr/u8-mbtoucr-tests: Likewise.
30222         * modules/unistr/u8-move-tests: Likewise.
30223         * modules/unistr/u8-next-tests: Likewise.
30224         * modules/unistr/u8-prev-tests: Likewise.
30225         * modules/unistr/u8-set-tests: Likewise.
30226         * modules/unistr/u8-stpcpy-tests: Likewise.
30227         * modules/unistr/u8-stpncpy-tests: Likewise.
30228         * modules/unistr/u8-strcat-tests: Likewise.
30229         * modules/unistr/u8-strcmp-tests: Likewise.
30230         * modules/unistr/u8-strcoll-tests: Likewise.
30231         * modules/unistr/u8-strcpy-tests: Likewise.
30232         * modules/unistr/u8-strdup-tests: Likewise.
30233         * modules/unistr/u8-strlen-tests: Likewise.
30234         * modules/unistr/u8-strmblen-tests: Likewise.
30235         * modules/unistr/u8-strmbtouc-tests: Likewise.
30236         * modules/unistr/u8-strncat-tests: Likewise.
30237         * modules/unistr/u8-strncmp-tests: Likewise.
30238         * modules/unistr/u8-strncpy-tests: Likewise.
30239         * modules/unistr/u8-strnlen-tests: Likewise.
30240         * modules/unistr/u8-to-u16-tests: Likewise.
30241         * modules/unistr/u8-to-u32-tests: Likewise.
30242         * modules/unistr/u8-uctomb-tests: Likewise.
30243         * modules/unistr/u16-check-tests: Likewise.
30244         * modules/unistr/u16-chr-tests: Likewise.
30245         * modules/unistr/u16-cmp-tests: Likewise.
30246         * modules/unistr/u16-cmp2-tests: Likewise.
30247         * modules/unistr/u16-cpy-alloc-tests: Likewise.
30248         * modules/unistr/u16-cpy-tests: Likewise.
30249         * modules/unistr/u16-mblen-tests: Likewise.
30250         * modules/unistr/u16-mbsnlen-tests: Likewise.
30251         * modules/unistr/u16-mbtouc-tests: Likewise.
30252         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
30253         * modules/unistr/u16-mbtoucr-tests: Likewise.
30254         * modules/unistr/u16-move-tests: Likewise.
30255         * modules/unistr/u16-next-tests: Likewise.
30256         * modules/unistr/u16-prev-tests: Likewise.
30257         * modules/unistr/u16-set-tests: Likewise.
30258         * modules/unistr/u16-stpcpy-tests: Likewise.
30259         * modules/unistr/u16-stpncpy-tests: Likewise.
30260         * modules/unistr/u16-strcat-tests: Likewise.
30261         * modules/unistr/u16-strcmp-tests: Likewise.
30262         * modules/unistr/u16-strcoll-tests: Likewise.
30263         * modules/unistr/u16-strcpy-tests: Likewise.
30264         * modules/unistr/u16-strdup-tests: Likewise.
30265         * modules/unistr/u16-strlen-tests: Likewise.
30266         * modules/unistr/u16-strmblen-tests: Likewise.
30267         * modules/unistr/u16-strmbtouc-tests: Likewise.
30268         * modules/unistr/u16-strncat-tests: Likewise.
30269         * modules/unistr/u16-strncmp-tests: Likewise.
30270         * modules/unistr/u16-strncpy-tests: Likewise.
30271         * modules/unistr/u16-strnlen-tests: Likewise.
30272         * modules/unistr/u16-to-u32-tests: Likewise.
30273         * modules/unistr/u16-to-u8-tests: Likewise.
30274         * modules/unistr/u16-uctomb-tests: Likewise.
30275         * modules/unistr/u32-check-tests: Likewise.
30276         * modules/unistr/u32-chr-tests: Likewise.
30277         * modules/unistr/u32-cmp-tests: Likewise.
30278         * modules/unistr/u32-cmp2-tests: Likewise.
30279         * modules/unistr/u32-cpy-alloc-tests: Likewise.
30280         * modules/unistr/u32-cpy-tests: Likewise.
30281         * modules/unistr/u32-mblen-tests: Likewise.
30282         * modules/unistr/u32-mbsnlen-tests: Likewise.
30283         * modules/unistr/u32-mbtouc-tests: Likewise.
30284         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
30285         * modules/unistr/u32-mbtoucr-tests: Likewise.
30286         * modules/unistr/u32-move-tests: Likewise.
30287         * modules/unistr/u32-next-tests: Likewise.
30288         * modules/unistr/u32-prev-tests: Likewise.
30289         * modules/unistr/u32-set-tests: Likewise.
30290         * modules/unistr/u32-stpcpy-tests: Likewise.
30291         * modules/unistr/u32-stpncpy-tests: Likewise.
30292         * modules/unistr/u32-strcat-tests: Likewise.
30293         * modules/unistr/u32-strcmp-tests: Likewise.
30294         * modules/unistr/u32-strcoll-tests: Likewise.
30295         * modules/unistr/u32-strcpy-tests: Likewise.
30296         * modules/unistr/u32-strdup-tests: Likewise.
30297         * modules/unistr/u32-strlen-tests: Likewise.
30298         * modules/unistr/u32-strmblen-tests: Likewise.
30299         * modules/unistr/u32-strmbtouc-tests: Likewise.
30300         * modules/unistr/u32-strncat-tests: Likewise.
30301         * modules/unistr/u32-strncmp-tests: Likewise.
30302         * modules/unistr/u32-strncpy-tests: Likewise.
30303         * modules/unistr/u32-strnlen-tests: Likewise.
30304         * modules/unistr/u32-to-u16-tests: Likewise.
30305         * modules/unistr/u32-to-u8-tests: Likewise.
30306         * modules/unistr/u32-uctomb-tests: Likewise.
30307         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
30308         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
30309         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
30310         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
30311         * modules/uniwidth/u8-strwidth-tests: Likewise.
30312         * modules/uniwidth/u8-width-tests: Likewise.
30313         * modules/uniwidth/u16-strwidth-tests: Likewise.
30314         * modules/uniwidth/u16-width-tests: Likewise.
30315         * modules/uniwidth/u32-strwidth-tests: Likewise.
30316         * modules/uniwidth/u32-width-tests: Likewise.
30317         * modules/uniwidth/width-tests: Likewise.
30318
30319 2010-05-18  Richard Jones  <rjones@redhat.com>
30320
30321         doc: users.txt: list hivex
30322         * users.txt: Add hivex.
30323
30324 2010-05-18  Richard Jones  <rjones@redhat.com>
30325
30326         doc: users.txt: list febootstrap
30327         * users.txt: Add febootstrap.
30328
30329 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
30330
30331         bootstrap: fix an error when gnulib is not used as a git submodule
30332         * build-aux/bootstrap (gnulib_path): If its length is zero then
30333         assign "gnulib" to it.
30334         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
30335
30336 2010-05-16  Bruno Haible  <bruno@clisp.org>
30337
30338         Avoid autoconf warnings about AM_ICONV.
30339         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
30340         2.64.
30341
30342 2010-05-16  Bruno Haible  <bruno@clisp.org>
30343
30344         absolute-header: Make the macro usable in more situations.
30345         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
30346         from gl_ABSOLUTE_HEADER.
30347         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
30348
30349 2010-05-16  James Youngman  <jay@gnu.org>
30350
30351         doc: update users.txt
30352         * users.txt: Add CSSC.
30353
30354 2010-05-16  Jim Meyering  <meyering@redhat.com>
30355
30356         init.sh: fix an error in the previous change; add more comments
30357         * tests/init.sh: Compare exit code in loop against 9, not 2.
30358         Patch by Bruno Haible.
30359         Make the two tests more similar by adding an empty "then" clause.
30360         Add comments.
30361
30362         init.sh: avoid unnecessary shell re-exec
30363         * tests/init.sh: Improve the re-exec-required check to first test the
30364         current shell.  If it passes the test, do not search for a shell that
30365         does pass, and do not re-exec.  This test is particularly contorted to
30366         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
30367         of $(...) evokes a syntax error and causes immediate shell exit with
30368         status 2.  Bruno Haible reported that the re-exec made it impossible
30369         to single-step through any init.sh-using script.
30370
30371 2010-05-16  Bruno Haible  <bruno@clisp.org>
30372
30373         Fix collision between gnulib's and libintl's printf replacements.
30374         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
30375         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
30376         (printf): When using GNU C, map the __printf__ function to rpl_printf
30377         via __asm__. When not using GNU C, define rpl_printf instead of
30378         __printf__.
30379         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
30380         commit.
30381         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
30382         commit.
30383         * m4/asm-underscore.m4: New file.
30384         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
30385         * modules/stdio (Files): Add m4/asm-underscore.m4.
30386         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
30387         Reported by Ben Pfaff.
30388
30389 2010-05-16  Bruno Haible  <bruno@clisp.org>
30390
30391         verify: Avoid skipping the test on openSUSE 11.0.
30392         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
30393
30394 2010-05-13  Bruno Haible  <bruno@clisp.org>
30395
30396         Avoid useless warnings from G++.
30397         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
30398         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
30399         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30400
30401 2010-05-11  Jim Meyering  <meyering@redhat.com>
30402
30403         maint.mk: tweak preceding change
30404         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
30405         regexps tighter by anchoring at EOL, and make the new group "shy"
30406         for slightly decreased overhead.
30407
30408 2010-05-11  Eric Blake  <eblake@redhat.com>
30409
30410         maint.mk: gnulib doesn't guarantee NSIG
30411         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
30412
30413 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30414
30415         test-pwrite.c: Remove unused variable declaration.
30416         * tests/test-pwrite.c (main): Remove read_buf declaration.
30417
30418         Remove useless test-pwrite.sh file.
30419         * tests/test-pwrite.sh: Delete file.
30420         * modules/pwrite-tests: Remove references.
30421         Reported by Bruno Haible.
30422
30423 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30424
30425         init.sh: fix a typo
30426         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
30427
30428 2010-05-10  Jim Meyering  <meyering@redhat.com>
30429
30430         maint.mk: avoid using a temporary file in the always-defined-macros check
30431         * top/maint.mk (.re-defmac): Remove rule.
30432         (gl_trap_): Remove definition.
30433         (sc_prohibit_always-defined_macros): Rewrite not to create and
30434         depend on a temporary file.  Instead, depend on GNU grep's ability
30435         to read a list of regular expressions from stdin when given "-f -".
30436
30437 2010-05-09  Bruno Haible  <bruno@clisp.org>
30438
30439         Update to GNU gettext 0.18, part 1.
30440         * m4/gettext.m4: Update to GNU gettext 0.18.
30441         * m4/intl.m4: Likewise.
30442         * m4/po.m4: Likewise.
30443         * modules/gettext (Files): Add m4/fcntl-o.m4.
30444         (configure.ac): Require gettext infrastructure from version 0.18.
30445
30446 2010-05-09  Jim Meyering  <meyering@redhat.com>
30447
30448         init.sh: enable MALLOC_PERTURB_
30449         * tests/init.sh: Enable glibc's malloc-perturbing option.
30450
30451         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30452         With my recent change in init.sh from the two-line form:
30453             -#   : ${srcdir=.}
30454             -#   . "$srcdir/init.sh"; path_prepend_ .
30455             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30456         I noticed that using the one-line form would cause this test
30457         to fail with a false-positive, or to stop working altogether,
30458         depending on whether help-version changed or all the tests did.
30459         * top/maint.mk (_hv_regex): Remove this definition.
30460         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30461         (_hv_regex_strong): Use a stronger regex to check for conformance.
30462         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30463         Give a separate diagnostic for lack of conforming use.
30464
30465         maint.mk: prohibit definition of symbols defined by gnulib
30466         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30467         definition of symbols defined by gnulib.
30468
30469 2010-05-09  Bruno Haible  <bruno@clisp.org>
30470
30471         acl: Avoid test failure on Cygwin-hosted mingw.
30472         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30473
30474 2010-05-09  Bruno Haible  <bruno@clisp.org>
30475
30476         error: Use system's fcntl function.
30477         * lib/error.c (fcntl): Undefine.
30478
30479 2010-05-09  Jim Meyering  <meyering@redhat.com>
30480
30481         verify: adjust formatting to be more consistent
30482         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30483         argument-list '('s, and after one comma.
30484
30485 2010-05-09  Bruno Haible  <bruno@clisp.org>
30486
30487         error: More reliable output on mingw.
30488         * lib/error.c: Include <windows.h>.
30489         (is_open): New function.
30490         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30491         defined.
30492
30493 2010-05-09  Bruno Haible  <bruno@clisp.org>
30494
30495         vasnprintf: Fix syntax errors in libintl build on mingw.
30496         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30497         pad_ourselves and prec_ourselves after use.
30498
30499 2010-05-08  Bruno Haible  <bruno@clisp.org>
30500
30501         * lib/config.charset: Update comments for Cygwin 1.7.
30502         * lib/localcharset.c: Likewise.
30503
30504 2010-05-07  Jim Meyering  <meyering@redhat.com>
30505
30506         init.sh: improve comments
30507         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30508         . "${srcdir=.}/init.sh"; path_prepend_ .
30509         Add a note about path_prepend_ and the alternative of using
30510         TESTS_ENVIRONMENT.
30511
30512 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30513
30514         exclude: Unescape hashed patterns in wildcard mode.
30515         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30516         to the hash list.
30517         * tests/test-exclude8.sh: New test case.
30518         * modules/exclude-tests: Add new test.
30519
30520 2010-05-05  Eric Blake  <eblake@redhat.com>
30521
30522         verify: automate tests
30523         * modules/verify-tests: New module.
30524         * tests/test-verify.sh: New file.
30525         * tests/test-verify.c: Guard each negative test with a unique id.
30526         Also avoid warning about unused left hand of comma expressions.
30527
30528 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30529
30530         Further improvements to verify.h, suggested by Eric Blake.
30531         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30532         the GL_* versions, to avoid collision with OpenGL.
30533         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30534         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30535         than testing merely whether it's defined.
30536
30537         Modify verify.h to pacify gcc -Wredundant_decls.
30538         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30539         These use the prefix "GL_" since they're likely to be useful elsewhere.
30540         We may need to break them out into a different .h file.
30541         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30542         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30543         of verify_function__.
30544
30545 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30546
30547         Tests for module pwrite.
30548         * modules/pwrite-tests: New file.
30549         * tests/test-pwrite.sh: New file.
30550         * tests/test-pwrite.c: New file.
30551
30552         New module pwrite.
30553         * lib/unistd.in.h (pwrite): New declaration.
30554         * lib/pwrite.c: New file, from glibc with modifications.
30555         * m4/pwrite.m4: New file.
30556         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30557         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30558         REPLACE_PWRITE.
30559         * modules/pwrite: New file.
30560         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30561         REPLACE_PWRITE.
30562         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30563         * doc/posix-functions/pwrite.texi: Mention the new module.
30564
30565 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30566
30567         pread: Update documentation.
30568         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30569
30570 2010-05-04  Eric Blake  <eblake@redhat.com>
30571
30572         docs: update cygwin progress
30573         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30574         this bug.
30575         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30576         Added in cygwin 1.7.2.
30577         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30578         Likewise.
30579         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30580         Likewise.
30581         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30582         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30583         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30584         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30585         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30586         Mention nproc module.
30587         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30588         bug in cygwin 1.7.5 addition.
30589         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30590         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30591         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30592         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30593         1.7.5.
30594         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30595         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30596         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30597         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30598         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30599         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30600         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
30601         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
30602         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
30603         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
30604         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
30605         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
30606         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
30607         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
30608         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
30609         Likewise.
30610         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
30611         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
30612         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
30613         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
30614         Likewise.
30615         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
30616         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
30617         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
30618         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
30619         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
30620         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
30621         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
30622         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
30623         Likewise.
30624         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
30625         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
30626         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
30627         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
30628         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
30629         Likewise.
30630         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
30631         Likewise.
30632         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
30633         Likewise.
30634         * doc/glibc-functions/xdrrec_endofrecord.texi
30635         (xdrrec_endofrecord): Likewise.
30636         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
30637         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
30638         Likewise.
30639         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
30640         Likewise.
30641
30642 2010-05-04  Jim Meyering  <meyering@redhat.com>
30643
30644         gendocs.sh: make its "-s FILE" option more useful
30645         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30646         $PACKAGE to reflect the probably-different basename of "FILE".
30647
30648 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30649
30650         bootstrap: don't ignore download_po_files failure
30651         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30652         failure.
30653
30654 2010-05-03  Jim Meyering  <meyering@redhat.com>
30655
30656         maint.mk: allow to pass options to gendocs.sh
30657         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30658         (gendocs_options_): New overridable variable.
30659
30660         gnu-web-doc-update: don't ignore configure or build failure
30661         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30662
30663         announce-gen: backslash-escape '@'s in --help output
30664         * build-aux/announce-gen: Fix syntax errors.
30665
30666         maint.mk, announce-gen: allow project-specific announcement mail headers
30667         * top/maint.mk (translation_project_): Define default.
30668         (announcement_Cc_, announcement_mail_headers_): Likewise.
30669         (announcement): Invoke announce-gen with new --mail-headers option.
30670         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
30671
30672         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
30673         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
30674         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
30675         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
30676         line in the "err2" output file when running "make check" in verbose
30677         mode (i.e., with set -x enabled).
30678
30679 2010-05-03  Bruno Haible  <bruno@clisp.org>
30680
30681         wctob: Fix for weird platforms.
30682         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
30683         argument value.
30684
30685 2010-05-03  Jim Meyering  <meyering@redhat.com>
30686
30687         maint.mk: prohibit unwarranted use of <strings.h>
30688         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
30689         strings.h in a file that does not also use strcasecmp, strncasecmp,
30690         ffs or ffsll.
30691
30692         maint.mk: remove obsolete comments
30693         * top/maint.mk: Remove stale, commented-out rules.
30694
30695 2010-05-02  Bruno Haible  <bruno@clisp.org>
30696
30697         wcwidth: Declare also when it's aliased.
30698         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
30699         macro.
30700
30701 2010-05-02  Bruno Haible  <bruno@clisp.org>
30702
30703         Fix regression from 2010-04-25.
30704         * gnulib-tool (func_modules_transitive_closure): Check the status of
30705         all modules, not only of the tests that are of the form foo-tests where
30706         foo is a module.
30707
30708 2010-05-02  Bruno Haible  <bruno@clisp.org>
30709
30710         wctob: Work around nasty Cygwin 1.7.2 bug.
30711         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
30712         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
30713
30714 2010-05-01  Bruno Haible  <bruno@clisp.org>
30715
30716         fpurge: Sharper test.
30717         * tests/test-fpurge.c (main): Add one more ftell check.
30718         * modules/fpurge-tests (Depends-on): Add ftell.
30719         Suggested by Eric Blake.
30720
30721 2010-05-01  Bruno Haible  <bruno@clisp.org>
30722
30723         ftello: Another test.
30724         * tests/test-ftello3.c: New file.
30725         * modules/ftello-tests (Files): Add it.
30726         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30727         MOSTLYCLEANFILES.
30728
30729         ftell: Another test.
30730         * tests/test-ftell3.c: New file.
30731         * modules/ftell-tests (Files): Add it.
30732         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30733         MOSTLYCLEANFILES.
30734
30735 2010-05-01  Bruno Haible  <bruno@clisp.org>
30736
30737         ftell, ftello: Work around Solaris bug.
30738         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
30739         * lib/ftello.c: Include stdio-impl.h.
30740         (ftello): On Solaris, when _IOWRT is set, compute the result without
30741         looking at _IOREAD.
30742         * modules/ftello (Files): Add lib/stdio-impl.h.
30743         * doc/posix-functions/ftell.texi: Mention Solaris bug.
30744         * doc/posix-functions/ftello.texi: Likewise.
30745         Reported by Eric Blake.
30746
30747 2010-05-01  Bruno Haible  <bruno@clisp.org>
30748
30749         freading: Adapt to special meaning of _IOREAD flag on Solaris.
30750         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
30751         the _IOWRT flag is also set.
30752
30753 2010-05-01  Bruno Haible  <bruno@clisp.org>
30754
30755         Fix doc about a HP-UX stdio bug.
30756         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
30757         * doc/posix-functions/ftello.texi: Likewise.
30758
30759 2010-05-01  Bruno Haible  <bruno@clisp.org>
30760
30761         lseek test: Fix failure on Solaris.
30762         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
30763         output.
30764
30765 2010-04-30  Jim Meyering  <meyering@redhat.com>
30766
30767         bootstrap: don't ignore failure to generate po*/Makevars
30768         * build-aux/bootstrap (with_gettext): Don't ignore failure
30769         to create po/Makevars or runtime-po/Makevars.
30770
30771 2010-04-29  Eric Blake  <eblake@redhat.com>
30772
30773         headers: relax license to LGPLv2+
30774         * modules/fcntl-h (License): Relax license.
30775         * modules/getopt-posix (License): Likewise.
30776         * modules/locale (License): Likewise.
30777         * modules/math (License): Likewise.
30778         * modules/pty (License): Likewise.
30779         * modules/sched (License): Likewise.
30780         * modules/search (License): Likewise.
30781         * modules/spawn (License): Likewise.
30782         * modules/stdarg (License): Likewise.
30783         * modules/sysexits (License): Likewise.
30784
30785 2010-04-29  Jim Meyering  <meyering@redhat.com>
30786
30787         inttypes: relax license to LGPLv2+
30788         * modules/inttypes (License): Relax license.
30789
30790 2010-04-29  Simon Josefsson  <simon@josefsson.org>
30791
30792         * top/maint.mk (indent): Run twice to produce idempotent results.
30793
30794 2010-04-28  Bruno Haible  <bruno@clisp.org>
30795
30796         getdate: Generate getdate.c in the source directory.
30797         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
30798         MOSTLYCLEANFILES.
30799         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
30800
30801 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
30802
30803         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
30804         is not declared as a const *; avoid warnings in that case.
30805
30806 2010-04-28  Eric Blake  <eblake@redhat.com>
30807
30808         canonicalize-lgpl: avoid compiler warning
30809         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
30810         declaration' / 'extraneous semicolon' warning with some compilers.
30811         Reported by Andreas Gruenbacher.
30812
30813 2010-04-28  Jim Meyering  <meyering@redhat.com>
30814
30815         init.sh: ensure a more reliable exit status when exiting via trap
30816         * tests/init.sh (setup_): Don't rely on $? in signal handler.
30817         Inspired by patches from Dmitry V. Levin.
30818         Also trap on signal 3 (SIGQUIT).
30819
30820 2010-04-27  Bruno Haible  <bruno@clisp.org>
30821
30822         Update doc about utimes().
30823         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
30824         'utimens' module.
30825         Reported by Andreas Gruenbacher <agruen@suse.de>.
30826
30827 2010-04-27  Eric Blake  <eblake@redhat.com>
30828
30829         full-read, full-write: relax license
30830         * modules/full-read (License): Drop to LGPLv2+.
30831         * modules/full-write (License): Likewise.
30832         * modules/safe-read (License): Likewise.
30833         * modules/safe-write (License): Likewise.
30834
30835         pthread: mention library for linking
30836         * modules/pthread (Link): Mention $(LIB_PTHREAD).
30837
30838 2010-04-27  Jim Meyering  <meyering@redhat.com>
30839
30840         maint.mk: fix a bug introduced in last change
30841         * top/maint.mk (gl_assured_headers_): Now that all names are on
30842         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
30843         is not anchored to end of word, it should be adequate.
30844
30845         maint.mk: avoid side-effect in latest syntax-check
30846         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
30847         to run commands via $(shell...), and hence to incur cost only when
30848         the new rule is actually run.
30849
30850         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
30851         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
30852         and use that to create a regexp used to detect all #if HAVE_..._H uses.
30853         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
30854         (gl_assured_headers_, az_, AZ_): Define.
30855         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
30856
30857 2010-04-26  Jim Meyering  <jim@meyering.net>
30858             Bruno Haible  <bruno@clisp.org>
30859
30860         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
30861         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
30862         Prompted by an exchange with Gilles Espinasse.
30863
30864 2010-04-26  Jim Meyering  <meyering@redhat.com>
30865
30866         git-version-gen: aesthetic tweak
30867         * build-aux/git-version-gen: Use "$nl" rather than a literal,
30868         so that the command remains on a single line.
30869
30870 2010-04-26  Eric Blake  <eblake@redhat.com>
30871
30872         git-version-gen: allow use on EBCDIC hosts
30873         * build-aux/git-version-gen (dirty): Use literal rather than tying
30874         ourselves to ascii.
30875         Reported by Steve Goetze.
30876
30877 2010-04-25  Bruno Haible  <bruno@clisp.org>
30878
30879         netdb: Add support for GNULIB_POSIXCHECK.
30880         * lib/netdb.in.h: Include warn-on-use.h.
30881         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
30882         functions are used when GNULIB_POSIXCHECK is defined and the
30883         getaddrinfo module is not in use.
30884         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
30885         freeaddrinfo, gai_strerror, getnameinfo are declared.
30886         * modules/netdb (Depends-on): Add warn-on-use.
30887         (Makefile.am): Include warn-on-use.h in netdb.h.
30888
30889 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
30890
30891         build: avoid "make check" failure without .git/ directory
30892         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
30893         there is no .git/ directory.
30894
30895 2010-04-25  Bruno Haible  <bruno@clisp.org>
30896
30897         ptsname: Fix misuse of ttyname_r.
30898         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
30899         of errno.
30900
30901 2010-04-25  Bruno Haible  <bruno@clisp.org>
30902
30903         ttyname_r: Make it work on Solaris 10.
30904         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
30905         if the system function has the POSIX declaration. Test whether the
30906         function fails if the buffer is less than 128 bytes large.
30907         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
30908         system's ttyname_r function. Provide a reasonably large buffer.
30909         * modules/ttyname_r (Depends-on): Add extensions.
30910         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
30911
30912 2010-04-25  Bruno Haible  <bruno@clisp.org>
30913
30914         Use the 'extensions' module for some more functions on Solaris.
30915         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
30916         module.
30917         * doc/posix-functions/ctime_r.texi: Likewise.
30918         * doc/posix-functions/getgrgid_r.texi: Likewise.
30919         * doc/posix-functions/getgrnam_r.texi: Likewise.
30920         * doc/posix-functions/getpwnam_r.texi: Likewise.
30921         * doc/posix-functions/getpwuid_r.texi: Likewise.
30922         * doc/posix-functions/readdir_r.texi: Likewise.
30923         * doc/posix-functions/sigwait.texi: Likewise.
30924         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
30925         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
30926
30927 2010-04-25  Bruno Haible  <bruno@clisp.org>
30928
30929         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
30930         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
30931         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
30932         * lib/ttyname_r.c: Include <limits.h>.
30933         (ttyname_r): Define using the system's ttyname_r function, if it exists
30934         and not on Solaris.
30935         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
30936         set.
30937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
30938         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
30939         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
30940         Reported by Simon Josefsson.
30941
30942 2010-04-25  Bruno Haible  <bruno@clisp.org>
30943
30944         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
30945         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
30946         * doc/posix-functions/ctime_r.texi: Likewise.
30947         * doc/posix-functions/getgrgid_r.texi: Likewise.
30948         * doc/posix-functions/getgrnam_r.texi: Likewise.
30949         * doc/posix-functions/getlogin_r.texi: Likewise.
30950         * doc/posix-functions/getpwnam_r.texi: Likewise.
30951         * doc/posix-functions/getpwuid_r.texi: Likewise.
30952         * doc/posix-functions/readdir_r.texi: Likewise.
30953         * doc/posix-functions/sigwait.texi: Likewise.
30954         * doc/posix-functions/ttyname_r.texi: Likewise.
30955         Reported by Simon Josefsson.
30956
30957 2010-04-25  Bruno Haible  <bruno@clisp.org>
30958
30959         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
30960         * gnulib-tool (func_usage): Document that --with-*-tests options apply
30961         also to --create-testdir.
30962         (func_acceptable): Don't consider the status of *-tests modules here.
30963         (func_modules_transitive_closure): Consider it here, before including a
30964         test module.
30965         (func_import, func_create_testdir): Set inc_all_direct_tests,
30966         inc_all_indirect_tests.
30967         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
30968         --create-testdir and --create-megatestdir.
30969
30970 2010-04-25  Bruno Haible  <bruno@clisp.org>
30971
30972         gnulib-tool: Add --without-*-tests options.
30973         * gnulib-tool (func_usage): Document the --without-*-tests options.
30974         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
30975         excl_unportable_tests): New variables.
30976         Fail if they are specified with --import or --update.
30977         (func_acceptable): Respect the excl_*_tests variables.
30978         (func_import): Set the excl_*_tests variables to empty.
30979
30980 2010-04-25  Simon Josefsson  <simon@josefsson.org>
30981             Bruno Haible  <bruno@clisp.org>
30982
30983         Work around a MacOS X 10.4 bug with openpty.
30984         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
30985         * tests/test-openpty.c (main): Close the master side explicitly.
30986
30987 2010-04-25  Bruno Haible  <bruno@clisp.org>
30988
30989         strnlen: Fix a C++ test error on MacOS X and Solaris.
30990         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
30991         the function is not declared.
30992         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
30993         Simon Josefsson.
30994
30995 2010-04-24  Bruno Haible  <bruno@clisp.org>
30996
30997         Avoid a gcc warning.
30998         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
30999         of correct type for %08lx directive.
31000         Reported by Eric Blake.
31001
31002 2010-04-24  Bruno Haible  <bruno@clisp.org>
31003
31004         vasnprintf: Correct errno value in case of out-of-memory.
31005         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
31006         or sprintf. Use the errno value from SNPRINTF or sprintf.
31007         Reported by Ian Beckwith <ianb@erislabs.net>.
31008
31009 2010-04-24  Bruno Haible  <bruno@clisp.org>
31010
31011         ansi-c++-opt: Find correct compiler when cross-compiling.
31012         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31013         AC_CHECK_PROGS.
31014         Reported by Simon Josefsson.
31015
31016 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31017
31018         vc-list-files: Add support for subversion
31019         * build-aux/vc-list-files: Use "svn list" to generate the list of
31020         files controlled by subversion.
31021
31022 2010-04-23  Jim Meyering  <meyering@redhat.com>
31023
31024         vc-list-files tests: convert to use init.sh
31025         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31026         path_prepend_.
31027         Use Exit, not exit.
31028         Use skip_ rather than open coding it.
31029         Remove trap set-up and compare definitions.
31030         * tests/test-vc-list-files-git.sh: Likewise.
31031         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31032
31033 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31034
31035         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31036         backup files.
31037
31038 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31039
31040         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31041
31042 2010-04-20  Eric Blake  <eblake@redhat.com>
31043
31044         tests: be robust to ignored SIGPIPE
31045         * tests/test-select-in.sh: Consume all output.
31046         * tests/test-lseek.sh: Check correct exit status, while avoiding
31047         EPIPE.
31048
31049 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31050             Bruno Haible  <bruno@clisp.org>
31051
31052         visibility: Don't use -fvisibility if it leads to a warning.
31053         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31054         yes, don't pretend that visibility works if it leads to a warning.
31055         Reported by Mike Gran <spk121@yahoo.com>.
31056
31057 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31058
31059         * build-aux/bootstrap: Use "git -h" for testing for supported options
31060         instead of "git --help".  The short-form option only shows a summary,
31061         and doesn't layout the full man page.  Grep for the full option name
31062         in the summary, too.
31063
31064 2010-04-19  Bruno Haible  <bruno@clisp.org>
31065
31066         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
31067         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
31068         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
31069         mention of RELOCATABLE_STRIP.
31070         Reported by Sylvain Beucler <beuc@beuc.net>.
31071
31072 2010-04-19  Bruno Haible  <bruno@clisp.org>
31073
31074         * lib/diffseq.h: Fix typo in comment.
31075         Reported by Eric Blake.
31076
31077 2010-04-19  Bruno Haible  <bruno@clisp.org>
31078
31079         ioctl: Move autoconf macro to a .m4 file.
31080         * m4/ioctl.m4: New file, extracted from modules/ioctl.
31081         * modules/ioctl (Files): Add it.
31082         (configure.ac): Simply invoke gl_FUNC_IOCTL.
31083         Reported by Ian Beckwith <ianb@erislabs.net>.
31084
31085 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
31086             Bruno Haible  <bruno@clisp.org>
31087
31088         diffseq: Accommodate use-case with abstract arrays.
31089         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
31090         is not defined.
31091         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
31092         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
31093
31094 2010-04-18  Bruno Haible  <bruno@clisp.org>
31095
31096         * doc/posix-headers/stdbool.texi: More precise wording.
31097
31098 2010-04-17  Jim Meyering  <meyering@redhat.com>
31099
31100         maint.mk: use gnu-style indentation in an embedded perl script
31101         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
31102         Rename variable: s/two/last_two_bytes/
31103
31104 2010-04-16  Eric Blake  <eblake@redhat.com>
31105
31106         test-stdbool: skip test that fails with Solaris CC
31107         * tests/test-stdbool.c (f): Skip test that causes compilation
31108         error under buggy C++ compiler.
31109         * lib/stdbool.in.h: Document the limitation.
31110         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
31111
31112         setenv: allow compilation with C++
31113         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
31114         register keyword.
31115
31116         stdint: allow test to pass with C++
31117         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
31118
31119         getopt: allow compilation with C++
31120         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
31121         struct.
31122         * lib/getopt.c (_getopt_internal_r): Use correct type.
31123         Reported by Dagobert Michelson, via Joel E. Denny.
31124
31125 2010-04-16  Bruno Haible  <bruno@clisp.org>
31126
31127         Override netdb.h always.
31128         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
31129         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
31130         Reported by Ludovic Courtès <ludo@gnu.org>.
31131
31132 2010-04-15  Bruno Haible  <bruno@clisp.org>
31133
31134         openpty: Fix mistake from 2010-03-21.
31135         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
31136         Reported by Simon Josefsson.
31137
31138 2010-04-15  Eric Blake  <eblake@redhat.com>
31139
31140         test-forkpty: fix expected signature
31141         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
31142         Reported by Simon Josefsson.
31143
31144 2010-04-15  Jim Meyering  <meyering@redhat.com>
31145
31146         maint.mk: texinfo_suffix_re_: correct the default regexp
31147         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
31148
31149         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
31150         make it configurable via texinfo_suffix_re_.
31151
31152 2010-04-14  Eric Blake  <eblake@redhat.com>
31153
31154         strtok_r: relax license to LGPLv2+
31155         * modules/strtok_r (License): Relax license.
31156         Reported by Matthias Bolte.
31157
31158 2010-04-14  Simon Josefsson  <simon@josefsson.org>
31159
31160         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
31161         version 1.4.4 by default instead of requiring the libgcrypt
31162         version used during build.  This makes it possible to use the
31163         application with older but still binary compatible libgcrypt
31164         versions.
31165
31166 2010-04-13  Eric Blake  <eblake@redhat.com>
31167
31168         getopt-gnu: match recent glibc fixes and posix ruling
31169         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
31170         '+' handling, when requesting extensions.
31171         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
31172         'W;' handling.
31173         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
31174         * doc/posix-functions/getopt.texi (getopt): Document this.
31175         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31176         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31177         Likewise.
31178
31179         getopt: merge bug fixes from glibc
31180         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
31181         diagnostics.  Honor '+:' correctly.  Reject ';'.
31182
31183         getopt-posix: detect MacOS bug
31184         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
31185         optind when missing a required argument.
31186         * doc/posix-functions/getopt.texi (getopt): Document the bug.
31187         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31188         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31189         Likewise.
31190
31191         getopt-posix: avoid spurious failure on Solaris
31192         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
31193         an indicator that setting optind=1 is sufficient for reset.
31194
31195         getopt-posix: avoid spurious failure on FreeBSD
31196         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
31197         in POSIX mode, since the m4 test uses it.
31198
31199         gnulib-tool: silence warning on BSD sh
31200         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
31201
31202 2010-04-13  Jim Meyering  <meyering@redhat.com>
31203
31204         doc: users.txt: GNU patch now uses gnulib
31205         * users.txt: Add patch.
31206
31207 2010-04-12  Jim Meyering  <meyering@redhat.com>
31208
31209         maint.mk: generate more concise timing data for syntax-check rules
31210         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
31211         " done" from each line that reports a syntax-check test duration.
31212
31213 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
31214
31215         git-version-gen: use "git update-index..." rather than "git status"
31216         * build-aux/git-version-gen: Use git update-index --refresh, not
31217         "git status".  With some versions of git, "git status" would fail
31218         to update the index and result in an unwarranted "-dirty" suffix.
31219
31220 2010-04-11  Jim Meyering  <meyering@redhat.com>
31221
31222         openat: correct formatting (no semantic change)
31223         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
31224         Suggested by Bruno Haible.
31225
31226 2010-04-11  Bruno Haible  <bruno@clisp.org>
31227
31228         Stricter declaration checking in testdirs.
31229         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31230         If for_tests is true, augment AM_CPPFLAGS to define
31231         GNULIB_STRICT_CHECKING.
31232         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
31233         GNULIB_STRICT_CHECKING is defined, verify that the function is
31234         declared.
31235
31236 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
31237             Bruno Haible  <bruno@clisp.org>
31238
31239         libunistring: Improve configure output.
31240         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
31241         Don't say "consider installing GNU libunistring" when checking again
31242         with libiconv.
31243
31244 2010-04-11  Bruno Haible  <bruno@clisp.org>
31245
31246         libunistring: Correct value of $LTLIBUNISTRING.
31247         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
31248         correct the value of $LTLIBUNISTRING.
31249
31250 2010-04-11  Bruno Haible  <bruno@clisp.org>
31251
31252         havelib: Add static libraries to LIBS in the right order.
31253         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
31254         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
31255
31256 2010-04-11  Bruno Haible  <bruno@clisp.org>
31257
31258         libunistring: Detect libunistring also when it depends on libiconv.
31259         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
31260         the second AC_LIB_HAVE_LINKFLAGS invocation.
31261
31262 2010-04-11  James Youngman  <jay@gnu.org>
31263
31264         close-stream: declare local scalars to be "const"
31265         * lib/close-stream.c (close_stream): Make boolean variables const
31266         to document the fact that we set but do not change them.
31267
31268 2010-04-11  Bruno Haible  <bruno@clisp.org>
31269
31270         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
31271
31272 2010-04-11  Jim Meyering  <meyering@redhat.com>
31273
31274         maint.mk: don't include dist-check.mk
31275         * top/maint.mk: Remove bogus include directive.
31276
31277         maint.mk: improve empty-line-at-EOF check
31278         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
31279         solution, rather than tail+Perl-based one.  The latter would read
31280         a few kilobytes from the end of each file, and did not handle empty
31281         files properly.
31282
31283         maint.mk: print the elapsed time for each syntax-check rule
31284         * top/maint.mk (sc_m_rules_): Save start time in a file.
31285         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31286         (local-check): Interpose the .z rules
31287
31288 2010-04-11  Jim Meyering  <meyering@redhat.com>
31289
31290         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
31291         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
31292         empty file with one that ends in an empty line.
31293
31294 2010-04-10  Bruno Haible  <bruno@clisp.org>
31295
31296         mkdir: Make it work on mingw64.
31297         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
31298         * lib/mkdir.c: Update comment.
31299         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
31300
31301 2010-04-10  Bruno Haible  <bruno@clisp.org>
31302
31303         Don't override improved macro from newer autoconf.
31304         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
31305         autoconf >= 2.62.
31306         Reported by Joel E. Denny <jdenny@clemson.edu>.
31307
31308 2010-04-10  Jim Meyering  <meyering@redhat.com>
31309
31310         maint.mk: new syntax-check rule: prohibit empty lines at end of file
31311         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
31312
31313         maint.mk: correct a diagnostic
31314         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
31315         in diagnostic; now use $prohibit.
31316
31317 2010-04-10  Bruno Haible  <address@hidden>
31318
31319         fchownat: Fix a C++ test error on Solaris 8.
31320         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
31321         the function does not exist.
31322
31323 2010-04-10  Bruno Haible  <bruno@clisp.org>
31324
31325         vasnprintf: Add more tests.
31326         * tests/test-vasnprintf-posix.c: Include <errno.h>.
31327         (test_function): Test converting an invalid wide string.
31328
31329         vasnprintf: Correct handling of unconvertible wide string arguments.
31330         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
31331         VASNPRINTF.
31332         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
31333         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
31334         smaller than the expected maximum need for the directive. Set errno to
31335         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
31336         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
31337         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
31338         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
31339         * modules/vasnprintf (Files): Add m4/printf.m4.
31340         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31341
31342 2010-04-10  Bruno Haible  <bruno@clisp.org>
31343
31344         vasnprintf: Fix crash in %ls directive.
31345         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
31346         string is passed as argument to %ls, with no precision and no width.
31347         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31348
31349 2010-04-10  Bruno Haible  <bruno@clisp.org>
31350
31351         vasnprintf: Fix multiple test failures on mingw.
31352         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
31353         _snprintf, or snwprintf, not _snwprintf.
31354
31355 2010-04-10  Bruno Haible  <bruno@clisp.org>
31356
31357         write: Fix a C++ test error on mingw.
31358         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
31359
31360 2010-04-10  Bruno Haible  <bruno@clisp.org>
31361
31362         vasnprintf test: Reduce code duplication.
31363         * tests/test-vasnprintf.c (test_function): New function, extracted from
31364         test_vasnprintf.
31365         (test_vasnprintf, test_asnprintf): Invoke it.
31366
31367 2010-04-10  Bruno Haible  <bruno@clisp.org>
31368
31369         strnlen: Fix warning in C++ mode on MacOS X.
31370         * lib/string.in.h (strnlen): Use the modern idiom.
31371         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
31372         defining strnlen as a macro already in <config.h>.
31373         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31374         REPLACE_STRNLEN.
31375         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
31376         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31377
31378 2010-04-08  James Youngman  <jay@gnu.org>
31379
31380         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
31381         the example.
31382
31383 2010-04-09  Jim Meyering  <meyering@redhat.com>
31384
31385         maint.mk: print better diagnostic when there is no $(_hv_file)
31386         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
31387         announce that when $(_hv_file) (aka help-version) does not exist.
31388
31389         init.sh: run tr in the "C" locale to avoid multibyte interpretation
31390         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
31391         not try to interpret its random input bytes.  Jarno Rajahalme reported
31392         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
31393         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
31394         (mktempd_): Likewise, just in case.
31395
31396         ftruncate: add two years to projected module removal date: 2012
31397         * m4/ftruncate.m4: Adjust comments.
31398
31399         ftruncate: mark module as obsolete; even MinGW provides it, now
31400         * modules/ftruncate (Status): Obsolete.
31401         (Notice): Say that.
31402         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
31403         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
31404
31405 2010-04-08  Bruno Haible  <bruno@clisp.org>
31406
31407         Fix side effects from tests-related modules.
31408         * modules/dprintf-posix (Comment): New section.
31409         * modules/fprintf-posix (Comment): Likewise.
31410         * modules/obstack-printf-posix (Comment): Likewise.
31411         * modules/printf-posix (Comment): Likewise.
31412         * modules/snprintf-posix (Comment): Likewise.
31413         * modules/sprintf-posix (Comment): Likewise.
31414         * modules/vasnprintf-posix (Comment): Likewise.
31415         * modules/vasprintf-posix (Comment): Likewise.
31416         * modules/vdprintf-posix (Comment): Likewise.
31417         * modules/vfprintf-posix (Comment): Likewise.
31418         * modules/vprintf-posix (Comment): Likewise.
31419         * modules/vsnprintf-posix (Comment): Likewise.
31420         * modules/vsprintf-posix (Comment): Likewise.
31421         * modules/xprintf-posix (Comment): Likewise.
31422         * modules/xvasprintf-posix (Comment): Likewise.
31423         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
31424         * modules/floorf-tests (Depends-on): Likewise.
31425         * modules/round-tests (Depends-on): Likewise.
31426         * modules/roundf-tests (Depends-on): Likewise.
31427         * modules/trunc-tests (Depends-on): Likewise.
31428         * modules/truncf-tests (Depends-on): Likewise.
31429         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31430         'fprintf-posix' module is not present.
31431         * tests/test-floorf2.c (check): Likewise.
31432         * tests/test-trunc2.c (check): Likewise.
31433         * tests/test-truncf2.c (check): Likewise.
31434         * tests/test-round2.c (equal): Likewise.
31435         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31436
31437 2010-04-07  Karl Berry  <karl@gnu.org>
31438
31439         * config/srclist.txt,
31440         * config/srclistvars.sh,
31441         * config/srclist-update: doc fixes.
31442
31443 2010-04-07  Jim Meyering  <meyering@redhat.com>
31444
31445         maint.mk: add a PATH crosschecking syntax-check rule
31446         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31447         Useful if you use a test like the one in help-version (coreutils,
31448         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31449         printed by prog --version.
31450
31451 2010-04-06  Bruno Haible  <bruno@clisp.org>
31452
31453         Fix link error on mingw.
31454         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31455         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31456
31457 2010-04-06  Bruno Haible  <bruno@clisp.org>
31458
31459         Assume rmdir exists.
31460         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31461
31462 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31463
31464         doc: update users.txt
31465         * users.txt: Add gcal.
31466
31467 2010-04-06  Jim Meyering  <meyering@redhat.com>
31468
31469         init.sh: simply unset TMPDIR rather than risking env -i
31470         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31471         although it probably works fine on all Unix-based systems, some
31472         systems (Cygwin?) cannot tolerate a totally cleared environment.
31473         Suggestion from Eric Blake.
31474
31475 2010-04-06  Jim Meyering  <meyering@redhat.com>
31476
31477         init.sh: portability fix: use env's POSIX-specified -i option not -u
31478         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31479         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31480
31481 2010-04-05  Bruno Haible  <bruno@clisp.org>
31482
31483         btowc: Work around Cygwin 1.7.2 bug.
31484         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31485         does not map NUL to 0.
31486         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31487
31488 2010-04-05  Bruno Haible  <bruno@clisp.org>
31489
31490         Make the multithread modules work on Cygwin 1.7.2.
31491         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31492         imported symbols can be declared weak, so that it returns "no" on
31493         Cygwin 1.7.2.
31494
31495 2010-04-05  Bruno Haible  <bruno@clisp.org>
31496
31497         Use the module 'strncat'.
31498         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31499
31500         Tests for module 'strncat'.
31501         * modules/strncat-tests: New file.
31502         * tests/test-strncat.c: New file.
31503
31504         New module 'strncat'.
31505         * lib/string.in.h (strncat): New declaration.
31506         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31507         * m4/strncat.m4: New file, based on m4/memchr.m4.
31508         * modules/strncat: New file.
31509         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31510         is declared.
31511         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31512         REPLACE_STRNCAT.
31513         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31514         REPLACE_STRNCAT.
31515         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31516         module.
31517         * tests/test-string-c++.cc: Check signature of strncat.
31518
31519 2010-04-05  Jim Meyering  <meyering@redhat.com>
31520
31521         xstrtoumax-tests: convert to use init.sh
31522         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31523         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31524         Use Exit, not exit.
31525         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31526
31527         xstrtoimax-tests: convert to use init.sh
31528         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31529         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31530         Use Exit, not exit.
31531         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31532
31533 2010-04-05  Bruno Haible  <bruno@clisp.org>
31534
31535         sys_socket: Avoid #define replacements in C++ mode.
31536         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31537         warning to the function if possible, rather than #defining the symbol
31538         to a dysfunctional alias.
31539
31540 2010-04-05  Bruno Haible  <bruno@clisp.org>
31541
31542         fseeko: Fix C++ test error on mingw.
31543         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31544         gl_FUNC_FSEEKO.
31545         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31546         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31547         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31548         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31549
31550 2010-04-05  Bruno Haible  <bruno@clisp.org>
31551
31552         duplocale: Improve test output.
31553         * tests/test-duplocale.c (main): Print reason for skipped test.
31554
31555 2010-04-05  Bruno Haible  <bruno@clisp.org>
31556
31557         Assume rmdir exists.
31558         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31559         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31560
31561 2010-04-05  Bruno Haible  <bruno@clisp.org>
31562
31563         Fix link error on Solaris 8 with cc.
31564         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31565
31566 2010-04-05  Bruno Haible  <bruno@clisp.org>
31567
31568         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31569         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31570
31571 2010-04-05  Bruno Haible  <bruno@clisp.org>
31572
31573         vasprintf: Update documentation.
31574         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31575
31576 2010-04-05  Bruno Haible  <bruno@clisp.org>
31577
31578         ptsname: Improve test.
31579         * tests/test-ptsname.c (main): Also try the various master names of BSD
31580         systems.
31581
31582 2010-04-05  Bruno Haible  <bruno@clisp.org>
31583
31584         memchr: Avoid a possible C++ test error.
31585         * lib/string.in.h (memchr): Provide declaration if function is missing.
31586         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31587         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31589         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31590
31591 2010-04-05  Bruno Haible  <bruno@clisp.org>
31592
31593         strtok_r: Improve idiom.
31594         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31595         AC_LIBOBJ is used.
31596
31597 2010-04-05  Bruno Haible  <bruno@clisp.org>
31598
31599         strdup: Improve idiom.
31600         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
31601         AC_LIBOBJ is used.
31602         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
31603         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
31604         when AC_LIBOBJ is used.
31605
31606 2010-04-05  Bruno Haible  <bruno@clisp.org>
31607
31608         mbsinit, mbrtowc, wcrtomb: Improve idioms.
31609         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
31610         don't set REPLACE_MBSINIT to 1.
31611         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
31612         don't set REPLACE_MBRTOWC to 1.
31613         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
31614         exist, don't set REPLACE_MBSRTOWCS to 1.
31615         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
31616         exist, don't set REPLACE_MBSNRTOWCS to 1.
31617         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
31618         don't set REPLACE_WCRTOMB to 1.
31619         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
31620         exist, don't set REPLACE_WCSRTOMBS to 1.
31621         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
31622         exist, don't set REPLACE_WCSNRTOMBS to 1.
31623
31624 2010-04-05  Bruno Haible  <bruno@clisp.org>
31625
31626         ldexpl: Improve idiom.
31627         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
31628         make sure to set HAVE_DECL_LDEXPL to 0.
31629
31630 2010-04-05  Jim Meyering  <meyering@redhat.com>
31631
31632         xstrtol-tests: convert to use init.sh
31633         * modules/xstrtol-tests (Files): Add tests/init.sh.
31634         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31635         Use Exit, not exit.
31636         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31637
31638         atexit-tests: convert to use init.sh
31639         * modules/atexit-tests (Files): Add tests/init.sh.
31640         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31641         Use Exit, not exit.
31642         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31643
31644         init.sh: fix typo
31645         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31646
31647         init.sh: make it easier for a test script to write to the tty, ...
31648         when using automake's parallel-tests mode.
31649         * tests/init.sh (stderr_fileno_): Define overridable variable.
31650         (warn_): New function, to use it.
31651         (fail_, skip_, framework_failure_): Use warn_.
31652
31653 2010-04-04  Bruno Haible  <bruno@clisp.org>
31654
31655         btowc: Avoid warning.
31656         * lib/btowc.c: Include <stdlib.h>.
31657         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31658
31659 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31660             Bruno Haible  <bruno@clisp.org>
31661
31662         wchar: Port to NetBSD 1.5.
31663         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
31664         * lib/wctype.in.h (WEOF): Likewise.
31665
31666 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31667             Bruno Haible  <bruno@clisp.org>
31668
31669         Port extended stdio to NetBSD 1.5.
31670         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
31671         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
31672         older.
31673
31674 2010-04-04  Bruno Haible  <bruno@clisp.org>
31675
31676         string: Remove unused substitution.
31677         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31678         HAVE_DECL_STRERROR.
31679         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
31680
31681 2010-04-04  Bruno Haible  <bruno@clisp.org>
31682
31683         strtod: Avoid a possible C++ test error.
31684         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
31685         set REPLACE_STRTOD.
31686
31687 2010-04-04  Bruno Haible  <bruno@clisp.org>
31688
31689         strerror: Update documentation.
31690         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
31691
31692 2010-04-04  Bruno Haible  <bruno@clisp.org>
31693
31694         stdio: Fix some C++ test errors on Solaris 8 with GCC.
31695         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
31696         _GL_CXXALIAS_SYS_CAST.
31697
31698 2010-04-04  Bruno Haible  <bruno@clisp.org>
31699
31700         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31701         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
31702         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
31703         REPLACE_FREXPL to 1.
31704         * doc/posix-functions/frexpl.texi: Update documentation.
31705
31706 2010-04-04  Bruno Haible  <bruno@clisp.org>
31707
31708         math: Fix some C++ test errors on Solaris 8 and Cygwin.
31709         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
31710
31711 2010-04-04  Bruno Haible  <bruno@clisp.org>
31712
31713         Implement nanosleep for native Windows.
31714         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
31715
31716 2010-04-04  Bruno Haible  <bruno@clisp.org>
31717
31718         math: Fix some C++ test errors on Solaris 8.
31719         * lib/math.in.h (truncf, trunc): Use simpler idiom.
31720
31721 2010-04-04  Bruno Haible  <bruno@clisp.org>
31722
31723         math: Fix some C++ test errors on Cygwin.
31724         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
31725         truncl): Provide declaration if the system does not have it.
31726         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
31727         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
31728         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
31729         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
31730         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
31731         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
31732         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
31733         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
31734         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
31735         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
31736         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
31737         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
31738         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
31739         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
31740         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
31741         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
31742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
31743         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31744         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31745         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
31746         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31747         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31748
31749 2010-04-04  Bruno Haible  <bruno@clisp.org>
31750
31751         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
31752         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31753         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31754         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31755         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31756         * m4/isinf.m4 (gl_ISINF): Likewise.
31757         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31758
31759 2010-04-04  Bruno Haible  <bruno@clisp.org>
31760
31761         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
31762         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31763
31764 2010-04-04  Bruno Haible  <bruno@clisp.org>
31765
31766         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
31767         * modules/tmpfile (configure.ac): Update.
31768
31769         tmpfile: Fix C++ test error on mingw.
31770         * lib/stdio.in.h (tmpfile): New declaration.
31771         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
31772         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
31773         * modules/tmpfile (Depends-on): Add stdio.
31774         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
31775         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
31776         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
31777         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
31778         REPLACE_TMPFILE.
31779         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
31780
31781 2010-04-04  Bruno Haible  <bruno@clisp.org>
31782
31783         ioctl: Fix C++ test error on mingw.
31784         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
31785         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
31786         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
31787
31788 2010-04-03  Bruno Haible  <bruno@clisp.org>
31789
31790         wcwidth: Fix C++ test error on mingw.
31791         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
31792         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
31793         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
31794
31795 2010-04-03  Bruno Haible  <bruno@clisp.org>
31796
31797         nanosleep: Fix C++ test error on mingw.
31798         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
31799         * lib/time.in.h (nanosleep): Use modern idiom.
31800         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
31801         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
31802         REPLACE_NANOSLEEP to 1.
31803         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
31804         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
31805
31806 2010-04-03  Bruno Haible  <bruno@clisp.org>
31807
31808         strptime: Fix C++ test error on mingw.
31809         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
31810         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
31811         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
31812         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
31813         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
31814         not REPLACE_STRPTIME.
31815         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
31816         REPLACE_STRPTIME.
31817
31818 2010-04-03  Bruno Haible  <bruno@clisp.org>
31819
31820         timegm: Fix C++ test error on mingw.
31821         * lib/time.in.h (timegm): Use modern idiom.
31822         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
31823         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
31824         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
31825         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
31826
31827 2010-04-03  Bruno Haible  <bruno@clisp.org>
31828
31829         timegm: Assume declaration if function exists.
31830         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
31831         if it exists. Don't clobber ac_cv_func_timegm.
31832
31833 2010-04-03  Bruno Haible  <bruno@clisp.org>
31834
31835         time_r: Fix C++ test error on mingw.
31836         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
31837         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
31838         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
31839         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
31840         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
31841
31842 2010-04-03  Bruno Haible  <bruno@clisp.org>
31843
31844         time_r: Minor updates.
31845         * modules/time_r (Description): Mention the provided functions.
31846         * lib/time_r.c: Don't include <string.h>.
31847         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
31848         * doc/posix-functions/localtime_r.texi: Likewise.
31849
31850 2010-04-03  Bruno Haible  <bruno@clisp.org>
31851
31852         time: Fix regression introduced on 2010-03-08.
31853         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
31854         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
31855
31856 2010-04-03  Jim Meyering  <meyering@redhat.com>
31857
31858         maint.mk: don't silently disable project-specific syntax-check rules
31859         * top/maint.mk (_prohibit_regexp): Define, to help people realize
31860         that they need to convert their project-specific syntax-check rules
31861         to use the new _sc_search_regexp.
31862
31863 2010-04-03  Bruno Haible  <bruno@clisp.org>
31864
31865         fchdir: Fix regression introduced on 2010-03-08.
31866         * lib/unistd.in.h (fchdir): Fix declaration.
31867         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
31868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
31869         REPLACE_FCHDIR.
31870         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
31871         REPLACE_FCHDIR.
31872
31873 2010-04-03  Bruno Haible  <bruno@clisp.org>
31874
31875         getpagesize: Fix C++ test error on mingw.
31876         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
31877         system does not declare the function.
31878         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
31879         declared.
31880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31881         HAVE_DECL_GETPAGESIZE.
31882         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
31883
31884 2010-04-03  Bruno Haible  <bruno@clisp.org>
31885
31886         stdio: Make C++ tests work on mingw.
31887         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
31888         does not declare the function.
31889
31890 2010-04-03  Bruno Haible  <bruno@clisp.org>
31891
31892         ftello: Fix C++ test error on mingw.
31893         * lib/stdio.in.h (ftello): Use modern idiom.
31894         * lib/ftello.c (ftello): Renamed from rpl_ftello.
31895         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
31896         is missing and that it needs to be replaced.
31897         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
31898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
31899         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
31900
31901 2010-04-03  Bruno Haible  <bruno@clisp.org>
31902
31903         fseeko: Fix C++ test error on mingw.
31904         * lib/stdio.in.h (fseeko): Use modern idiom.
31905         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
31906         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
31907         is missing and that it needs to be replaced.
31908         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
31909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
31910         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
31911
31912 2010-04-03  Bruno Haible  <bruno@clisp.org>
31913
31914         mkstemp: Fix C++ test error on mingw.
31915         * lib/stdlib.in.h (mkstemp): Use modern idiom.
31916         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
31917         function is missing and that it needs to be replaced.
31918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
31919         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
31920
31921 2010-04-03  Bruno Haible  <bruno@clisp.org>
31922
31923         stpncpy: Fix C++ test error on mingw.
31924         * lib/string.in.h (stpncpy): Use modern idiom.
31925         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
31926         function is missing and that it needs to be replaced.
31927         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31928         REPLACE_STPNCPY.
31929         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
31930
31931 2010-04-03  Bruno Haible  <bruno@clisp.org>
31932
31933         sys_stat: Fix C++ test error on mingw.
31934         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
31935         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
31936
31937 2010-04-03  Bruno Haible  <bruno@clisp.org>
31938
31939         pty: Update doc.
31940         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
31941
31942 2010-04-03  Bruno Haible  <bruno@clisp.org>
31943
31944         unistd: Fix C++ test error on mingw.
31945         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
31946
31947 2010-04-03  Bruno Haible  <bruno@clisp.org>
31948
31949         Update doc regarding mingw.
31950         * doc/glibc-functions/openpty.texi: Update regarding mingw.
31951         * doc/glibc-functions/login_tty.texi: Likewise.
31952         * doc/glibc-functions/forkpty.texi: Likewise.
31953
31954 2010-04-03  Bruno Haible  <bruno@clisp.org>
31955
31956         stdlib: Avoid compilation failure of c-strtold on mingw.
31957         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
31958
31959 2010-04-03  Bruno Haible  <bruno@clisp.org>
31960
31961         locale: Make C++ tests work on Cygwin and mingw.
31962         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
31963         cannot provide the function.
31964         Reported by Simon Josefsson.
31965
31966 2010-04-03  Bruno Haible  <bruno@clisp.org>
31967
31968         localename: Port to MacOS X 10.6.
31969         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
31970         memory layout of the locales in MacOS X 10.6 as well.
31971         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
31972
31973 2010-04-02  Bruno Haible  <bruno@clisp.org>
31974
31975         gnulib-tool: Ensure that long-running tests are executed last.
31976         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
31977         running tests after the one for the other tests.
31978
31979 2010-04-02  Bruno Haible  <bruno@clisp.org>
31980
31981         gnulib-tool: Ensure the tests in the main directory are executed first.
31982         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
31983         start with the current directory.
31984
31985 2010-04-02  Bruno Haible  <bruno@clisp.org>
31986
31987         Tests for module 'havelib', moved here from GNU gettext.
31988         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
31989         modifications.
31990         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
31991         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
31992         with modifications.
31993         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
31994         modifications.
31995         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
31996         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
31997         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
31998         with modifications.
31999         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
32000         with modifications.
32001         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
32002         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
32003         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
32004         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
32005         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
32006         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32007         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32008         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32009         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32010         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32011         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32012         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32013         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32014         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32015         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32016         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32017         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32018         with modifications.
32019         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32020         with modifications.
32021         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32022         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32023         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32024         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32025         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32026         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32027         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32028         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32029         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32030         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32031         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32032         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32033         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32034         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32035         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32036         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32037         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32038         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32039         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32040         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32041         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32042         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32043         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32044         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32045         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32046         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32047         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32048         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32049         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32050         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32051         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32052         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32053         * tests/havelib/rpathx/rpathx.c: New file, from
32054         gettext/autoconf-lib-link.
32055         * tests/havelib/rpathx/Makefile.am: New file, from
32056         gettext/autoconf-lib-link.
32057         * tests/havelib/rpathx/configure.ac: New file, from
32058         gettext/autoconf-lib-link with modifications.
32059         * tests/havelib/rpathy/rpathy.c: New file, from
32060         gettext/autoconf-lib-link.
32061         * tests/havelib/rpathy/Makefile.am: New file, from
32062         gettext/autoconf-lib-link.
32063         * tests/havelib/rpathy/configure.ac: New file, from
32064         gettext/autoconf-lib-link with modifications.
32065         * tests/havelib/rpathz/rpathz.c: New file, from
32066         gettext/autoconf-lib-link.
32067         * tests/havelib/rpathz/Makefile.am: New file, from
32068         gettext/autoconf-lib-link.
32069         * tests/havelib/rpathz/configure.ac: New file, from
32070         gettext/autoconf-lib-link with modifications.
32071         * tests/havelib/rpathlx/usex.c: New file, from
32072         gettext/autoconf-lib-link.
32073         * tests/havelib/rpathlx/Makefile.am: New file, from
32074         gettext/autoconf-lib-link.
32075         * tests/havelib/rpathlx/configure.ac: New file, from
32076         gettext/autoconf-lib-link with modifications.
32077         * tests/havelib/rpathly/usey.c: New file, from
32078         gettext/autoconf-lib-link.
32079         * tests/havelib/rpathly/Makefile.am: New file, from
32080         gettext/autoconf-lib-link.
32081         * tests/havelib/rpathly/configure.ac: New file, from
32082         gettext/autoconf-lib-link with modifications.
32083         * tests/havelib/rpathlz/usez.c: New file, from
32084         gettext/autoconf-lib-link.
32085         * tests/havelib/rpathlz/Makefile.am: New file, from
32086         gettext/autoconf-lib-link.
32087         * tests/havelib/rpathlz/configure.ac: New file, from
32088         gettext/autoconf-lib-link with modifications.
32089         * tests/havelib/rpathlyx/usey.c: New file, from
32090         gettext/autoconf-lib-link.
32091         * tests/havelib/rpathlyx/Makefile.am: New file, from
32092         gettext/autoconf-lib-link.
32093         * tests/havelib/rpathlyx/configure.ac: New file, from
32094         gettext/autoconf-lib-link with modifications.
32095         * tests/havelib/rpathlzyx/usez.c: New file, from
32096         gettext/autoconf-lib-link.
32097         * tests/havelib/rpathlzyx/Makefile.am: New file, from
32098         gettext/autoconf-lib-link.
32099         * tests/havelib/rpathlzyx/configure.ac: New file, from
32100         gettext/autoconf-lib-link with modifications.
32101         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
32102         with modifications.
32103
32104 2010-04-02  Bruno Haible  <bruno@clisp.org>
32105
32106         gnulib-tool: Create distributed built sources also for the tests.
32107         * gnulib-tool (func_create_testdir): Also generate distributed built
32108         sources in the tests directory.
32109
32110 2010-04-02  Bruno Haible  <bruno@clisp.org>
32111
32112         gnulib-tool: Obey user's environment variables.
32113         * gnulib-tool (func_create_testdir): When creating built sources,
32114         respect the environment variables for autoconf, automake, etc. given by
32115         the user.
32116
32117 2010-04-02  Bruno Haible  <bruno@clisp.org>
32118
32119         gnulib-tool: Provide the value of --m4-base to modules.
32120         * gnulib-tool (func_import, func_create_testdir): Emit a definition
32121         of gl_m4_base.
32122
32123 2010-04-02  Eric Blake  <eblake@redhat.com>
32124
32125         maint.mk: fix some fallout
32126         * NEWS: Document the incompatible change, and its effect on cfg.mk.
32127         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
32128
32129 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32130
32131         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
32132         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
32133         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
32134         (sc_cast_of_x_alloc_return_value): Likewise.
32135         (sc_cast_of_alloca_return_value): Likewise.
32136         (sc_space_tab): Likewise.
32137         (sc_prohibit_atoi_atof): Likewise.
32138         (sc_prohibit_magic_number_exit): Likewise.
32139         (sc_error_exit_success): Likewise.
32140         (sc_file_system): Likewise.
32141         (sc_prohibit_have_config_h): Likewise.
32142         (sc_require_config_h): Likewise.
32143         (sc_prohibit_HAVE_MBRTOWC): Likewise.
32144         (sc_obsolete_symbols): Likewise.
32145         (sc_changelog): Likewise.
32146         (sc_program_name): Likewise.
32147         (sc_the_the): Likewise.
32148         (sc_trailing_blank): Likewise.
32149         (sc_two_space_separator_in_usage): Likewise.
32150         (sc_useless_cpp_parens): Likewise.
32151         (sc_GPL_version): Likewise.
32152         (sc_GFDL_version): Likewise.
32153         (sc_texinfo_acronym): Likewise.
32154         (sc_prohibit_cvs_keyword): Likewise.
32155         (sc_prohibit_stat_st_blocks): Likewise.
32156         (sc_prohibit_S_IS_definition): Likewise.
32157         (sc_redundant_const): Likewise.
32158         (sc_makefile_TAB_only_indentation): Likewise.
32159         (sc_m4_quote_check): Likewise.
32160         (sc_makefile_path_separator_check): Likewise.
32161         (sc_copyright_check): Likewise.
32162         (sc_Wundef_boolean): Likewise.
32163         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
32164
32165         maint.mk: match 0 or more whitespace-before-function-call '('
32166         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
32167         that have zero or two-and-more spaces between the function name
32168         and the open parenthesis.
32169         (sc_error_message_warn_fatal): Likewise.
32170         (sc_error_message_uppercase): Likewise.
32171         (sc_error_message_period): Likewise.
32172
32173 2010-03-31  Eric Blake  <eblake@redhat.com>
32174
32175         maint.mk: check for [ as well as test
32176         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
32177         Based on a libvirt report by Matthias Bolte.
32178
32179         gnumakefile: don't squelch _version output
32180         * top/GNUmakefile (_version): Create one-shot dependency rather
32181         than using $(shell) when version must be regenerated.
32182         (_autoreconf): Run verbosely, by default.
32183
32184         sys_time: avoid compiler warnings
32185         * lib/sys_time.in.h (includes): Ensure gcc pragma is
32186         unconditional, fixing regression from 2010-03-29.
32187         Reported by Simon Josefsson.
32188
32189 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32190
32191         maint.mk: s/_header_without_use/_sc_header_without_use/
32192         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
32193         (sc_prohibit_assert_without_use): Use the new name.
32194         (sc_prohibit_close_stream_without_use): Likewise.
32195         (sc_prohibit_getopt_without_use): Likewise.
32196         (sc_prohibit_quotearg_without_use): Likewise.
32197         (sc_prohibit_quote_without_use): Likewise.
32198         (sc_prohibit_long_options_without_use): Likewise.
32199         (sc_prohibit_inttostr_without_use): Likewise.
32200         (sc_prohibit_ignore_value_without_use): Likewise.
32201         (sc_prohibit_error_without_use): Likewise.
32202         (sc_prohibit_xalloc_without_use): Likewise.
32203         (sc_prohibit_hash_without_use): Likewise.
32204         (sc_prohibit_hash_pjw_without_use): Likewise.
32205         (sc_prohibit_safe_read_without_use): Likewise.
32206         (sc_prohibit_argmatch_without_use): Likewise.
32207         (sc_prohibit_canonicalize_without_use): Likewise.
32208         (sc_prohibit_root_dev_ino_without_use): Likewise.
32209         (sc_prohibit_openat_without_use): Likewise.
32210         (sc_prohibit_c_ctype_without_use): Likewise.
32211         (sc_prohibit_signal_without_use): Likewise.
32212         (sc_prohibit_intprops_without_use): Likewise.
32213
32214 2010-03-30  Eric Blake  <eblake@redhat.com>
32215
32216         maint: improve module indicators
32217         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
32218         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
32219         columns, and avoid extra macro expansion.
32220
32221         fdopendir: work around FreeBSD bug
32222         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32223         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
32224         * modules/dirent (Makefile.am): Substitute it.
32225         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
32226         declaration.
32227         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
32228         fix.
32229         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32230
32231 2010-03-29  Bruno Haible  <bruno@clisp.org>
32232
32233         Emit #pragma system_header after the inclusion guard, not before.
32234         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
32235         guard that spans the entire file, not before. This enables an
32236         optimization in GCC's preprocessor.
32237         * lib/ctype.in.h: Likewise.
32238         * lib/dirent.in.h: Likewise.
32239         * lib/errno.in.h: Likewise.
32240         * lib/float.in.h: Likewise.
32241         * lib/getopt.in.h: Likewise.
32242         * lib/iconv.in.h: Likewise.
32243         * lib/langinfo.in.h: Likewise.
32244         * lib/locale.in.h: Likewise.
32245         * lib/math.in.h: Likewise.
32246         * lib/netdb.in.h: Likewise.
32247         * lib/netinet_in.in.h: Likewise.
32248         * lib/pty.in.h: Likewise.
32249         * lib/sched.in.h: Likewise.
32250         * lib/se-selinux.in.h: Likewise.
32251         * lib/search.in.h: Likewise.
32252         * lib/spawn.in.h: Likewise.
32253         * lib/stdarg.in.h: Likewise.
32254         * lib/stdint.in.h: Likewise.
32255         * lib/string.in.h: Likewise.
32256         * lib/strings.in.h: Likewise.
32257         * lib/sys_file.in.h: Likewise.
32258         * lib/sys_ioctl.in.h: Likewise.
32259         * lib/sys_time.in.h: Likewise.
32260         * lib/sys_times.in.h: Likewise.
32261         * lib/sys_utsname.in.h: Likewise.
32262         * lib/sys_wait.in.h: Likewise.
32263         * lib/sysexits.in.h: Likewise.
32264         * lib/wctype.in.h: Likewise.
32265
32266 2010-03-28  James Youngman  <jay@gnu.org>
32267
32268         save-cwd: don't leak a file descriptor when the caller execs.
32269         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
32270         saved file descriptor.
32271         * modules/save-cwd (Depends-on): Depend on cloexec.
32272
32273 2010-03-29  Bruno Haible  <bruno@clisp.org>
32274
32275         Remove vestiges of fts-lgpl module.
32276         * lib/fts_.h: Assume GNULIB_FTS is 1.
32277         * lib/fts.c: Likewise.
32278         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32279
32280 2010-03-28  Bruno Haible  <bruno@clisp.org>
32281
32282         Fix definition of tests witness macro.
32283         * gnulib-tool (func_import): Fix definition of witness macro.
32284
32285 2010-03-28  Bruno Haible  <bruno@clisp.org>
32286
32287         Fix ioctl's protoype on glibc systems.
32288         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
32289         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
32290         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
32291         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
32292         signature. If not, arrange to replace the ioctl function.
32293         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32294         REPLACE_IOCTL.
32295         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
32296         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
32297         Reported by Ludovic Courtès <ludo@gnu.org>.
32298
32299 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
32300
32301         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
32302         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
32303         made it so grep -r --include=GLOB* ... did not work.
32304
32305 2010-03-26  Jim Meyering  <meyering@redhat.com>
32306             Eric Blake  <eblake@redhat.com>
32307
32308         maint.mk: prohibit use of test's -o and -a operators
32309         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
32310
32311 2010-03-28  Bruno Haible  <bruno@clisp.org>
32312
32313         Remove unused GNULIB_XYZ macro definitions.
32314         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
32315         invocation.
32316
32317 2010-03-28  Bruno Haible  <bruno@clisp.org>
32318
32319         Mark privileged tests modules.
32320         * modules/idpriv-drop-tests (Status): New section.
32321         * modules/idpriv-droptemp-tests (Status): New section.
32322
32323 2010-03-28  Bruno Haible  <bruno@clisp.org>
32324
32325         Split C++ tests into separate tests modules.
32326         * modules/dirent-c++-tests: New file, extracted from
32327         modules/dirent-tests.
32328         * modules/dirent-tests: Depend on it.
32329         * modules/fcntl-h-c++-tests: New file, extracted from
32330         modules/fcntl-h-tests.
32331         * modules/fcntl-h-tests: Depend on it.
32332         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
32333         * modules/glob-tests: Depend on it.
32334         * modules/iconv-h-c++-tests: New file, extracted from
32335         modules/iconv-h-tests.
32336         * modules/iconv-h-tests: Depend on it.
32337         * modules/langinfo-c++-tests: New file, extracted from
32338         modules/langinfo-tests.
32339         * modules/langinfo-tests: Depend on it.
32340         * modules/locale-c++-tests: New file, extracted from
32341         modules/locale-tests.
32342         * modules/locale-tests: Depend on it.
32343         * modules/math-c++-tests: New file, extracted from modules/math-tests.
32344         * modules/math-tests: Depend on it.
32345         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
32346         * modules/pty-tests: Depend on it.
32347         * modules/search-c++-tests: New file, extracted from
32348         modules/search-tests.
32349         * modules/search-tests: Depend on it.
32350         * modules/signal-c++-tests: New file, extracted from
32351         modules/signal-tests.
32352         * modules/signal-tests: Depend on it.
32353         * modules/spawn-c++-tests: New file, extracted from
32354         modules/spawn-tests.
32355         * modules/spawn-tests: Depend on it.
32356         * modules/stdio-c++-tests: New file, extracted from
32357         modules/stdio-tests.
32358         * modules/stdio-tests: Depend on it.
32359         * modules/stdlib-c++-tests: New file, extracted from
32360         modules/stdlib-tests.
32361         * modules/stdlib-tests: Depend on it.
32362         * modules/string-c++-tests: New file, extracted from
32363         modules/string-tests.
32364         * modules/string-tests: Depend on it.
32365         * modules/sys_ioctl-c++-tests: New file, extracted from
32366         modules/sys_ioctl-tests.
32367         * modules/sys_ioctl-tests: Depend on it.
32368         * modules/sys_select-c++-tests: New file, extracted from
32369         modules/sys_select-tests.
32370         * modules/sys_select-tests: Depend on it.
32371         * modules/sys_socket-c++-tests: New file, extracted from
32372         modules/sys_socket-tests.
32373         * modules/sys_socket-tests: Depend on it.
32374         * modules/sys_stat-c++-tests: New file, extracted from
32375         modules/sys_stat-tests.
32376         * modules/sys_stat-tests: Depend on it.
32377         * modules/sys_time-c++-tests: New file, extracted from
32378         modules/sys_time-tests.
32379         * modules/sys_time-tests: Depend on it.
32380         * modules/time-c++-tests: New file, extracted from modules/time-tests.
32381         * modules/time-tests: Depend on it.
32382         * modules/unistd-c++-tests: New file, extracted from
32383         modules/unistd-tests.
32384         * modules/unistd-tests: Depend on it.
32385         * modules/wchar-c++-tests: New file, extracted from
32386         modules/wchar-tests.
32387         * modules/wchar-tests: Depend on it.
32388         * modules/wctype-c++-tests: New file, extracted from
32389         modules/wctype-tests.
32390         * modules/wctype-tests: Depend on it.
32391         Reported by Simon Josefsson.
32392
32393 2010-03-28  Bruno Haible  <bruno@clisp.org>
32394
32395         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
32396         * gnulib-tool (func_exists_module): New function, extracted from
32397         func_verify_module.
32398         (func_verify_module): Use it.
32399         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
32400         'foo' only if 'foo' exists.
32401         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
32402         module.
32403
32404 2010-03-28  Bruno Haible  <bruno@clisp.org>
32405
32406         gnulib-tool: Add support for special categories of tests.
32407         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
32408         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
32409         (func_usage): Document them.
32410         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
32411         inc_unportable_tests, inc_all_tests): New variables.
32412         (func_acceptable): Consider these variables.
32413         (func_modules_transitive_closure): Make it work when the 'Status' field
32414         consists of multiple words.
32415         (func_import): Store and restore the values of inc_cxx_tests,
32416         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
32417         inc_all_tests in gnulib-comp.m4.
32418         (func_create_testdir): Set inc_all_tests to true.
32419         * doc/gnulib.texi (Extra tests modules): New section.
32420         Suggested by Jim Meyering.
32421
32422 2010-03-28  Bruno Haible  <bruno@clisp.org>
32423
32424         ansi-c++-opt: Allow turning off the C++ build by default.
32425         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
32426         gl_CXX_CHOICE_DEFAULT_NO is defined.
32427         Requested by Eric Blake.
32428
32429 2010-03-28  Bruno Haible  <bruno@clisp.org>
32430
32431         unistd: Avoid #define replacements in C++ mode.
32432         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32433         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32434         setsockopt, shutdown, select): In C++, attach a warning to the function
32435         if possible, rather than #defining the symbol to a dysfunctional alias.
32436         Reported by John W. Eaton <jwe@gnu.org>.
32437
32438 2010-03-28  Bruno Haible  <bruno@clisp.org>
32439
32440         Fix link errors on mingw.
32441         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32442         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32443         $(LIBSOCKET).
32444         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32445         $(LIBSOCKET).
32446
32447 2010-03-28  Bruno Haible  <bruno@clisp.org>
32448             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32449
32450         lib-ignore: Determine different options for different compilers.
32451         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32452         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32453         Add comments.
32454         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32455         * NEWS: Mention the change.
32456
32457 2010-03-27  Bruno Haible  <bruno@clisp.org>
32458
32459         Remove unused GNULIB_XYZ macro definitions.
32460         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32461         * modules/fseek (configure.ac): Likewise.
32462         * modules/ioctl (configure.ac): Likewise.
32463         * modules/open (configure.ac): Likewise.
32464         * modules/stdlib-safer (configure.ac): Likewise.
32465
32466 2010-03-27  Bruno Haible  <bruno@clisp.org>
32467
32468         Add a remark about certain modules.
32469         * modules/malloc (Comment): New section.
32470         * modules/realloc (Comment): Likewise.
32471         * modules/sigpipe (Comment): Likewise.
32472
32473 2010-03-27  Bruno Haible  <bruno@clisp.org>
32474
32475         Resolve conflict between the two kinds of module indicators.
32476         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32477         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32478         * modules/canonicalize (configure.ac): Invoke
32479         gl_MODULE_INDICATOR_FOR_TESTS.
32480         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32481         GNULIB_XYZ.
32482         * tests/test-dirent-c++.cc: Likewise.
32483         * tests/test-dirent-safer.c: Likewise.
32484         * tests/test-dup2.c: Likewise.
32485         * tests/test-fchdir.c: Likewise.
32486         * tests/test-fcntl-h-c++.cc: Likewise.
32487         * tests/test-getopt.c: Likewise.
32488         * tests/test-getopt.h: Likewise.
32489         * tests/test-langinfo-c++.cc: Likewise.
32490         * tests/test-locale-c++.cc: Likewise.
32491         * tests/test-math-c++.cc: Likewise.
32492         * tests/test-pty-c++.cc: Likewise.
32493         * tests/test-search-c++.cc: Likewise.
32494         * tests/test-signal-c++.cc: Likewise.
32495         * tests/test-spawn-c++.cc: Likewise.
32496         * tests/test-stdio-c++.cc: Likewise.
32497         * tests/test-stdlib-c++.cc: Likewise.
32498         * tests/test-string-c++.cc: Likewise.
32499         * tests/test-sys_ioctl-c++.cc: Likewise.
32500         * tests/test-sys_select-c++.cc: Likewise.
32501         * tests/test-sys_socket-c++.cc: Likewise.
32502         * tests/test-sys_stat-c++.cc: Likewise.
32503         * tests/test-sys_time-c++.cc: Likewise.
32504         * tests/test-time-c++.cc: Likewise.
32505         * tests/test-unistd-c++.cc: Likewise.
32506         * tests/test-wchar-c++.cc: Likewise.
32507         * tests/uninorm/test-u8-nfc.c: Likewise.
32508         * tests/uninorm/test-u8-nfd.c: Likewise.
32509         * tests/uninorm/test-u8-nfkc.c: Likewise.
32510         * tests/uninorm/test-u8-nfkd.c: Likewise.
32511         * tests/uninorm/test-u16-nfc.c: Likewise.
32512         * tests/uninorm/test-u16-nfd.c: Likewise.
32513         * tests/uninorm/test-u16-nfkc.c: Likewise.
32514         * tests/uninorm/test-u16-nfkd.c: Likewise.
32515         * tests/uninorm/test-u32-nfc.c: Likewise.
32516         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32517         * tests/uninorm/test-u32-nfd.c: Likewise.
32518         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32519         * tests/uninorm/test-u32-nfkc.c: Likewise.
32520         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32521         * tests/uninorm/test-u32-nfkd.c: Likewise.
32522         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32523         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32524
32525 2010-03-27  Bruno Haible  <bruno@clisp.org>
32526
32527         Distinguish two kinds of module indicators.
32528         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32529         gl_MODULE_INDICATOR.
32530         (gl_MODULE_INDICATOR): New macro.
32531         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32532         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32533         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32534         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32535         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32536         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32537         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32538         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32539         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32540         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32541         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32542         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32543         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32544         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32545         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32546         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32547         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32548         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32549         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32550         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32551         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32552         * modules/cloexec (configure.ac): Likewise.
32553         * modules/getopt-gnu (configure.ac): Likewise.
32554         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32555         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32556         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32557         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32558
32559 2010-03-27  Bruno Haible  <bruno@clisp.org>
32560
32561         New module description field 'Comment'.
32562         * gnulib-tool: New option --extract-comment.
32563         (func_usage): Document it.
32564         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32565         (func_get_comment): New function.
32566         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32567
32568 2010-03-27  Bruno Haible  <bruno@clisp.org>
32569
32570         Addendum to 2010-02-07 commit.
32571         * gnulib-tool (func_usage): Document --extract-applicability option.
32572
32573 2010-03-27  Bruno Haible  <bruno@clisp.org>
32574
32575         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32576         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32577         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32578         rather than link errors.
32579
32580 2010-03-27  Bruno Haible  <bruno@clisp.org>
32581
32582         Avoid side effects from tests-related modules on the compilation of lib.
32583         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32584         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32585         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32586         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32587         macro.
32588         (func_import): Define a witness macro. Assign it a value that depends
32589         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32590         tests-related modules.
32591         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32592         Reported by Jim Meyering.
32593
32594 2010-03-27  Bruno Haible  <bruno@clisp.org>
32595
32596         Factorize common .m4 code.
32597         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32598         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32599         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32600         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
32601         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32602         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
32603         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
32604         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32605         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32606         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32607         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
32608         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32609         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32610         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32611         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32612         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
32613         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32614         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32615         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32616         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
32617         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
32618         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32619         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32620         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32621         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32622         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32623         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
32624         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
32625         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
32626         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32627         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32628         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32629
32630 2010-03-27  Bruno Haible  <bruno@clisp.org>
32631
32632         Fix a compilation error on Cygwin with g++ >= 4.3.
32633         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
32634         if it is undefined or if we alias it to chmod.
32635         (lstat): Don't warn about the use of this function if it is undefined
32636         or if we alias it to stat.
32637         Reported by Simon Josefsson.
32638
32639 2010-03-27  Bruno Haible  <bruno@clisp.org>
32640
32641         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32642         * modules/getlogin (configure.ac): Update.
32643
32644         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32645         * modules/getlogin_r (configure.ac): Update.
32646
32647         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32648         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32649         * modules/inet_ntop (configure.ac): Update.
32650
32651         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32652         * modules/inet_pton (configure.ac): Update.
32653
32654         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32655         * modules/mbslen (configure.ac): Update.
32656
32657         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32658         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32659         * modules/forkpty (configure.ac): Update.
32660         * modules/openpty (configure.ac): Update.
32661
32662 2010-03-26  Simon Josefsson  <simon@josefsson.org>
32663
32664         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
32665         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
32666
32667 2010-03-25  Eric Blake  <eblake@redhat.com>
32668
32669         maint: use pragma consistently across replacement headers
32670         * lib/ctype.in.h (system_header): Hoist for consistent placement.
32671         * lib/dirent.in.h (system_header): Likewise.
32672         * lib/errno.in.h (system_header): Likewise.
32673         * lib/float.in.h (system_header): Likewise.
32674         * lib/getopt.in.h (system_header): Likewise.
32675         * lib/iconv.in.h (system_header): Likewise.
32676         * lib/inttypes.in.h (system_header): Likewise.
32677         * lib/langinfo.in.h (system_header): Likewise.
32678         * lib/locale.in.h (system_header): Likewise.
32679         * lib/math.in.h (system_header): Likewise.
32680         * lib/netdb.in.h (system_header): Likewise.
32681         * lib/netinet_in.in.h (system_header): Likewise.
32682         * lib/pty.in.h (system_header): Likewise.
32683         * lib/sched.in.h (system_header): Likewise.
32684         * lib/se-selinux.in.h (system_header): Likewise.
32685         * lib/search.in.h (system_header): Likewise.
32686         * lib/spawn.in.h (system_header): Likewise.
32687         * lib/stdarg.in.h (system_header): Likewise.
32688         * lib/stdint.in.h (system_header): Likewise.
32689         * lib/string.in.h (system_header): Likewise.
32690         * lib/strings.in.h (system_header): Likewise.
32691         * lib/sys_file.in.h (system_header): Likewise.
32692         * lib/sys_ioctl.in.h (system_header): Likewise.
32693         * lib/sys_socket.in.h (system_header): Likewise.
32694         * lib/sys_times.in.h (system_header): Likewise.
32695         * lib/sys_utsname.in.h (system_header): Likewise.
32696         * lib/sys_wait.in.h (system_header): Likewise.
32697         * lib/sysexits.in.h (system_header): Likewise.
32698         * lib/unistd.in.h (system_header): Likewise.
32699         * lib/wctype.in.h (system_header): Likewise.
32700
32701         arpa/inet: fix mingw compilation warning
32702         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
32703         Reported by Matthew Bolte.
32704
32705 2010-03-25  Bruno Haible  <bruno@clisp.org>
32706
32707         Avoid collision between gnulib wrapper and libintl wrapper.
32708         * lib/printf.c (printf): Don't define if a printf wrapper is already
32709         defined in intl/printf.c.
32710         Reported by Michel Boaventura <michel@michelboaventura.com>.
32711
32712 2010-03-25  Bruno Haible  <bruno@clisp.org>
32713
32714         Use ANSI C.
32715         * lib/readutmp.h (getutent): Provide ANSI C prototype.
32716
32717 2010-03-25  Bruno Haible  <bruno@clisp.org>
32718
32719         Minor formatting changes.
32720         * lib/acosl.c: Insert space before function argument list.
32721         * lib/argz.c: Likewise.
32722         * lib/asinl.c: Likewise.
32723         * lib/expl.c: Likewise.
32724         * lib/gen-uni-tables.c: Likewise.
32725         * lib/gettext.h: Likewise.
32726         * lib/glthread/lock.h: Likewise.
32727         * lib/tanl.c: Likewise.
32728         * lib/uniname/uniname.c: Likewise.
32729         * tests/test-idpriv-drop.c: Likewise.
32730         * tests/test-idpriv-droptemp.c: Likewise.
32731         * tests/test-lock.c: Likewise.
32732         * tests/test-tls.c: Likewise.
32733         * lib/argp-help.c: Insert space before function-like macro argument
32734         list.
32735         * lib/memcmp.c: Likewise.
32736         * tests/test-base64.c: Likewise.
32737         * lib/localename.c: Insert space before sizeof's argument list.
32738         * lib/safe-alloc.h: Likewise.
32739         * lib/file-set.h: Insert space before macro argument list.
32740         * tests/test-argp.c: Likewise.
32741         * lib/argp-namefrob.h: Insert space before function parameter list.
32742         * lib/getaddrinfo.c: Likewise.
32743         * lib/netdb.in.h: Likewise.
32744         * lib/parse-duration.h: Likewise.
32745         * lib/parse-duration.c: Likewise.
32746         * lib/poll.c: Likewise.
32747         * lib/select.c: Likewise.
32748         * lib/trim.h: Likewise.
32749         * tests/test-usleep.c: Likewise.
32750         * lib/ldexpl.c: Insert space before function parameter list and before
32751         function argument list.
32752         * lib/logl.c: Likewise.
32753         * lib/sqrtl.c: Likewise.
32754         * lib/trim.c: Likewise.
32755         * lib/cosl.c: Use GNU style indentation. Insert space before function
32756         argument list.
32757         * lib/sinl.c: Likewise.
32758         * lib/tsearch.c: Insert space after 'for'.
32759         Reported by Jim Meyering.
32760
32761 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
32762
32763         * maint.mk (sc_Wundef_boolean): Check for the presence of the
32764         config header before grepping, as it's not present before
32765         autoreconf/configure are run.  Reported by Simon Josefsson.
32766
32767 2010-03-23  Bruno Haible  <bruno@clisp.org>
32768
32769         pt_chown: Make it work with automake < 1.11.
32770         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
32771         Reported by Simon Josefsson.
32772
32773 2010-03-23  Bruno Haible  <bruno@clisp.org>
32774
32775         pt_chown: Don't depend on GPLed modules.
32776         * lib/pt_chown.c: Don't include idpriv.h.
32777         (main): Don't drop privileges.
32778         * modules/pt_chown (Depends-on): Remove idpriv-drop.
32779         Reported by Simon Josefsson.
32780
32781 2010-03-24  Simon Josefsson  <simon@josefsson.org>
32782
32783         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
32784         suggestions from karl@freefriends.org (Karl Berry).
32785
32786 2010-03-22  Eric Blake  <eblake@redhat.com>
32787
32788         gethostname: further tweaks
32789         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
32790         are overriding gethostname.
32791         Suggested by Bruno Haible.
32792
32793 2010-03-21  Bruno Haible  <bruno@clisp.org>
32794
32795         Fix comments.
32796         * lib/forkpty.c (rpl_forkpty): Fix comment.
32797         * lib/openpty.c (rpl_openpty): Likewise.
32798         Reported by Eric Blake.
32799
32800 2010-03-22  Eric Blake  <eblake@redhat.com>
32801
32802         gethostname: fix build on mingw
32803         * lib/unistd.in.h (includes): Work around fact that mingw
32804         <winsock2.h> re-includes <unistd.h>, by avoiding any
32805         redeclarations if we are being included by <winsock2.h>.
32806         Reported by Matthias Bolte.
32807
32808 2010-03-21  Bruno Haible  <bruno@clisp.org>
32809
32810         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32811         * lib/forkpty.c (forkpty): New replacement function, from glibc with
32812         modifications.
32813         * lib/pty.in.h (forkpty): Update declaration. Add comments.
32814         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
32815         provide the replacement.
32816         * modules/forkpty (Depends-on): Add openpty, login_tty.
32817         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
32818         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
32819         * doc/glibc-functions/forkpty.texi: More supported platforms.
32820         * config/srclist.txt: Add forkpty.c (commented).
32821
32822 2010-03-21  Bruno Haible  <bruno@clisp.org>
32823
32824         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
32825         (Makefile.am): Verify that PTY_LIB is defined.
32826
32827         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
32828
32829 2010-03-21  Bruno Haible  <bruno@clisp.org>
32830
32831         Tests for module 'login_tty'.
32832         * modules/login_tty-tests: New file.
32833         * tests/test-login_tty.c: New file.
32834
32835         New module 'login_tty'.
32836         * lib/login_tty.c: New file.
32837         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
32838         * modules/login_tty: New file.
32839         * doc/glibc-functions/login_tty.texi: Mention the new module.
32840
32841 2010-03-21  Bruno Haible  <bruno@clisp.org>
32842
32843         login_tty: Documentation.
32844         * doc/glibc-functions/login_tty.texi: New file.
32845         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
32846
32847 2010-03-21  Bruno Haible  <bruno@clisp.org>
32848
32849         pty: Consistent macro naming.
32850         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
32851         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
32852         * modules/pty (configure.ac): Update.
32853
32854 2010-03-21  Bruno Haible  <bruno@clisp.org>
32855
32856         Tests for openpty: Make stricter.
32857         * tests/test-openpty.c (main): Add test of canonical processing and
32858         erase.
32859         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
32860
32861         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32862         * lib/openpty.c (openpty): New replacement function.
32863         * lib/pty.in.h: Include <termios.h>.
32864         (openpty): Update declaration. Add comments.
32865         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
32866         is not declared, arrange to provide the replacement. Check for _getpty
32867         and posix_openpt.
32868         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
32869         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
32870         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
32871         * modules/pty-tests (test_pty_c___LDADD): New variable.
32872         * doc/glibc-functions/openpty.texi: More supported platforms.
32873
32874 2010-03-21  Bruno Haible  <bruno@clisp.org>
32875
32876         setenv: Tweaks.
32877         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
32878         the test program.
32879         * doc/posix-functions/setenv.texi: Update platforms list.
32880
32881 2010-03-21  Bruno Haible  <bruno@clisp.org>
32882
32883         New module 'unlockpt'.
32884         * lib/unlockpt.c: New file, from glibc with modifications.
32885         * m4/unlockpt.m4: New file.
32886         * modules/unlockpt: New file.
32887         * lib/stdlib.in.h (unlockpt): New declaration.
32888         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
32889         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
32890         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
32891         HAVE_UNLOCKPT.
32892         * doc/posix-functions/unlockpt.texi: Mention the new module.
32893         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
32894         * config/srclist.txt: Add unlockpt.c (commented).
32895
32896 2010-03-21  Jim Meyering  <meyering@redhat.com>
32897
32898         maint.mk: prohibit inclusion of "intprops.h" without use
32899         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
32900
32901 2010-03-21  Bruno Haible  <bruno@clisp.org>
32902
32903         New module 'grantpt'.
32904         * lib/grantpt.c: New file, from glibc with modifications.
32905         * m4/grantpt.m4: New file.
32906         * modules/grantpt: New file.
32907         * lib/stdlib.in.h (grantpt): New declaration.
32908         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
32909         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
32910         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
32911         HAVE_GRANTPT.
32912         * doc/posix-functions/grantpt.texi: Mention the new module.
32913         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
32914         * config/srclist.txt: Add grantpt.c (commented).
32915
32916 2010-03-21  Bruno Haible  <bruno@clisp.org>
32917
32918         New module 'pt_chown'.
32919         * lib/pt_chown.c: New file, from glibc with modifications.
32920         * lib/pty-private.h: New file, from glibc with modifications.
32921         * modules/pt_chown: New file.
32922         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
32923
32924 2010-03-21  Bruno Haible  <bruno@clisp.org>
32925
32926         Tests for module 'ptsname'.
32927         * modules/ptsname-tests: New file.
32928         * tests/test-ptsname.c: New file.
32929
32930         New module 'ptsname'.
32931         * lib/ptsname.c: New file, from glibc with modifications.
32932         * m4/ptsname.m4: New file.
32933         * modules/ptsname: New file.
32934         * lib/stdlib.in.h (ptsname): New declaration.
32935         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
32936         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
32937         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
32938         HAVE_PTSNAME.
32939         * doc/posix-functions/ptsname.texi: Mention the new module.
32940         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
32941         * config/srclist.txt: Add ptsname.c (commented).
32942
32943 2010-03-21  Bruno Haible  <bruno@clisp.org>
32944
32945         Tests for module 'ttyname_r'.
32946         * modules/ttyname_r-tests: New file.
32947         * tests/test-ttyname_r.c: New file.
32948
32949         New module 'ttyname_r'.
32950         * lib/ttyname_r.c: New file.
32951         * m4/ttyname_r.m4: New file.
32952         * modules/ttyname_r: New file.
32953         * lib/unistd.in.h (ttyname_r): New declaration.
32954         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
32955         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
32956         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
32957         HAVE_TTYNAME_R.
32958         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
32959         * doc/posix-functions/ttyname_r.texi: Mention the new module.
32960
32961 2010-03-20  Bruno Haible  <bruno@clisp.org>
32962
32963         signal: Undefine macro definitions in C++ mode.
32964         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
32965         sigfillset): Undefine macro definitions from the system header in C++
32966         mode.
32967         Reported by John W. Eaton <jwe@gnu.org>.
32968
32969 2010-03-20  Bruno Haible  <bruno@clisp.org>
32970
32971         Ensure no #include statements inside extern "C" { ... }.
32972         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
32973         contain #include statements.
32974         * lib/time.in.h: Likewise.
32975
32976 2010-03-20  Bruno Haible  <bruno@clisp.org>
32977
32978         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
32979         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
32980         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
32981         Reported by John W. Eaton <jwe@gnu.org>.
32982
32983 2010-03-20  Bruno Haible  <bruno@clisp.org>
32984
32985         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
32986         Reported by Jim Meyering.
32987
32988 2010-03-20  Bruno Haible  <bruno@clisp.org>
32989
32990         pipe: Set errno upon failure.
32991         * lib/pipe.h: Specify that when -1 is returned, errno is set.
32992         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
32993         errno value in error message.
32994
32995 2010-03-20  Bruno Haible  <bruno@clisp.org>
32996             Jim Meyering  <meyering@redhat.com>
32997
32998         lchown: Avoid "unused variable" warning.
32999         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
33000
33001 2010-03-20  Bruno Haible  <bruno@clisp.org>
33002
33003         Work around unlink() bug on MacOS X 10.5.6.
33004         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
33005         attempting to unlink a parent directory.
33006         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33007         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33008         activate for the replacement function.
33009         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33010
33011 2010-03-20  Bruno Haible  <bruno@clisp.org>
33012
33013         Fix link errors on Solaris 8.
33014         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33015         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33016
33017 2010-03-19  Jim Meyering  <meyering@redhat.com>
33018
33019         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33020         The _LIBC implementation of build_range_exp correctly honors the
33021         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33022         However, the non-_LIBC implementation would ignore that syntax-bit
33023         flag and return REG_ERANGE unconditionally.
33024         This change makes it honor that flag.
33025         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33026         Make two pointer parameters "const".
33027         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33028         (parse_bracket_exp): Update caller.
33029
33030         regex.m4: correct the reversed range endpoint ([b-a]) test
33031         * m4/regex.m4: When requiring that [b-a] evoke failure,
33032         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33033         test pass once again for x86-based systems.
33034
33035 2010-03-19  Bruno Haible  <bruno@clisp.org>
33036
33037         scandir: Fix link error on Solaris 8.
33038         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33039         macros.
33040
33041 2010-03-19  Bruno Haible  <bruno@clisp.org>
33042
33043         getusershell: Fix documentation.
33044         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33045         module.
33046         * doc/glibc-functions/setusershell.texi: Likewise.
33047
33048         getusershell: Provide declaration, missing on Solaris 9.
33049         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33050         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33051         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33052         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33053         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33054         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33055         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33056         HAVE_GETUSERSHELL.
33057         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33058
33059 2010-03-19  Bruno Haible  <bruno@clisp.org>
33060
33061         wctype: Provide iswblank function.
33062         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33063         exists and is fine.
33064         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
33065         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
33066         * tests/test-wctype.c (main): Re-enable the iswblank tests.
33067         * doc/posix-functions/iswblank.texi: Update.
33068
33069 2010-03-19  Bruno Haible  <bruno@clisp.org>
33070
33071         Tests of module 'pty' in C++ mode.
33072         * modules/pty-tests: New file.
33073         * tests/test-pty-c++.cc: New file.
33074         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33075
33076 2010-03-19  Eric Blake  <eblake@redhat.com>
33077
33078         logb: fix documentation
33079         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
33080         1.5 declaration bug.
33081
33082         forkpty, openpty: prefer glibc's const-safe prototype
33083         * lib/forkpty.c (rpl_forkpty): New file.
33084         * lib/openpty.c (rpl_openpty): Likewise.
33085         * modules/forkpty (Files): Distribute it.
33086         * modules/openpty (Files): Likewise.
33087         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
33088         check...
33089         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
33090         replacement for for non-const BSD signature.
33091         * modules/pty (Makefile.am): Substitute witnesses.
33092         * lib/pty.in.h (forkpty, openpty): Declare replacements.
33093         * tests/test-forkpty.c: Update signature check.
33094         * tests/test-openpty.c: Likewise.
33095         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
33096         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33097
33098         forkpty, openpty: split functions into new modules
33099         * modules/pty (Makefile.am): Substitute new witnesses.
33100         (Libraries): Move library detection...
33101         * modules/forkpty: ...into new module.
33102         * modules/openpty: Another new module.
33103         * modules/pty-tests: Rename and split...
33104         * modules/forkpty-tests: ...to this...
33105         * modules/openpty-tests: ...and this.
33106         * tests/test-pty.c: Rename and split...
33107         * tests/test-forkpty.c: ...to this...
33108         * tests/test-openpty.c: ...and this.
33109         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
33110         (gl_PTY): Split library searching...
33111         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
33112         (gl_FORKPTY, gl_OPENPTY): New macros.
33113         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
33114         * NEWS: Mention the split.
33115         * MODULES.html.sh (Misc): Document the modules.
33116         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
33117         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33118
33119         pty: improve replacement header
33120         * lib/pty.in.h: New file.
33121         * modules/pty (Files): Ship it.
33122         (Makefile.am): Always build replacement.
33123         * m4/pty.m4: Rename...
33124         * m4/pty_h.m4: ...to this.
33125         (gl_PTY): Modernize setting of witness macros; update check of
33126         forkpty to take proper advantage of cache.
33127         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
33128
33129         getopt: avoid compiler warning
33130         * lib/getopt.c (attribute_hidden): Remove unused macro.
33131
33132 2010-03-18  Bruno Haible  <bruno@clisp.org>
33133
33134         Fix link errors on Solaris 8.
33135         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
33136         * modules/search-tests (test_search_c___LDADD): Likewise.
33137         * modules/signal-tests (test_signal_c___LDADD): Likewise.
33138         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
33139         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
33140         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
33141         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
33142         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
33143         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
33144
33145 2010-03-18  Bruno Haible  <bruno@clisp.org>
33146
33147         Fix bug introduced on 2010-03-14.
33148         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
33149         (gl_SPAWN_H): Require it.
33150         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
33151         Reported by Simon Josefsson.
33152
33153 2010-03-18  Bruno Haible  <bruno@clisp.org>
33154
33155         Fix typo introduced on 2009-12-31.
33156         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
33157         posix_spawn_file_actions_adddup2.
33158
33159 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
33160         and Eric Blake  <eblake@redhat.com>
33161
33162         test-vc-list-files-git: make more robust
33163         * tests/test-vc-list-files-git.sh: Unset problematic environment
33164         variables.  Chain commands together.
33165
33166 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
33167
33168         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
33169         `AC_CHECK_DECL' invocation.
33170
33171 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
33172
33173         * lib/inttostr.c (inttostr): Make sure the invocation of verify
33174         appears before executable statements. Suggested by Petr Sumbera
33175         <Petr.Sumbera@Sun.COM>.
33176
33177 2010-03-14  Bruno Haible  <bruno@clisp.org>
33178
33179         * tests/test-flock.c (test_exclusive): Comment out a test that causes
33180         portability problems. Instead use a simpler test.
33181         (main): Check that invalid arguments are rejected only on Linux.
33182
33183 2010-03-14  Bruno Haible  <bruno@clisp.org>
33184
33185         Fix bug introduced on 2009-12-31.
33186         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33187         gl_PREREQ_SYS_H_WINSOCK2 always.
33188         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
33189         SYS_SOCKET_H variable.
33190         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
33191         Update comments.
33192         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
33193         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33194         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33195         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33196         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33197
33198 2010-03-14  Bruno Haible  <bruno@clisp.org>
33199
33200         Fix values returned by sinl, cosl.
33201         * lib/trigl.h: Add specification comments.
33202         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
33203         that combines the values from the precomputed table with the values of
33204         the Chebyshev polynomials.
33205
33206 2010-03-14  Bruno Haible  <bruno@clisp.org>
33207
33208         Fix compilation error when modules 'posix_spawn[p]' are not used.
33209         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
33210         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
33211
33212 2010-03-14  Bruno Haible  <bruno@clisp.org>
33213
33214         Fix compilation error on mingw when module 'time_r' is not used.
33215         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
33216         is 1.
33217         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
33218         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33219         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
33220         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
33221
33222 2010-03-14  Bruno Haible  <bruno@clisp.org>
33223
33224         Fix compilation error with Sun C.
33225         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
33226         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
33227         instead of GCC specific ULONG_LONG_MAX.
33228         * lib/xstrtoll.c: Likewise.
33229         * lib/xstrtoull.c: Likewise.
33230
33231 2010-03-13  Bruno Haible  <bruno@clisp.org>
33232
33233         Allow the user to disable C++ code and tests.
33234         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
33235         (gl_PROG_ANSI_CXX): Require it.
33236
33237 2010-03-13  Bruno Haible  <bruno@clisp.org>
33238
33239         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
33240         cases.
33241
33242 2010-03-13  Bruno Haible  <bruno@clisp.org>
33243
33244         Test that gnulib does not break the standard C++ headers.
33245         * tests/test-locale-c++2.cc: New file.
33246         * modules/locale-tests (Files): Add it.
33247         (Makefile.am): Compile it for test-locale-c++.
33248         * tests/test-math-c++2.cc: New file.
33249         * modules/math-tests (Files): Add it.
33250         (Makefile.am): Compile it for test-math-c++.
33251         * tests/test-signal-c++2.cc: New file.
33252         * modules/signal-tests (Files): Add it.
33253         (Makefile.am): Compile it for test-signal-c++.
33254         * tests/test-stdio-c++2.cc: New file.
33255         * modules/stdio-tests (Files): Add it.
33256         (Makefile.am): Compile it for test-stdio-c++.
33257         * tests/test-stdlib-c++2.cc: New file.
33258         * modules/stdlib-tests (Files): Add it.
33259         (Makefile.am): Compile it for test-stdlib-c++.
33260         * tests/test-string-c++2.cc: New file.
33261         * modules/string-tests (Files): Add it.
33262         (Makefile.am): Compile it for test-string-c++.
33263         * tests/test-time-c++2.cc: New file.
33264         * modules/time-tests (Files): Add it.
33265         (Makefile.am): Compile it for test-time-c++.
33266         Reported by John W. Eaton <jwe@gnu.org>.
33267
33268 2010-03-13  Bruno Haible  <bruno@clisp.org>
33269
33270         * gnulib-tool (func_usage): Clarify which options are available for
33271         --create-testdir and --create-megatestdir.
33272
33273 2010-03-13  Bruno Haible  <bruno@clisp.org>
33274
33275         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
33276         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
33277         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
33278         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
33279         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
33280         when appropriate.
33281         Reported by Jim Meyering.
33282
33283 2010-03-12  Simon Josefsson  <simon@josefsson.org>
33284
33285         * gnulib-tool (func_import): Explain origin of code.
33286
33287 2010-03-12  Bruno Haible  <bruno@clisp.org>
33288
33289         Fix problem with automake's definition of CXXLINK.
33290         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
33291         Reported by Simon Josefsson and Ludovic Courtès.
33292
33293 2010-03-12  Bruno Haible  <bruno@clisp.org>
33294
33295         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
33296         stable releases.
33297
33298 2010-03-11  Bruno Haible  <bruno@clisp.org>
33299
33300         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
33301         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
33302         whether the system provides one variant or multiple variants of the
33303         function.
33304         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
33305         C++ compilers.
33306         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
33307         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
33308         Reported by Jim Meyering.
33309
33310 2010-03-09  Simon Josefsson  <simon@josefsson.org>
33311
33312         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
33313
33314 2010-03-08  Bruno Haible  <bruno@clisp.org>
33315
33316         gnulib-tool: Add support for --libtool in --create-testdir.
33317         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
33318         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
33319
33320 2010-03-08  Eric Blake  <eblake@redhat.com>
33321
33322         gnulib-tool.texi: mention possibility of git submodule
33323         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
33324         submodules.
33325         * doc/.gitignore: Ignore another generated file.
33326
33327 2010-03-08  Karl Berry  <karl@gnu.org>
33328
33329         * doc/gnulib-tool.texi (VCS Issues): Mention third option
33330         of committing gnulib files while skipping others.
33331
33332 2010-03-07  Bruno Haible  <bruno@clisp.org>
33333
33334         Tests of module 'wctype' in C++ mode.
33335         * tests/test-wctype-c++.cc: New file.
33336         * modules/wctype-tests (Files): Add it and tests/signature.h.
33337         (Depends-on): Add ansi-c++-opt.
33338         (Makefile.am): Arrange to compile and run test-wctype-c++.
33339
33340         Tests of module 'wchar' in C++ mode.
33341         * tests/test-wchar-c++.cc: New file.
33342         * modules/wchar-tests (Files): Add it and tests/signature.h.
33343         (Depends-on): Add ansi-c++-opt.
33344         (Makefile.am): Arrange to compile and run test-wchar-c++.
33345         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
33346         gl_MODULE_INDICATOR.
33347
33348         Tests of module 'unistd' in C++ mode.
33349         * tests/test-unistd-c++.cc: New file.
33350         * modules/unistd-tests (Files): Add it and tests/signature.h.
33351         (Depends-on): Add ansi-c++-opt.
33352         (Makefile.am): Arrange to compile and run test-unistd-c++.
33353         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
33354         gl_MODULE_INDICATOR.
33355
33356         Tests of module 'time' in C++ mode.
33357         * tests/test-time-c++.cc: New file.
33358         * modules/time-tests (Files): Add it and tests/signature.h.
33359         (Depends-on): Add ansi-c++-opt.
33360         (Makefile.am): Arrange to compile and run test-time-c++.
33361         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33362
33363         Tests of module 'sys_time' in C++ mode.
33364         * tests/test-sys_time-c++.cc: New file.
33365         * modules/sys_time-tests (Files): Add it and tests/signature.h.
33366         (Depends-on): Add ansi-c++-opt.
33367         (Makefile.am): Arrange to compile and run test-sys_time-c++.
33368         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
33369         gl_MODULE_INDICATOR.
33370
33371         Tests of module 'sys_stat' in C++ mode.
33372         * tests/test-sys_stat-c++.cc: New file.
33373         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
33374         (Depends-on): Add ansi-c++-opt.
33375         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
33376         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
33377         gl_MODULE_INDICATOR.
33378
33379         Tests of module 'sys_socket' in C++ mode.
33380         * tests/test-sys_socket-c++.cc: New file.
33381         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
33382         (Depends-on): Add ansi-c++-opt.
33383         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
33384         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
33385         gl_MODULE_INDICATOR.
33386
33387         Tests of module 'sys_select' in C++ mode.
33388         * tests/test-sys_select-c++.cc: New file.
33389         * modules/sys_select-tests (Files): Add it and tests/signature.h.
33390         (Depends-on): Add ansi-c++-opt.
33391         (Makefile.am): Arrange to compile and run test-sys_select-c++.
33392         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
33393         gl_MODULE_INDICATOR.
33394
33395         Tests of module 'sys_ioctl' in C++ mode.
33396         * tests/test-sys_ioctl-c++.cc: New file.
33397         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
33398         (Depends-on): Add ansi-c++-opt.
33399         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
33400         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
33401         gl_MODULE_INDICATOR.
33402
33403         Tests of module 'string' in C++ mode.
33404         * tests/test-string-c++.cc: New file.
33405         * modules/string-tests (Files): Add it and tests/signature.h.
33406         (Depends-on): Add ansi-c++-opt.
33407         (Makefile.am): Arrange to compile and run test-string-c++.
33408         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
33409         gl_MODULE_INDICATOR.
33410
33411         Tests of module 'stdlib' in C++ mode.
33412         * tests/test-stdlib-c++.cc: New file.
33413         * modules/stdlib-tests (Files): Add it and tests/signature.h.
33414         (Depends-on): Add ansi-c++-opt.
33415         (Makefile.am): Arrange to compile and run test-stdlib-c++.
33416         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
33417         gl_MODULE_INDICATOR.
33418
33419         Tests of module 'stdio' in C++ mode.
33420         * tests/test-stdio-c++.cc: New file.
33421         * modules/stdio-tests (Files): Add it and tests/signature.h.
33422         (Depends-on): Add ansi-c++-opt.
33423         (Makefile.am): Arrange to compile and run test-stdio-c++.
33424         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
33425         gl_MODULE_INDICATOR.
33426
33427         Tests of module 'spawn' in C++ mode.
33428         * tests/test-spawn-c++.cc: New file.
33429         * modules/spawn-tests (Files): Add it and tests/signature.h.
33430         (Depends-on): Add ansi-c++-opt.
33431         (Makefile.am): Arrange to compile and run test-spawn-c++.
33432         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33433         gl_MODULE_INDICATOR.
33434
33435         Tests of module 'signal' in C++ mode.
33436         * tests/test-signal-c++.cc: New file.
33437         * modules/signal-tests (Files): Add it and tests/signature.h.
33438         (Depends-on): Add ansi-c++-opt.
33439         (Makefile.am): Arrange to compile and run test-signal-c++.
33440         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33441         gl_MODULE_INDICATOR.
33442
33443         Tests of module 'search' in C++ mode.
33444         * tests/test-search-c++.cc: New file.
33445         * modules/search-tests (Files): Add it and tests/signature.h.
33446         (Depends-on): Add ansi-c++-opt.
33447         (Makefile.am): Arrange to compile and run test-search-c++.
33448         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33449         gl_MODULE_INDICATOR.
33450
33451         Tests of module 'math' in C++ mode.
33452         * tests/test-math-c++.cc: New file.
33453         * modules/math-tests (Files): Add it and tests/signature.h.
33454         (Depends-on): Add ansi-c++-opt.
33455         (Makefile.am): Arrange to compile and run test-math-c++.
33456         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33457
33458         Tests of module 'locale' in C++ mode.
33459         * tests/test-locale-c++.cc: New file.
33460         * modules/locale-tests (Files): Add it and tests/signature.h.
33461         (Depends-on): Add ansi-c++-opt.
33462         (Makefile.am): Arrange to compile and run test-locale-c++.
33463         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33464         gl_MODULE_INDICATOR.
33465
33466         Tests of module 'langinfo' in C++ mode.
33467         * tests/test-langinfo-c++.cc: New file.
33468         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33469         (Depends-on): Add ansi-c++-opt.
33470         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33471         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33472         gl_MODULE_INDICATOR.
33473
33474         Tests of module 'iconv-h' in C++ mode.
33475         * tests/test-iconv-h-c++.cc: New file.
33476         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33477         (Depends-on): Add ansi-c++-opt.
33478         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33479
33480         Tests of module 'glob' in C++ mode.
33481         * tests/test-glob-c++.cc: New file.
33482         * modules/glob-tests (Files): Add it.
33483         (Depends-on): Add ansi-c++-opt.
33484         (Makefile.am): Arrange to compile and run test-glob-c++.
33485
33486         Tests of module 'fcntl-h' in C++ mode.
33487         * tests/test-fcntl-h-c++.cc: New file.
33488         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33489         (Depends-on): Add ansi-c++-opt.
33490         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33491         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33492         gl_MODULE_INDICATOR.
33493
33494         Tests of module 'dirent' in C++ mode.
33495         * tests/test-dirent-c++.cc: New file.
33496         * modules/dirent-tests (Files): Add it and tests/signature.h.
33497         (Depends-on): Add ansi-c++-opt.
33498         (Makefile.am): Arrange to compile and run test-dirent-c++.
33499         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33500         gl_MODULE_INDICATOR.
33501
33502         New module 'ansi-c++-opt'.
33503         * modules/ansi-c++-opt: New file.
33504         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33505
33506         Document C++ namespace mode.
33507         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33508
33509         wctype: Avoid #define replacements in C++ mode.
33510         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33511         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33512         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33513         In C++, define a namespaced alias symbol.
33514         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33515         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33516         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33517         rule.
33518
33519         wchar: Avoid #define replacements in C++ mode.
33520         * lib/wchar.in.h: Include c++defs.h.
33521         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33522         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33523         symbol.
33524         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33525         * modules/wchar (Depends-on): Add c++defs.
33526         (Makefile.am): Update wchar.h rule.
33527
33528         unistd: Avoid #define replacements in C++ mode.
33529         * lib/unistd.in.h: Include c++defs.h.
33530         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33531         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33532         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33533         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33534         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33535         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33536         symbol.
33537         (environ): Update.
33538         * modules/unistd (Depends-on): Add c++defs.
33539         (Makefile.am): Update unistd.h rule.
33540
33541         time: Avoid #define replacements in C++ mode.
33542         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33543         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33544         define a namespaced alias symbol.
33545         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33546         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33547         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33548         * modules/time (Depends-on): Add c++defs, warn-on-use.
33549         (Makefile.am): Update time.h rule.
33550         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33551         * modules/nanosleep (configure.ac): Likewise.
33552         * modules/strptime (configure.ac): Likewise.
33553         * modules/timegm (configure.ac): Likewise.
33554
33555         sys_time: Avoid #define replacements in C++ mode.
33556         * lib/sys_time.in.h: Include c++defs.h.
33557         (gettimeofday): In C++, define a namespaced alias symbol.
33558         * modules/sys_time (Depends-on): Add c++defs.
33559         (Makefile.am): Update sys/time.h rule.
33560
33561         sys_stat: Avoid #define replacements in C++ mode.
33562         * lib/sys_stat.in.h: Include c++defs.h.
33563         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33564         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33565         namespaced alias symbol.
33566         In C++, define a namespaced alias symbol.
33567         * modules/sys_stat (Depends-on): Add c++defs.
33568         (Makefile.am): Update sys/stat.h rule.
33569
33570         sys_socket: Avoid #define replacements in C++ mode.
33571         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33572         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33573         definitions also when the system has a <sys/socket.h>.
33574         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33575         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33576         In C++, define a namespaced alias symbol.
33577         * modules/sys_socket (Depends-on): Add c++defs.
33578         (Makefile.am): Update sys/socket.h rule.
33579
33580         sys_select: Avoid #define replacements in C++ mode.
33581         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33582         definitions also when the system has a <sys/select.h>.
33583         (select): In C++, define a namespaced alias symbol.
33584         * modules/sys_select (Depends-on): Add c++defs.
33585         (Makefile.am): Update sys/select.h rule.
33586
33587         sys_ioctl: Avoid #define replacements in C++ mode.
33588         * lib/sys_ioctl.in.h: Include c++defs.h.
33589         (ioctl): In C++, define a namespaced alias symbol.
33590         * modules/sys_ioctl (Depends-on): Add c++defs.
33591         (Makefile.am): Update sys/ioctl.h rule.
33592
33593         string: Avoid #define replacements in C++ mode.
33594         * lib/string.in.h: Include c++defs.h.
33595         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33596         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33597         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33598         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33599         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33600         * modules/string (Depends-on): Add c++defs.
33601         (Makefile.am): Update string.h rule.
33602
33603         stdlib: Avoid #define replacements in C++ mode.
33604         * lib/stdlib.in.h: Include c++defs.h.
33605         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
33606         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
33607         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
33608         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
33609         symbol.
33610         * modules/stdlib (Depends-on): Add c++defs.
33611         (Makefile.am): Update stdlib.h rule.
33612
33613         stdio: Avoid #define replacements in C++ mode.
33614         * lib/stdio.in.h: Include c++defs.h.
33615         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
33616         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
33617         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
33618         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
33619         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
33620         namespaced alias symbol.
33621         * modules/stdio (Depends-on): Add c++defs.
33622         (Makefile.am): Update stdio.h rule.
33623
33624         spawn: Avoid #define replacements in C++ mode.
33625         * lib/spawn.in.h: Include c++defs.h.
33626         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33627         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33628         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33629         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33630         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33631         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33632         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33633         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33634         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33635         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33636         In C++, define a namespaced alias symbol.
33637         * modules/spawn (Depends-on): Add c++defs.
33638         (Makefile.am): Update spawn.h rule.
33639
33640         signal: Avoid #define replacements in C++ mode.
33641         * lib/signal.in.h: Include c++defs.h.
33642         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33643         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33644         namespaced alias symbol.
33645         * modules/signal (Depends-on): Add c++defs.
33646         (Makefile.am): Update signal.h rule.
33647
33648         search: Avoid #define replacements in C++ mode.
33649         * lib/search.in.h: Include c++defs.h.
33650         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33651         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33652         symbol.
33653         * modules/search (Depends-on): Add c++defs.
33654         (Makefile.am): Update search.h rule.
33655
33656         math: Avoid #define replacements in C++ mode.
33657         * lib/math.in.h: Include c++defs.h.
33658         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33659         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33660         trunc, truncl): In C++, define a namespaced alias symbol.
33661         * modules/math (Depends-on): Add c++defs.
33662         (Makefile.am): Update math.h rule.
33663
33664         locale: Avoid #define replacements in C++ mode.
33665         * lib/locale.in.h: Include c++defs.h.
33666         (duplocale): In C++, define a namespaced alias symbol.
33667         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
33668         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
33669         * modules/locale (Depends-on): Add c++defs.
33670         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
33671
33672         langinfo: Avoid #define replacements in C++ mode.
33673         * lib/langinfo.in.h: Include c++defs.h.
33674         (nl_langinfo): In C++, define a namespaced alias symbol.
33675         * modules/langinfo (Depends-on): Add c++defs.
33676         (Makefile.am): Update langinfo.h rule.
33677
33678         iconv-h: Avoid #define replacements in C++ mode.
33679         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
33680         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
33681         symbol.
33682         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
33683         whenever iconv is present.
33684         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
33685         (Makefile.am): Update iconv.h rule.
33686
33687         glob: Avoid #define replacements in C++ mode.
33688         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
33689         (_gl_glob_errfunc_fn): New type.
33690         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
33691         symbol.
33692         * modules/glob (Depends-on): Add c++defs, warn-on-use.
33693         (Makefile.am): Update glob.h rule.
33694
33695         fcntl-h: Avoid #define replacements in C++ mode.
33696         * lib/fcntl.in.h: Include c++defs.h.
33697         (fcntl, open, openat): In C++, define a namespaced alias symbol.
33698         * modules/fcntl-h (Depends-on): Add c++defs.
33699         (Makefile.am): Update fcntl.h rule.
33700
33701         dirent: Avoid #define replacements in C++ mode.
33702         * lib/dirent.in.h: Include c++defs.h.
33703         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
33704         namespaced alias symbol.
33705         (dirfd): Update declaration.
33706         * modules/dirent (Depends-on): Add c++defs.
33707         (Makefile.am): Update dirent.h rule.
33708
33709         ctype: Make it usable in C++ code.
33710         * lib/ctype.in.h: Include c++defs.h.
33711         (isblank): Declare as extern "C".
33712         * modules/ctype (Depends-on): Add c++defs.
33713         (Makefile.am): Update ctype.h rule.
33714
33715         New module 'c++defs'.
33716         * modules/c++defs: New file.
33717         * build-aux/c++defs.h: New file.
33718         Reported by John W. Eaton <jwe@gnu.org>.
33719
33720 2010-03-07  Bruno Haible  <bruno@clisp.org>
33721
33722         logb: Provide missing declaration for Cygwin.
33723         * lib/math.in.h (logb): New declaration.
33724         * m4/logb.m4: New file.
33725         * modules/logb (Files): Add m4/logb.m4.
33726         (Depends-on): Add math.
33727         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
33728         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
33729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
33730         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
33731         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
33732
33733 2010-03-07  Bruno Haible  <bruno@clisp.org>
33734
33735         Fix test-cond link error.
33736         * tests/test-cond.c: Include <stdio.h>.
33737
33738 2010-03-07  Bruno Haible  <bruno@clisp.org>
33739
33740         Fix test-dirent-safer link error.
33741         * modules/dirent-safer-tests (Makefile.am): Define
33742         test_dirent_safer_LDADD.
33743
33744 2010-03-07  Bruno Haible  <bruno@clisp.org>
33745
33746         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
33747         among default module list.
33748
33749 2010-03-07  Bruno Haible  <bruno@clisp.org>
33750
33751         Fix link error on platforms with GNU libiconv.
33752         * modules/unistr/u8-strcoll-tests (Makefile): Define
33753         test_u8_strcoll_LDADD.
33754         * modules/unistr/u16-strcoll-tests (Makefile): Define
33755         test_u16_strcoll_LDADD.
33756         * modules/unistr/u32-strcoll-tests (Makefile): Define
33757         test_u32_strcoll_LDADD.
33758
33759 2010-03-07  Bruno Haible  <bruno@clisp.org>
33760
33761         Use POSIX declarations for socket functions.
33762         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
33763         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
33764         rpl_sendto): Change declaration to match POSIX.
33765         * lib/connect.c (rpl_connect): Likewise.
33766         * lib/accept.c (rpl_accept): Likewise.
33767         * lib/bind.c (rpl_bind): Likewise.
33768         * lib/getpeername.c (rpl_getpeername): Likewise.
33769         * lib/getsockname.c (rpl_getsockname): Likewise.
33770         * lib/recv.c (rpl_recv): Likewise.
33771         * lib/send.c (rpl_send): Likewise.
33772         * lib/recvfrom.c (rpl_recvfrom): Likewise.
33773         * lib/sendto.c (rpl_sendto): Likewise.
33774
33775 2010-03-06  Bruno Haible  <bruno@clisp.org>
33776
33777         Clarify access, euidaccess, faccessat.
33778         * doc/posix-functions/faccessat.texi: Mention security problem under
33779         "Other problems", not "Portability problems".
33780         * doc/posix-functions/access.texi: Likewise. Mention a related security
33781         problem.
33782         * doc/glibc-functions/euidaccess.texi: Mention security problems.
33783         * lib/euidaccess.c: Add comments about platforms.
33784         * lib/unistd.in.h (access, euidaccess): Add warnings.
33785
33786 2010-03-07  Bruno Haible  <bruno@clisp.org>
33787
33788         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
33789         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
33790         (POSIX_SPAWN_SETSCHEDULER): Likewise.
33791         (POSIX_SPAWN_USEVFORK): Define in a way that works when
33792         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33793         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
33794         declare when POSIX_SPAWN_SETSCHEDULER is zero.
33795         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
33796         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
33797         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
33798         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
33799         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
33800         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
33801         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
33802         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
33803         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
33804         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
33805         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
33806         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
33807         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
33808         Likewise.
33809         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
33810         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
33811         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
33812         Likewise.
33813         * tests/test-spawn.c (main): Make it work when
33814         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33815
33816 2010-03-07  Bruno Haible  <bruno@clisp.org>
33817
33818         Fix incorrect Makefile.am generation in German locale.
33819         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33820         Execute sed command with character range in C locale.
33821
33822 2010-03-06  Bruno Haible  <bruno@clisp.org>
33823
33824         Tests for module 'iconv-h'.
33825         * modules/iconv-h-tests: New file.
33826         * tests/test-iconv-h.c: New file.
33827
33828         New module 'iconv-h'.
33829         * modules/iconv-h: New file.
33830         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
33831         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
33832         (configure.ac): Remove gl_ICONV_H.
33833         (Makefile.am): Remove rule for iconv.h.
33834
33835 2010-03-06  Bruno Haible  <bruno@clisp.org>
33836
33837         More consistent naming of *.m4 files.
33838         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
33839         * modules/wctype (Files): Update.
33840
33841         More consistent naming of *.m4 files.
33842         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
33843         * modules/wchar (Files): Update.
33844
33845 2010-03-06  Jim Meyering  <meyering@redhat.com>
33846
33847         euidaccess: relax license to LGPLv2+
33848         * modules/euidaccess (License): Relax to LGPLv2+.
33849
33850 2010-03-06  Bruno Haible  <bruno@clisp.org>
33851
33852         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
33853         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
33854         (Makefile.am): Augment lib_SOURCES instead.
33855
33856 2010-03-04  Jim Meyering  <meyering@redhat.com>
33857
33858         utime: remove obsolete module
33859         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
33860         unnecessary for years, and has been marked as obsolete for 10 months.
33861         * modules/utime: Remove file.
33862         * lib/utime.c: Remove file.
33863         * m4/utime.m4: Remove file.
33864         * m4/utimes-null.m4: Remove file.
33865         * doc/posix-functions/utime.texi (utime): Remove reference to
33866         the module.  Move the sole "fixed by gnulib" item into the
33867         "problems not fixed by Gnulib" list.
33868         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
33869
33870 2010-03-05  Simon Josefsson  <simon@josefsson.org>
33871
33872         * modules/exit (License): Relax license to LGPLv2+.
33873         (Status): Mark as obsolete.
33874         * NEWS: Mention deprecated 'exit' module.
33875         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
33876         of now obsolete 'exit'.
33877
33878 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33879
33880         fts-lgpl: remove unused module
33881         * modules/fts-lgpl: Remove.
33882         * MODULES.html.sh (func_all_modules): Adjust.
33883         * check-module (find_included_lib_files): Adjust.
33884         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
33885
33886 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
33887
33888         copy-acl: enhance Solaris ACL error handling
33889         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
33890         * lib/set-mode-acl.c (qset_acl): Likewise.
33891
33892 2010-03-02  Bruno Haible  <bruno@clisp.org>
33893
33894         spawn: Don't override the system defined values on FreeBSD 8.
33895         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
33896         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
33897         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
33898         if HAVE_POSIX_SPAWN is 1.
33899         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
33900
33901 2010-03-01  Bruno Haible  <bruno@clisp.org>
33902
33903         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
33904         regarding Automake.
33905
33906 2010-02-25  Bruno Haible  <bruno@clisp.org>
33907
33908         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
33909         * gnulib-tool: Define 'echo' as a function only before the ksh alias
33910         setting, not afterwards.
33911         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
33912
33913 2010-02-24  Eric Blake  <eblake@redhat.com>
33914
33915         bootstrap, git-version-gen: use timestamp
33916         * build-aux/git-version-gen (scriptversion): Force UTC.
33917         * build-aux/bootstrap (scriptversion): New variable.
33918
33919         bootstrap: allow older git
33920         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
33921         older than 1.6.4.  Requested by the libvirt project.
33922
33923 2010-02-23  Eric Blake  <eblake@redhat.com>
33924
33925         warn-on-use: work with old autoconf
33926         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
33927         AS_VAR semantics of autoconf 2.60.
33928         Reported by Bruno Haible.
33929
33930         bootstrap: improve some comments
33931         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
33932         clarification comments.
33933
33934         gettimeofday: provide correct function
33935         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
33936         when replacement is declared, otherwise provide gettimeofday.
33937         Reported by Michael Goffioul.
33938
33939 2010-02-23  Jim Meyering  <meyering@redhat.com>
33940
33941         lib-ignore: relax license to "unlimited", not LGPLv2+
33942         * modules/lib-ignore (License): Relax to "unlimited".
33943
33944 2010-02-23  Jim Meyering  <meyering@redhat.com>
33945
33946         lib-ignore: relax license to LGPLv2+
33947         * modules/lib-ignore (License): Relax to LGPLv2+.
33948
33949 2010-02-22  Eric Blake  <eblake@redhat.com>
33950
33951         lseek: avoid bash 3.2 broken pipe bug
33952         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
33953         warning from bash 3.2.
33954         Reported by Ben Pfaff, with analysis from Bruno Haible.
33955
33956         bootstrap: support non-FSF copyright holder
33957         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
33958         bootstrap.conf override of COPYRIGHT_HOLDER.
33959         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
33960
33961         bootstrap: interoperate with gettext 0.14.1
33962         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
33963
33964         bootstrap: allow for alternate submodule location
33965         * build-aux/bootstrap (gnulib_path): New variable; use instead of
33966         hardcoding submodule location.
33967         (gnulib_mk): Allow direct use of Makefile.am.
33968
33969         bootstrap: use GNULIB_SRCDIR to reduce disk usage
33970         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
33971         rather than reconfiguring where the submodule points.
33972
33973         gettimeofday: restore support for platforms that lack function
33974         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
33975         replacement if function is missing.
33976         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
33977         * modules/sys_time (Makefile.am): Substitute it.
33978         * lib/sys_time.in.h (gettimeofday): Check it.
33979         Reported by Michael Goffioul.
33980
33981 2010-02-21  Bruno Haible  <bruno@clisp.org>
33982
33983         * lib/stdio.in.h (obstack_printf): Fix typo.
33984
33985 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
33986
33987         vc-list-files: use bzr ls's -R option
33988         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
33989         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
33990
33991 2010-02-21  Jim Meyering  <meyering@redhat.com>
33992
33993         init.sh: fix EXEEXT shims to work also for names like test-prog
33994         * tests/init.sh: Re-exec a better shell, when needed.
33995         If the current shell lacks support for posix $(...), an init.sh-using
33996         test will now try to find a shell that supports that.  If EXEEXT is
33997         nonempty, we also require support for hyphen-in-alias-name and shell
33998         substitutions like ${var#glob}.  Failure to find such a shell results
33999         in a skipped test.
34000
34001 2010-02-21  Bruno Haible  <bruno@clisp.org>
34002
34003         Really work around around "broken pipe" error message from bash 3.2.
34004         * gnulib-tool (func_reset_sigpipe): Remove function.
34005         (echo): In bash 3.2, define to a function that uses printf.
34006         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34007
34008 2010-02-20  Bruno Haible  <bruno@clisp.org>
34009
34010         Restore support for automake 1.9.6 with autoconf 2.61.
34011         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34012         Reported by James Youngman <jay@gnu.org>.
34013
34014 2010-02-20  Bruno Haible  <bruno@clisp.org>
34015
34016         Improve *printf warning condition.
34017         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34018         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34019         and the function is overridden due to SIGPIPE emulation.
34020
34021 2010-02-20  Bruno Haible  <bruno@clisp.org>
34022
34023         * lib/stdio.in.h: Tweak comments.
34024
34025 2010-02-19  Bruno Haible  <bruno@clisp.org>
34026
34027         Make it easier to find modules. New gnulib-tool option '--find'.
34028         * gnulib-tool: New option --find.
34029         (func_usage): Document it.
34030         (func_sanitize_modulelist): New function, extracted from
34031         func_all_modules.
34032         (func_all_modules): Invoke it.
34033         * doc/gnulib-tool.texi (Which modules?): New node.
34034
34035 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34036
34037         * lib/sys_select.in.h: Provide select replacement even if
34038         sys/select.h exists on a system, for Interix.
34039
34040 2010-02-18  Jim Meyering  <meyering@redhat.com>
34041
34042         init.sh: don't use $(...) just yet
34043         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34044         to accommodate e.g., Solaris' /bin/sh.
34045
34046 2010-02-17  Bruno Haible  <bruno@clisp.org>
34047
34048         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34049         Reported by Ludovic Courtès <ludo@gnu.org>.
34050
34051 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34052
34053         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34054         linking with -lintl.
34055
34056 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34057
34058         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34059         if not provided by the system's netdb.h.  Reported by
34060         ludo@gnu.org (Ludovic Courtès).
34061
34062 2010-02-15  Jim Meyering  <meyering@redhat.com>
34063
34064         init.sh: improve portability and efficiency
34065         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
34066         "dummy" in a for loop.
34067         Use '!', not '^' to select the complement of a character set used
34068         in a "case" statement.
34069         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
34070         Suggestions from Eric Blake.
34071
34072         init.sh: automatically accommodate programs with the .exe suffix
34073         Automatically arrange for an invocation of "prog" to execute the
34074         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
34075         may use the simpler "prog", yet still work when built on a system
34076         that requires specifying the added suffix.
34077         Do this by constructing a function named "prog" that invokes
34078         "prog.exe" for each .exe file in selected directories.
34079         * tests/init.sh (find_exe_basenames_): New function.
34080         (create_exe_shim_functions_): New function.
34081         (path_prepend_): Use it.
34082
34083         maint.mk: mark syntax-check sc_*.m rules as .PHONY
34084         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
34085         "make -t syntax-check" doesn't create a ton of sc_*.m files.
34086
34087 2010-02-14  Jim Meyering  <meyering@redhat.com>
34088
34089         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
34090         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
34091         (sc_prohibit_hash_pjw_without_use): New rule.
34092
34093         maint.mk: allow the default upload destination dir to be overridden
34094         * top/maint.mk (upload_dest_dir_): Define with a default that
34095         preserves the status quo.
34096         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
34097         Reported by Peter Simons.
34098
34099         maint.mk: prohibit inclusion of "hash.h" without_use
34100         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
34101
34102 2010-02-10  Jim Meyering  <meyering@redhat.com>
34103
34104         maint.mk: prohibit inclusion of "ignore-value.h" without_use
34105         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
34106
34107 2010-02-09  Eric Blake  <ebb9@byu.net>
34108         and Bruno Haible  <bruno@clisp.org>
34109
34110         obstack-printf-posix: ensure declaration
34111         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
34112         extracted from gl_FUNC_OBSTACK_PRINTF.
34113         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
34114         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34115         Likewise.
34116         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
34117         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
34118         0.
34119
34120 2010-02-08  Bruno Haible  <bruno@clisp.org>
34121
34122         gnulib-tool: Fix typo in 2010-02-07 commit.
34123         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
34124         Reported by Eric Blake.
34125
34126 2010-02-07  Bruno Haible  <bruno@clisp.org>
34127
34128         gnulib-tool: Fix up caching patches.
34129         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
34130         option --no-cache. Use associative arrays when supported by the shell.
34131         (sed_comments): New variable.
34132         (modcache): Renamed from do_cache.
34133         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
34134         abbreviate unnecessarily.
34135         (have_associative): New variable.
34136         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
34137         way also for ksh and zsh.
34138         (func_init_sed_convert_to_cache_statements): New function, extracted
34139         from func_cache_lookup_module. Add support for associative arrays.
34140         Don't set the c_MODULE_cached variable here. Ignore all lines before
34141         the first field header. Remove only the final newline, not all trailing
34142         newlines. Support empty fields correctly. Limit the use of 'eval' to
34143         assignments.
34144         (func_get_description, func_get_status, func_get_notice,
34145         func_get_applicability, func_get_filelist, func_get_dependencies,
34146         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
34147         func_get_automake_snippet, func_get_include_directive,
34148         func_get_link_directive, func_get_license, func_get_maintainer):
34149         Update documentation. List the unoptimized code first. Add support for
34150         associative arrays. Limit the use of 'eval' to assignments.
34151         (func_get_applicability): Undo stylistic pessimisations.
34152         (func_get_automake_snippet, func_get_include_directive): Reduce code
34153         duplication.
34154         (func_modules_transitive_closure, func_modules_add_dummy,
34155         func_modules_notice, func_modules_to_filelist, func_add_file,
34156         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
34157         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
34158         func_create_testdir, func_create_megatestdir): Update documentation.
34159
34160 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34161
34162         * gnulib-tool (func_cache_lookup_module): Store the module name
34163         belonging to the cache variable; error out if two different
34164         module names map to the same cache variable name.
34165
34166 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34167
34168         gnulib-tool: Make caching optional.
34169         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
34170         Update matching short versions of --no-changelog.
34171         (func_usage): Update.
34172         (sed_extract_cache_prog): Renamed from ...
34173         (sed_extract_prog): ... this; revert to old extraction script.
34174         (func_get_description, func_get_status)
34175         (func_get_notice, func_get_applicability, func_get_filelist)
34176         (func_get_dependencies, func_get_autoconf_early_snippet)
34177         (func_get_autoconf_snippet, func_get_automake_snippet)
34178         (func_get_include_directive, func_get_link_directive)
34179         (func_get_license, func_get_maintainer): If $do_cache is false,
34180         use old, non-caching extraction scripts.
34181         Suggestion by Bruno Haible.
34182
34183 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34184
34185         gnulib-tool: cache module metainformation.
34186         * gnulib-tool (sed_extract_prog): Match newline before each
34187         header, and rewrite header to a shell variable suffix.
34188         (func_cache_var, func_cache_lookup_module): New functions,
34189         to turn a module name into a cache variable prefix, and to
34190         look up and cache module metainformation.
34191         (func_get_description, func_get_status)
34192         (func_get_notice, func_get_applicability, func_get_filelist)
34193         (func_get_dependencies, func_get_autoconf_early_snippet)
34194         (func_get_autoconf_snippet, func_get_automake_snippet)
34195         (func_get_include_directive, func_get_link_directive)
34196         (func_get_license, func_get_maintainer): Use
34197         func_cache_lookup_module.
34198
34199 2010-02-07  Bruno Haible  <bruno@clisp.org>
34200
34201         fnctl: Fix missing dependency.
34202         * modules/fcntl (Depends-on): Add getdtablesize.
34203         Reported by John W. Eaton <jwe@gnu.org>.
34204
34205 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34206
34207         Argp: fix recognition of short alias options.
34208
34209         * lib/argp-parse.c (convert_options): Fix improper use of
34210         `|' between character values.
34211         * tests/test-argp.c (group1_option): New alias option
34212         --read (-r).
34213         (group1_parser): Special handling for 'r'.
34214         (test15): New test case.
34215         (test_fun): Add test15.
34216         * tests/test-argp-2.sh: Update expected --help and --usage
34217         outputs.
34218
34219 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34220
34221         * tests/test-argp.c: Fix indentation.
34222
34223 2010-02-04  Eric Blake  <ebb9@byu.net>
34224
34225         gettimeofday: expose type of second argument
34226         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
34227         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
34228         * tests/test-gettimeofday.c: Use it to silence warning.
34229         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
34230         the issue.
34231
34232 2010-02-03  Jim Meyering  <meyering@redhat.com>
34233
34234         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
34235         * lib/regcomp.c (TYPE_SIGNED): Define.
34236         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
34237
34238         regcomp.c: avoid a new -Wshadow warning
34239         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
34240
34241 2010-02-01  Jim Meyering  <meyering@redhat.com>
34242
34243         removing useless parentheses in cpp #define directives
34244         For motivation, see commit c0221df4, "define STREQ(a,b)
34245         consistently, removing useless parentheses"
34246         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
34247         * lib/mountlist.c (MNT_IGNORE): Likewise.
34248         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
34249
34250 2010-02-01  Eric Blake  <ebb9@byu.net>
34251
34252         sys_time: use link-warning
34253         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
34254         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
34255         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
34256         * modules/sys_time (Depends-on): Add warn-on-use.
34257         (Makefile.am): Always build replacement.
34258         (configure.ac): Update substitutions.
34259         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
34260         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
34261         bother with SYS_TIME_H.
34262         * modules/gettimeofday (configure.ac): Declare indicator.
34263         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
34264         in use.
34265
34266         closein-tests: silence compiler warning
34267         * tests/test-closein.c (main): Ignore fread result.
34268         * modules/closein-tests (Depends-on): Add ignore-value.
34269
34270         tests: silence warning about system return
34271         * tests/test-areadlink-with-size.c (main): Ignore system result.
34272         * tests/test-areadlink.c (main): Likewise.
34273         * tests/test-areadlinkat-with-size.c (main): Likewise.
34274         * tests/test-areadlinkat.c (main): Likewise.
34275         * tests/test-canonicalize-lgpl.c (main): Likewise.
34276         * tests/test-canonicalize.c (main): Likewise.
34277         * tests/test-chown.c (main): Likewise.
34278         * tests/test-fchownat.c (main): Likewise.
34279         * tests/test-fdutimensat.c (main): Likewise.
34280         * tests/test-fstatat.c (main): Likewise.
34281         * tests/test-futimens.c (main): Likewise.
34282         * tests/test-lchown.c (main): Likewise.
34283         * tests/test-link.c (main): Likewise.
34284         * tests/test-linkat.c (main): Likewise.
34285         * tests/test-lstat.c (main): Likewise.
34286         * tests/test-mkdir.c (main): Likewise.
34287         * tests/test-mkdirat.c (main): Likewise.
34288         * tests/test-mkfifo.c (main): Likewise.
34289         * tests/test-mkfifoat.c (main): Likewise.
34290         * tests/test-mknod.c (main): Likewise.
34291         * tests/test-readlink.c (main): Likewise.
34292         * tests/test-remove.c (main): Likewise.
34293         * tests/test-rename.c (main): Likewise.
34294         * tests/test-renameat.c (main): Likewise.
34295         * tests/test-rmdir.c (main): Likewise.
34296         * tests/test-symlink.c (main): Likewise.
34297         * tests/test-symlinkat.c (main): Likewise.
34298         * tests/test-unlink.c (main): Likewise.
34299         * tests/test-unlinkat.c (main): Likewise.
34300         * tests/test-utimens.c (main): Likewise.
34301         * tests/test-utimensat.c (main): Likewise.
34302         * modules/areadlink-tests (Depends-on): Add ignore-value.
34303         * modules/areadlink-with-size-tests (Depends-on): Likewise.
34304         * modules/areadlinkat-tests (Depends-on): Likewise.
34305         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
34306         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34307         * modules/canonicalize-tests (Depends-on): Likewise.
34308         * modules/chown-tests (Depends-on): Likewise.
34309         * modules/fdutimensat-tests (Depends-on): Likewise.
34310         * modules/futimens-tests (Depends-on): Likewise.
34311         * modules/lchown-tests (Depends-on): Likewise.
34312         * modules/link-tests (Depends-on): Likewise.
34313         * modules/linkat-tests (Depends-on): Likewise.
34314         * modules/lstat-tests (Depends-on): Likewise.
34315         * modules/mkdir-tests (Depends-on): Likewise.
34316         * modules/mkfifo-tests (Depends-on): Likewise.
34317         * modules/mkfifoat-tests (Depends-on): Likewise.
34318         * modules/mknod-tests (Depends-on): Likewise.
34319         * modules/openat-tests (Depends-on): Likewise.
34320         * modules/readlink-tests (Depends-on): Likewise.
34321         * modules/remove-tests (Depends-on): Likewise.
34322         * modules/rename-tests (Depends-on): Likewise.
34323         * modules/renameat-tests (Depends-on): Likewise.
34324         * modules/rmdir-tests (Depends-on): Likewise.
34325         * modules/symlink-tests (Depends-on): Likewise.
34326         * modules/symlinkat-tests (Depends-on): Likewise.
34327         * modules/unlink-tests (Depends-on): Likewise.
34328         * modules/utimens-tests (Depends-on): Likewise.
34329         * modules/utimensat-tests (Depends-on): Likewise.
34330
34331 2010-01-31  Bruno Haible  <bruno@clisp.org>
34332
34333         Perform the same test for many <math.h> functions.
34334         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
34335         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
34336         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
34337         of gl_MATHFUNC.
34338         * modules/acos (configure.ac): Likewise.
34339         * modules/asin (configure.ac): Likewise.
34340         * modules/atan (configure.ac): Likewise.
34341         * modules/atan2 (configure.ac): Likewise.
34342         * modules/cbrt (configure.ac): Likewise.
34343         * modules/copysign (configure.ac): Likewise.
34344         * modules/cos (configure.ac): Likewise.
34345         * modules/cosh (configure.ac): Likewise.
34346         * modules/erf (configure.ac): Likewise.
34347         * modules/erfc (configure.ac): Likewise.
34348         * modules/exp (configure.ac): Likewise.
34349         * modules/fmod (configure.ac): Likewise.
34350         * modules/hypot (configure.ac): Likewise.
34351         * modules/j0 (configure.ac): Likewise.
34352         * modules/j1 (configure.ac): Likewise.
34353         * modules/jn (configure.ac): Likewise.
34354         * modules/lgamma (configure.ac): Likewise.
34355         * modules/log (configure.ac): Likewise.
34356         * modules/log10 (configure.ac): Likewise.
34357         * modules/log1p (configure.ac): Likewise.
34358         * modules/pow (configure.ac): Likewise.
34359         * modules/remainder (configure.ac): Likewise.
34360         * modules/sin (configure.ac): Likewise.
34361         * modules/sinh (configure.ac): Likewise.
34362         * modules/tan (configure.ac): Likewise.
34363         * modules/tanh (configure.ac): Likewise.
34364         * modules/y0 (configure.ac): Likewise.
34365         * modules/y1 (configure.ac): Likewise.
34366         * modules/yn (configure.ac): Likewise.
34367         Suggested by Paolo Bonzini.
34368
34369 2010-01-31  Bruno Haible  <bruno@clisp.org>
34370
34371         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
34372
34373 2010-01-31  Bruno Haible  <bruno@clisp.org>
34374
34375         Work around getdelim() bug on FreeBSD 8.0.
34376         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
34377         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
34378         not work.
34379         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
34380         is 1.
34381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
34382         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
34383         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
34384         a non-zero size.
34385         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
34386
34387 2010-01-31  Bruno Haible  <bruno@clisp.org>
34388
34389         Work around getline() bug on FreeBSD 8.0.
34390         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
34391         and a non-zero size.
34392         * tests/test-getline.c (main): Likewise.
34393         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
34394         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
34395
34396 2010-01-28  Eric Blake  <ebb9@byu.net>
34397
34398         regex: fix build failure
34399         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
34400         platforms.
34401
34402 2010-01-28  Jim Meyering  <meyering@redhat.com>
34403
34404         regex: do not ignore memory allocation failure
34405         * lib/regex_internal.c (create_cd_newstate): Detect
34406         re_node_set_init_copy failure.   Extracted from glibc commit
34407         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34408
34409         regex: sync more white-space changes from libc
34410         * lib/regex_internal.c: White-space only changes.
34411         * lib/regexec.c: Likewise.
34412
34413         regex: add many uses of __attribute_warn_unused_result__
34414         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
34415         * lib/regexec.c: Likewise.
34416         Extracted from a messy glibc commit.
34417
34418         regcomp.c: spelling and merge-artifact from glibc
34419         * lib/regcomp.c: Merge remainder of glibc's
34420         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34421
34422         regcomp.c: sync white-space changes from glibc
34423         * lib/regcomp.c: Merge to accommodate white space
34424         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34425
34426         regcomp.c: do not ignore internal return values
34427         * lib/regcomp.c: Do not ignore internal return values.
34428         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
34429         but without its white-space changes and spelling fixes.
34430
34431         regex_internal.h: define __attribute_warn_unused_result__
34432         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34433
34434         maint: add a syntax-check rule to check for vulnerable Makefile.in
34435         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34436
34437 2010-01-27  Jim Meyering  <meyering@redhat.com>
34438
34439         ncftpput-ftp: clean up spaces
34440         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34441         Remove trailing blanks.
34442
34443 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34444
34445         * build-aux/git-version-gen: Fix copyright statement.
34446         * build-aux/gnupload: Likewise.
34447         * tests/test-arcfour.c: Likewise.
34448         * tests/test-arctwo.c: Likewise.
34449         * tests/test-count-one-bits.c: Likewise.
34450         * tests/test-crc.c: Likewise.
34451         * tests/test-des.c: Likewise.
34452         * tests/test-gc-arcfour.c: Likewise.
34453         * tests/test-gc-arctwo.c: Likewise.
34454         * tests/test-gc-des.c: Likewise.
34455         * tests/test-gc-hmac-md5.c: Likewise.
34456         * tests/test-gc-hmac-sha1.c: Likewise.
34457         * tests/test-gc-md2.c: Likewise.
34458         * tests/test-gc-md4.c: Likewise.
34459         * tests/test-gc-md5.c: Likewise.
34460         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34461         * tests/test-gc-rijndael.c: Likewise.
34462         * tests/test-gc-sha1.c: Likewise.
34463         * tests/test-gc.c: Likewise.
34464         * tests/test-gethostname.c: Likewise.
34465         * tests/test-gettimeofday.c: Likewise.
34466         * tests/test-hash.c: Likewise.
34467         * tests/test-hmac-md5.c: Likewise.
34468         * tests/test-hmac-sha1.c: Likewise.
34469         * tests/test-md2.c: Likewise.
34470         * tests/test-md4.c: Likewise.
34471         * tests/test-md5.c: Likewise.
34472         * tests/test-memchr.c: Likewise.
34473         * tests/test-memchr2.c: Likewise.
34474         * tests/test-memcmp.c: Likewise.
34475         * tests/test-memmem.c: Likewise.
34476         * tests/test-memrchr.c: Likewise.
34477         * tests/test-rawmemchr.c: Likewise.
34478         * tests/test-read-file.c: Likewise.
34479         * tests/test-rijndael.c: Likewise.
34480         * tests/test-sockets.c: Likewise.
34481         * tests/test-strchrnul.c: Likewise.
34482         * tests/test-strstr.c: Likewise.
34483         * tests/test-strtod.c: Likewise.
34484         * build-aux/ncftpput-ftp: Likewise.
34485
34486 2010-01-26  Eric Blake  <ebb9@byu.net>
34487
34488         ignore-value: update recommended header name
34489         * modules/ignore-value (Include): Only use <> for headers that
34490         exist in glibc.
34491
34492 2010-01-26  Jim Meyering  <meyering@redhat.com>
34493
34494         test-userspec.c: avoid compiler warnings
34495         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34496         and "initialization discards qualifiers..." warnings.
34497         Put the first "uid" in its own scope, and make char* members "const".
34498
34499 2010-01-25  Bruno Haible  <bruno@clisp.org>
34500
34501         gnulib-tool: Make warning diagnostics consistent.
34502         * gnulib-tool (func_warning): New function.
34503         Use it everywhere where gnulib-tool produces output to stderr and it is
34504         not a fatal error.
34505
34506 2010-01-25  Bruno Haible  <bruno@clisp.org>
34507
34508         Fix test dependencies.
34509         * modules/xstrtol-tests (Depends-on): Add inttypes.
34510         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34511
34512 2010-01-25 Pádraig Brady <P@draigBrady.com>
34513
34514         syntax-check: detect incorrect boolean macro values in config.h
34515         * modules/maintainer-makefile (configure.ac): Parameterize the location
34516         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34517         The logic is from Eric Blake and the location indicated by Jim Meyering.
34518         Note the more natural CONFIG_HEADER name is prohibited by automake
34519         for backwards compatibility reasons.
34520         * top/maint.mk (sc_Wundef_boolean): New rule.
34521
34522 2010-01-25  Jim Meyering  <meyering@redhat.com>
34523
34524         bootstrap: detect MacOS 10.6's shasum, too
34525         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34526         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34527
34528 2010-01-23  Jim Meyering  <meyering@redhat.com>
34529
34530         xstrtoll: new module
34531         * modules/xstrtoll: New file.
34532         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34533         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34534         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34535         ./configure fails if you use this module and lack "long long".
34536         * modules/xstrtoll-tests: New module.
34537         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34538         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34539         new init.sh-based test framework.
34540
34541 2010-01-24  Bruno Haible  <bruno@clisp.org>
34542
34543         Tests for module 'yn'.
34544         * modules/yn-tests: New file.
34545         * tests/test-yn.c: New file.
34546
34547         Tests for module 'y1'.
34548         * modules/y1-tests: New file.
34549         * tests/test-y1.c: New file.
34550
34551         Tests for module 'y0'.
34552         * modules/y0-tests: New file.
34553         * tests/test-y0.c: New file.
34554
34555         Tests for module 'tanh'.
34556         * modules/tanh-tests: New file.
34557         * tests/test-tanh.c: New file.
34558
34559         Tests for module 'tan'.
34560         * modules/tan-tests: New file.
34561         * tests/test-tan.c: New file.
34562
34563         Tests for module 'sqrt'.
34564         * modules/sqrt-tests: New file.
34565         * tests/test-sqrt.c: New file.
34566
34567         Tests for module 'sinh'.
34568         * modules/sinh-tests: New file.
34569         * tests/test-sinh.c: New file.
34570
34571         Tests for module 'sin'.
34572         * modules/sin-tests: New file.
34573         * tests/test-sin.c: New file.
34574
34575         Tests for module 'rint'.
34576         * modules/rint-tests: New file.
34577         * tests/test-rint.c: New file.
34578
34579         Tests for module 'remainder'.
34580         * modules/remainder-tests: New file.
34581         * tests/test-remainder.c: New file.
34582
34583         Tests for module 'pow'.
34584         * modules/pow-tests: New file.
34585         * tests/test-pow.c: New file.
34586
34587         Tests for module 'nextafter'.
34588         * modules/nextafter-tests: New file.
34589         * tests/test-nextafter.c: New file.
34590
34591         Tests for module 'modf'.
34592         * modules/modf-tests: New file.
34593         * tests/test-modf.c: New file.
34594
34595         Tests for module 'logb'.
34596         * modules/logb-tests: New file.
34597         * tests/test-logb.c: New file.
34598
34599         Tests for module 'log1p'.
34600         * modules/log1p-tests: New file.
34601         * tests/test-log1p.c: New file.
34602
34603         Tests for module 'log10'.
34604         * modules/log10-tests: New file.
34605         * tests/test-log10.c: New file.
34606
34607         Tests for module 'log'.
34608         * modules/log-tests: New file.
34609         * tests/test-log.c: New file.
34610
34611         Tests for module 'lgamma'.
34612         * modules/lgamma-tests: New file.
34613         * tests/test-lgamma.c: New file.
34614
34615         Tests for module 'ldexp'.
34616         * modules/ldexp-tests: New file.
34617         * tests/test-ldexp.c: New file.
34618
34619         Tests for module 'jn'.
34620         * modules/jn-tests: New file.
34621         * tests/test-jn.c: New file.
34622
34623         Tests for module 'j1'.
34624         * modules/j1-tests: New file.
34625         * tests/test-j1.c: New file.
34626
34627         Tests for module 'j0'.
34628         * modules/j0-tests: New file.
34629         * tests/test-j0.c: New file.
34630
34631         Tests for module 'hypot'.
34632         * modules/hypot-tests: New file.
34633         * tests/test-hypot.c: New file.
34634
34635         Tests for module 'fmod'.
34636         * modules/fmod-tests: New file.
34637         * tests/test-fmod.c: New file.
34638
34639         Tests for module 'fabs'.
34640         * modules/fabs-tests: New file.
34641         * tests/test-fabs.c: New file.
34642
34643         Tests for module 'exp'.
34644         * modules/exp-tests: New file.
34645         * tests/test-exp.c: New file.
34646
34647         Tests for module 'erfc'.
34648         * modules/erfc-tests: New file.
34649         * tests/test-erfc.c: New file.
34650
34651         Tests for module 'erf'.
34652         * modules/erf-tests: New file.
34653         * tests/test-erf.c: New file.
34654
34655         Tests for module 'cosh'.
34656         * modules/cosh-tests: New file.
34657         * tests/test-cosh.c: New file.
34658
34659         Tests for module 'cos'.
34660         * modules/cos-tests: New file.
34661         * tests/test-cos.c: New file.
34662
34663         Tests for module 'copysign'.
34664         * modules/copysign-tests: New file.
34665         * tests/test-copysign.c: New file.
34666
34667         Tests for module 'cbrt'.
34668         * modules/cbrt-tests: New file.
34669         * tests/test-cbrt.c: New file.
34670
34671         Tests for module 'atan2'.
34672         * modules/atan2-tests: New file.
34673         * tests/test-atan2.c: New file.
34674
34675         Tests for module 'atan'.
34676         * modules/atan-tests: New file.
34677         * tests/test-atan.c: New file.
34678
34679         Tests for module 'asin'.
34680         * modules/asin-tests: New file.
34681         * tests/test-asin.c: New file.
34682
34683         Tests for module 'acos'.
34684         * modules/acos-tests: New file.
34685         * tests/test-acos.c: New file.
34686
34687 2010-01-24  Bruno Haible  <bruno@clisp.org>
34688
34689         Fix tests for common <math.h> functions.
34690         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
34691         code snippet that references the function pointer, rather than merely
34692         calling the function. Substitute the FUNC_LIBM variable.
34693         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
34694         * modules/acos (configure.ac): Likewise.
34695         * modules/asin (configure.ac): Likewise.
34696         * modules/atan (configure.ac): Likewise.
34697         * modules/atan2 (configure.ac): Likewise.
34698         * modules/cbrt (configure.ac): Likewise.
34699         * modules/copysign (configure.ac): Likewise.
34700         * modules/cos (configure.ac): Likewise.
34701         * modules/cosh (configure.ac): Likewise.
34702         * modules/erf (configure.ac): Likewise.
34703         * modules/erfc (configure.ac): Likewise.
34704         * modules/exp (configure.ac): Likewise.
34705         * modules/fabs (configure.ac): Likewise.
34706         * modules/fmod (configure.ac): Likewise.
34707         * modules/hypot (configure.ac): Likewise.
34708         * modules/j0 (configure.ac): Likewise.
34709         * modules/j1 (configure.ac): Likewise.
34710         * modules/jn (configure.ac): Likewise.
34711         * modules/ldexp (configure.ac): Likewise.
34712         * modules/lgamma (configure.ac): Likewise.
34713         * modules/log (configure.ac): Likewise.
34714         * modules/log10 (configure.ac): Likewise.
34715         * modules/log1p (configure.ac): Likewise.
34716         * modules/logb (configure.ac): Likewise.
34717         * modules/modf (configure.ac): Likewise.
34718         * modules/nextafter (configure.ac): Likewise.
34719         * modules/pow (configure.ac): Likewise.
34720         * modules/remainder (configure.ac): Likewise.
34721         * modules/rint (configure.ac): Likewise.
34722         * modules/sin (configure.ac): Likewise.
34723         * modules/sinh (configure.ac): Likewise.
34724         * modules/tan (configure.ac): Likewise.
34725         * modules/tanh (configure.ac): Likewise.
34726         * modules/y0 (configure.ac): Likewise.
34727         * modules/y1 (configure.ac): Likewise.
34728         * modules/yn (configure.ac): Likewise.
34729
34730 2010-01-24  Bruno Haible  <bruno@clisp.org>
34731
34732         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
34733         * tests/test-acosl.c (x): New variable.
34734         (main): Store argument in x and fetch it from x.
34735         * tests/test-asinl.c (x): New variable.
34736         (main): Store argument in x and fetch it from x.
34737         * tests/test-atanl.c (x): New variable.
34738         (main): Store argument in x and fetch it from x.
34739         * tests/test-cosl.c (x): New variable.
34740         (main): Store argument in x and fetch it from x.
34741         * tests/test-expl.c (x): New variable.
34742         (main): Store argument in x and fetch it from x.
34743         * tests/test-logl.c (x): New variable.
34744         (main): Store argument in x and fetch it from x.
34745         * tests/test-sinl.c (x): New variable.
34746         (main): Store argument in x and fetch it from x.
34747         * tests/test-sqrtl.c (x): New variable.
34748         (main): Store argument in x and fetch it from x.
34749         * tests/test-tanl.c (x): New variable.
34750         (main): Store argument in x and fetch it from x.
34751
34752 2010-01-24  Bruno Haible  <bruno@clisp.org>
34753
34754         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
34755         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
34756         assignments to the initial TESTS_ENVIRONMENT.
34757         * doc/gnulib.texi (Unit test modules): Document it.
34758         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
34759         TESTS_ENVIRONMENT.
34760         * modules/btowc-tests (Makefile.am): Likewise.
34761         * modules/c-stack-tests (Makefile.am): Likewise.
34762         * modules/c-strcase-tests (Makefile.am): Likewise.
34763         * modules/copy-file-tests (Makefile.am): Likewise.
34764         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
34765         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
34766         * modules/mbrtowc-tests (Makefile.am): Likewise.
34767         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34768         * modules/mbscasestr-tests (Makefile.am): Likewise.
34769         * modules/mbschr-tests (Makefile.am): Likewise.
34770         * modules/mbscspn-tests (Makefile.am): Likewise.
34771         * modules/mbsinit-tests (Makefile.am): Likewise.
34772         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34773         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
34774         * modules/mbspbrk-tests (Makefile.am): Likewise.
34775         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34776         * modules/mbsrchr-tests (Makefile.am): Likewise.
34777         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
34778         * modules/mbsspn-tests (Makefile.am): Likewise.
34779         * modules/mbsstr-tests (Makefile.am): Likewise.
34780         * modules/nl_langinfo-tests (Makefile.am): Likewise.
34781         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
34782         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34783         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34784         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34785         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34786         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
34787         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34788         * modules/wcrtomb-tests (Makefile.am): Likewise.
34789         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
34790         * modules/wcsrtombs-tests (Makefile.am): Likewise.
34791         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
34792         assignments from TESTS_ENVIRONMENT.
34793         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
34794         augmentation.
34795         * modules/argp-version-etc-tests (Makefile.am): Likewise.
34796         * modules/atexit-tests (Makefile.am): Likewise.
34797         * modules/binary-io-tests (Makefile.am): Likewise.
34798         * modules/closein-tests (Makefile.am): Likewise.
34799         * modules/dprintf-posix-tests (Makefile.am): Likewise.
34800         * modules/exclude-tests (Makefile.am): Likewise.
34801         * modules/fflush-tests (Makefile.am): Likewise.
34802         * modules/fpending-tests (Makefile.am): Likewise.
34803         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34804         * modules/freadahead-tests (Makefile.am): Likewise.
34805         * modules/freadptr-tests (Makefile.am): Likewise.
34806         * modules/freadseek-tests (Makefile.am): Likewise.
34807         * modules/fseek-tests (Makefile.am): Likewise.
34808         * modules/fseeko-tests (Makefile.am): Likewise.
34809         * modules/ftell-tests (Makefile.am): Likewise.
34810         * modules/ftello-tests (Makefile.am): Likewise.
34811         * modules/idpriv-drop-tests (Makefile.am): Likewise.
34812         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
34813         * modules/lseek-tests (Makefile.am): Likewise.
34814         * modules/parse-duration-tests (Makefile.am): Likewise.
34815         * modules/perror-tests (Makefile.am): Likewise.
34816         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
34817         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
34818         * modules/pipe-tests (Makefile.am): Likewise.
34819         * modules/pread-tests (Makefile.am): Likewise.
34820         * modules/printf-posix-tests (Makefile.am): Likewise.
34821         * modules/select-tests (Makefile.am): Likewise.
34822         * modules/sigpipe-tests (Makefile.am): Likewise.
34823         * modules/tsearch-tests (Makefile.am): Likewise.
34824         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
34825         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
34826         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34827         * modules/uniwidth/width-tests (Makefile.am): Likewise.
34828         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
34829         * modules/version-etc-tests (Makefile.am): Likewise.
34830         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34831         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34832         * modules/xalloc-die-tests (Makefile.am): Likewise.
34833         * modules/xprintf-posix-tests (Makefile.am): Likewise.
34834         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34835         * modules/xstrtol-tests (Makefile.am): Likewise.
34836         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34837         * modules/yesno-tests (Makefile.am): Likewise.
34838         Suggested by Jim Meyering.
34839
34840 2010-01-24  Bruno Haible  <bruno@clisp.org>
34841
34842         More documentation.
34843         * doc/gnulib.texi (Writing modules): New chapter.
34844         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
34845         the new chapter.
34846
34847 2010-01-24  Jim Meyering  <meyering@redhat.com>
34848
34849         maint.mk: do not prepend "./" after filtering
34850         * top/maint.mk (_prepend_srcdir_prefix): New variable
34851         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
34852         "./" when $(srcdir) is ".".
34853
34854         define STREQ(a,b) consistently, removing useless parentheses
34855         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
34856         since the only risk is that "a" or "b" contains an unparenthesized
34857         comma, but if either did that, STREQ would have 3 or more arguments.
34858         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
34859         * lib/fts.c (STREQ): Remove unnecessary parentheses.
34860         * lib/hash-triple.c (STREQ): Likewise.
34861         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
34862         * lib/getugroups.c (STREQ): Likewise.
34863
34864 2010-01-23  Jim Meyering  <meyering@redhat.com>
34865
34866         maint.mk: fix syntax-check in a non-srcdir build directory
34867         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
34868         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
34869
34870 2010-01-22  Jim Meyering  <meyering@redhat.com>
34871
34872         userspec: add unit tests
34873         * tests/test-userspec.c: New file.
34874         * modules/userspec-tests: Likewise.
34875
34876 2010-01-21  Jim Meyering  <meyering@redhat.com>
34877
34878         maint.mk: handle source file names containing "." robustly
34879         * top/maint.mk (_dot_escaped_srcdir): Define.
34880         (VC_LIST): Use it in LHS of sed substitution.
34881
34882 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
34883
34884         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
34885         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
34886         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
34887         from a non-srcdir build.
34888
34889 2010-01-20  Eric Blake  <ebb9@byu.net>
34890
34891         warn-on-use: use instead of link-warning
34892         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
34893         * modules/unistd (Depends-on, Makefile.am): Likewise.
34894         * modules/arpa_inet (Depends-on): Replace link-warning with
34895         warn-on-use.
34896         (Makefile.am): Update rules accordingly.
34897         * modules/ctype (Depends-on, Makefile.am): Likewise.
34898         * modules/dirent (Depends-on, Makefile.am): Likewise.
34899         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
34900         * modules/inttypes (Depends-on, Makefile.am): Likewise.
34901         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34902         * modules/locale (Depends-on, Makefile.am): Likewise.
34903         * modules/math (Depends-on, Makefile.am): Likewise.
34904         * modules/search (Depends-on, Makefile.am): Likewise.
34905         * modules/signal (Depends-on, Makefile.am): Likewise.
34906         * modules/spawn (Depends-on, Makefile.am): Likewise.
34907         * modules/stdlib (Depends-on, Makefile.am): Likewise.
34908         * modules/string (Depends-on, Makefile.am): Likewise.
34909         * modules/strings (Depends-on, Makefile.am): Likewise.
34910         * modules/sys_file (Depends-on, Makefile.am): Likewise.
34911         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
34912         * modules/sys_select (Depends-on, Makefile.am): Likewise.
34913         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
34914         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
34915         * modules/sys_times (Depends-on, Makefile.am): Likewise.
34916         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34917         * modules/wchar (Depends-on, Makefile.am): Likewise.
34918         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
34919         should be poisoned.
34920         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
34921         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
34922         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
34923         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34924         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34925         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34926         * m4/math_h.m4 (gl_MATH_H): Likewise.
34927         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34928         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34929         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34930         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34931         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34932         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34933         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34934         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
34935         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
34936         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34937         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34938         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34939         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34940         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34941         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34942         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34943         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
34944         GL_LINK_WARNING.
34945         * lib/ctype.in.h: Likewise.
34946         * lib/dirent.in.h: Likewise.
34947         * lib/fcntl.in.h: Likewise.
34948         * lib/inttypes.in.h: Likewise.
34949         * lib/langinfo.in.h: Likewise.
34950         * lib/locale.in.h: Likewise.
34951         * lib/math.in.h: Likewise.
34952         * lib/search.in.h: Likewise.
34953         * lib/signal.in.h: Likewise.
34954         * lib/spawn.in.h: Likewise.
34955         * lib/stdio.in.h: Likewise.
34956         * lib/stdlib.in.h: Likewise.
34957         * lib/string.in.h: Likewise.
34958         * lib/strings.in.h: Likewise.
34959         * lib/sys_file.in.h: Likewise.
34960         * lib/sys_ioctl.in.h: Likewise.
34961         * lib/sys_select.in.h: Likewise.
34962         * lib/sys_socket.in.h: Likewise.
34963         * lib/sys_stat.in.h: Likewise.
34964         * lib/sys_times.in.h: Likewise.
34965         * lib/sys_utsname.in.h: Likewise.
34966         * lib/unistd.in.h: Likewise.
34967         * lib/wchar.in.h: Likewise.
34968
34969 2010-01-20  Bruno Haible  <bruno@clisp.org>
34970
34971         Avoid duplicate -lm.
34972         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
34973         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
34974         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
34975         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
34976         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
34977         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
34978         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
34979         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
34980         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
34981         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
34982         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
34983         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
34984         Reported by Paolo Bonzini.
34985
34986 2010-01-19  Bruno Haible  <bruno@clisp.org>
34987
34988         langinfo, nl_langinfo: Relicense under LGPLv2+.
34989         * modules/langinfo (License): Change to LGPLv2+.
34990         * modules/nl_langinfo (License): Likewise.
34991         Patch by David Lutterkort <lutter@redhat.com>.
34992
34993 2010-01-19  Bruno Haible  <bruno@clisp.org>
34994
34995         Avoid compilation error with cc on OSF/1 5.1.
34996         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
34997         statement, not before.
34998         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34999
35000 2010-01-18  Bruno Haible  <bruno@clisp.org>
35001
35002         Avoid a link error due to the __printf__ symbol.
35003         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
35004         and 2.6.x.
35005         (__format__, __printf__): Remove definitions.
35006         * lib/argp-fmtstream.h: Likewise.
35007         * lib/argp.h: Likewise.
35008         * lib/error.h: Likewise.
35009         * lib/vasnprintf.h: Likewise.
35010         * lib/xprintf.h: Likewise.
35011         * lib/xvasprintf.h: Likewise.
35012         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35013
35014 2010-01-18  Bruno Haible  <bruno@clisp.org>
35015
35016         Tests for module 'tanl'.
35017         * modules/tanl-tests: New file.
35018         * tests/test-tanl.c: New file.
35019
35020         Tests for module 'sqrtl'.
35021         * modules/sqrtl-tests: New file.
35022         * tests/test-sqrtl.c: New file.
35023
35024         Tests for module 'sinl'.
35025         * modules/sinl-tests: New file.
35026         * tests/test-sinl.c: New file.
35027
35028         Tests for module 'logl'.
35029         * modules/logl-tests: New file.
35030         * tests/test-logl.c: New file.
35031
35032         Tests for module 'expl'.
35033         * modules/expl-tests: New file.
35034         * tests/test-expl.c: New file.
35035
35036         Tests for module 'cosl'.
35037         * modules/cosl-tests: New file.
35038         * tests/test-cosl.c: New file.
35039
35040         Tests for module 'atanl'.
35041         * modules/atanl-tests: New file.
35042         * tests/test-atanl.c: New file.
35043
35044         Tests for module 'asinl'.
35045         * modules/asinl-tests: New file.
35046         * tests/test-asinl.c: New file.
35047
35048         Tests for module 'acosl'.
35049         * modules/acosl-tests: New file.
35050         * tests/test-acosl.c: New file.
35051
35052         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35053         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35054         tanl): Use the standard gnulib idiom.
35055         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35056         * lib/sinl.c: Likewise.
35057         * lib/tanl.c: Don't include trigl.c.
35058         (kernel_tanl): Make static.
35059         * lib/sincosl.c: Include trigl.h first.
35060         * lib/trigl.c: Likewise.
35061         * m4/acosl.m4: New file.
35062         * m4/asinl.m4: New file.
35063         * m4/atanl.m4: New file.
35064         * m4/cosl.m4: New file.
35065         * m4/expl.m4: New file.
35066         * m4/logl.m4: New file.
35067         * m4/sinl.m4: New file.
35068         * m4/sqrtl.m4: New file.
35069         * m4/tanl.m4: New file.
35070         * m4/mathl.m4: Remove file.
35071         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
35072         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35073         Don't initialize GNULIB_MATHL.
35074         * modules/acosl: New file.
35075         * modules/asinl: New file.
35076         * modules/atanl: New file.
35077         * modules/cosl: New file.
35078         * modules/expl: New file.
35079         * modules/logl: New file.
35080         * modules/sinl: New file.
35081         * modules/sqrtl: New file.
35082         * modules/tanl: New file.
35083         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
35084         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
35085         substitute GNULIB_MATHL.
35086         * modules/mathl: Rewritten.
35087         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
35088         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
35089         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
35090         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
35091         * doc/posix-functions/expl.texi: Mention the 'expl' module.
35092         * doc/posix-functions/logl.texi: Mention the 'logl' module.
35093         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
35094         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
35095         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
35096
35097 2010-01-18  Bruno Haible  <bruno@clisp.org>
35098
35099         sqrt: Make gl_FUNC_SQRT requirable.
35100         * m4/sqrt.m4: New file.
35101         * modules/sqrt (Files): Add it.
35102         (configure.ac): Invoke gl_FUNC_SQRT.
35103
35104 2010-01-18  Bruno Haible  <bruno@clisp.org>
35105
35106         New modules for common <math.h> functions.
35107         * m4/mathfunc.m4: New file.
35108         * modules/acos: New file.
35109         * modules/asin: New file.
35110         * modules/atan: New file.
35111         * modules/atan2: New file.
35112         * modules/cbrt: New file.
35113         * modules/copysign: New file.
35114         * modules/cos: New file.
35115         * modules/cosh: New file.
35116         * modules/erf: New file.
35117         * modules/erfc: New file.
35118         * modules/exp: New file.
35119         * modules/fabs: New file.
35120         * modules/fmod: New file.
35121         * modules/hypot: New file.
35122         * modules/j0: New file.
35123         * modules/j1: New file.
35124         * modules/jn: New file.
35125         * modules/ldexp: New file.
35126         * modules/lgamma: New file.
35127         * modules/log: New file.
35128         * modules/log10: New file.
35129         * modules/log1p: New file.
35130         * modules/logb: New file.
35131         * modules/modf: New file.
35132         * modules/nextafter: New file.
35133         * modules/pow: New file.
35134         * modules/remainder: New file.
35135         * modules/rint: New file.
35136         * modules/sin: New file.
35137         * modules/sinh: New file.
35138         * modules/sqrt: New file.
35139         * modules/tan: New file.
35140         * modules/tanh: New file.
35141         * modules/y0: New file.
35142         * modules/y1: New file.
35143         * modules/yn: New file.
35144         * doc/posix-functions/acos.texi: Mention the 'acos' module.
35145         * doc/posix-functions/asin.texi: Mention the 'asin' module.
35146         * doc/posix-functions/atan.texi: Mention the 'atan' module.
35147         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
35148         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
35149         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
35150         * doc/posix-functions/cos.texi: Mention the 'cos' module.
35151         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
35152         * doc/posix-functions/erf.texi: Mention the 'erf' module.
35153         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
35154         * doc/posix-functions/exp.texi: Mention the 'exp' module.
35155         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
35156         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
35157         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
35158         * doc/posix-functions/j0.texi: Mention the 'j0' module.
35159         * doc/posix-functions/j1.texi: Mention the 'j1' module.
35160         * doc/posix-functions/jn.texi: Mention the 'jn' module.
35161         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
35162         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
35163         * doc/posix-functions/log.texi: Mention the 'log' module.
35164         * doc/posix-functions/log10.texi: Mention the 'log10' module.
35165         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
35166         * doc/posix-functions/logb.texi: Mention the 'logb' module.
35167         * doc/posix-functions/modf.texi: Mention the 'modf' module.
35168         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
35169         * doc/posix-functions/pow.texi: Mention the 'pow' module.
35170         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
35171         * doc/posix-functions/rint.texi: Mention the 'rint' module.
35172         * doc/posix-functions/sin.texi: Mention the 'sin' module.
35173         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
35174         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
35175         * doc/posix-functions/tan.texi: Mention the 'tan' module.
35176         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
35177         * doc/posix-functions/y0.texi: Mention the 'y0' module.
35178         * doc/posix-functions/y1.texi: Mention the 'y1' module.
35179         * doc/posix-functions/yn.texi: Mention the 'yn' module.
35180
35181 2010-01-18  Jim Meyering  <meyering@redhat.com>
35182
35183         ignore-value: relax license to LGPLv2+
35184         * modules/ignore-value (License): Relax to LGPLv2+.
35185
35186         getdate: don't leak when TZ contains two or more '"'s
35187         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
35188         double quote in TZ after the first one.
35189
35190         readtokens: do not leak internal token_lengths buffer
35191         * lib/readtokens.c (readtokens): Free the local, lengths,
35192         when the supplied "token_lengths" parameter is NULL.
35193
35194 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35195
35196         Fix a couple of missing LIBTHREAD link failures on AIX.
35197         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
35198         $(LIBTHREAD).
35199         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
35200
35201         Link test-poll against INET_PTON_LIB.
35202         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
35203         for inet_pton on Solaris 10.
35204
35205 2010-01-17  Bruno Haible  <bruno@clisp.org>
35206
35207         unistdio/*-sprintf: Fix typo in module description.
35208         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
35209         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
35210         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
35211         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
35212         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
35213         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
35214         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
35215         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35216
35217 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35218
35219         gnulib-tool: fix filelist for AIX, HP-UX ksh.
35220         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
35221         variables in shell case patterns, for AIX and HP-UX ksh.
35222
35223         Split large sed scripts, for HP-UX sed.
35224         * modules/stdio: Split sed scripts around 50 sed commands,
35225         to avoid HP-UX limit of 99 commands, in the near future.
35226         * modules/string: Likewise.
35227         * modules/unistd: Likewise.
35228
35229         gnulib-tool: avoid writing in the current directory.
35230         * gnulib-tool (func_emit_lib_Makefile_am)
35231         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
35232         not in the current directory, so concurrent gnulib-tool
35233         instances do not interfere.
35234
35235 2010-01-16  Jim Meyering  <meyering@redhat.com>
35236
35237         doc: update users.txt
35238         * users.txt: Add grep.
35239         (diffutils, gzip): Update URLs.
35240
35241 2010-01-12  Bruno Haible  <bruno@clisp.org>
35242
35243         posix_spawn: Avoid test failure on Cygwin.
35244         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
35245         characters.
35246         Reported by Simon Josefsson.
35247
35248 2010-01-12  Bruno Haible  <bruno@clisp.org>
35249
35250         * tests/test-cond.c (main): When skipping the test, show the reason.
35251
35252 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35253
35254         * lib/striconv.c (str_cd_iconv): Avoid if before free.
35255
35256 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35257
35258         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
35259         VC_LIST_ALWAYS_EXCLUDE_REGEX.
35260
35261 2010-01-12  Eric Blake  <ebb9@byu.net>
35262
35263         build: guarantee AS_VAR_IF
35264         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
35265         (gl_AS_VAR_IF): Move...
35266         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
35267         Reported by Simon Josefsson.
35268
35269 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35270
35271         * lib/stdio.in.h: Fix typo.
35272
35273 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35274
35275         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
35276         libgpg-error.
35277
35278 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35279
35280         * tests/test-xalloc-die.sh: Use $EXEEXT.
35281
35282 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35283             Bruno Haible  <bruno@clisp.org>
35284
35285         getlogin, getlogin_r: Avoid test failure.
35286         * tests/test-getlogin.c: Include <stdio.h>.
35287         (main): Skip the test when the function fails because stdin is not a
35288         tty.
35289         * tests/test-getlogin_r.c: Include <stdio.h>.
35290         (main): Skip the test when the function fails because stdin is not a
35291         tty.
35292
35293 2010-01-11  Eric Blake  <ebb9@byu.net>
35294
35295         tests: avoid more large file warnings
35296         * tests/test-fflush.c: Avoid warning about ftell use.
35297         * tests/test-fseek.c: Avoid warning about fseek use.
35298
35299 2010-01-10  Bruno Haible  <bruno@clisp.org>
35300
35301         nproc: Work better on Linux when /proc and /sys are not mounted.
35302         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
35303         as lower bound when, on glibc/Linux systems,
35304         sysconf (_SC_NPROCESSORS_CONF) returns 1.
35305         Suggested by Pádraig Brady <P@draigbrady.com>.
35306         Reported by Dmitry V. Levin <ldv@altlinux.org>.
35307
35308         nproc: Refactor.
35309         * lib/nproc.c (num_processors_via_affinity_mask): New function,
35310         extracted from num_processors.
35311         (num_processors): Call it.
35312
35313 2010-01-11  Jim Meyering  <meyering@redhat.com>
35314
35315         utimecmp: avoid new warning from upcoming gcc-4.5.0
35316         * lib/utimecmp.c (BILLION): Define using #define rather than an
35317         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
35318
35319 2010-01-11  Eric Blake  <ebb9@byu.net>
35320
35321         math: add portability warnings for classification macros
35322         * modules/math (Depends-on): Add warn-on-use.
35323         (Makefile.am): Provide new substitutions.
35324         * m4/math_h.m4 (gl_MATH_H): Require inline.
35325         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
35326         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
35327         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
35328         implement warnings.
35329
35330         unistd: warn on use of environ without module
35331         * modules/unistd (Depends-on): Add warn-on-use.
35332         (Makefile.am): Provide new substitutions.
35333         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
35334         * lib/unistd.in.h (environ): Wrap with a warning helper function.
35335
35336         stdio: warn on suspicious uses
35337         * modules/stdio (Depends-on): Add warn-on-use.
35338         (Makefile.am): Provide new substitutions.
35339         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
35340         fseeko.
35341         * lib/stdio.in.h (gets): Always warn on use.
35342         (fseek, ftell): Adjust when warnings are issued, and honor
35343         _GL_NO_LARGE_FILES as a way to silence the warning.
35344         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
35345         any warning about large file offsets.
35346         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
35347         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
35348         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
35349         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
35350         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
35351         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
35352         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
35353         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
35354
35355         warn-on-use: new module
35356         * modules/warn-on-use: New file.
35357         * build-aux/warn-on-use.h: Likewise.
35358         * m4/warn-on-use.m4: Likewise.
35359         * MODULES.html.sh (Support for building): Mention it.
35360
35361 2010-01-10  Bruno Haible  <bruno@clisp.org>
35362
35363         Tests for module 'unistr/u32-strdup'.
35364         * modules/unistr/u32-strdup-tests: New file.
35365         * tests/unistr/test-u32-strdup.c: New file.
35366
35367         Tests for module 'unistr/u16-strdup'.
35368         * modules/unistr/u16-strdup-tests: New file.
35369         * tests/unistr/test-u16-strdup.c: New file.
35370
35371         Tests for module 'unistr/u8-strdup'.
35372         * modules/unistr/u8-strdup-tests: New file.
35373         * tests/unistr/test-u8-strdup.c: New file.
35374         * tests/unistr/test-strdup.h: New file.
35375
35376         Tests for module 'unistr/u32-strncmp'.
35377         * modules/unistr/u32-strncmp-tests: New file.
35378         * tests/unistr/test-u32-strncmp.c: New file.
35379
35380         Tests for module 'unistr/u16-strncmp'.
35381         * modules/unistr/u16-strncmp-tests: New file.
35382         * tests/unistr/test-u16-strncmp.c: New file.
35383
35384         Tests for module 'unistr/u8-strncmp'.
35385         * modules/unistr/u8-strncmp-tests: New file.
35386         * tests/unistr/test-u8-strncmp.c: New file.
35387         * tests/unistr/test-strncmp.h: New file.
35388
35389         Tests for module 'unistr/u32-strcoll'.
35390         * modules/unistr/u32-strcoll-tests: New file.
35391         * tests/unistr/test-u32-strcoll.c: New file.
35392
35393         Tests for module 'unistr/u16-strcoll'.
35394         * modules/unistr/u16-strcoll-tests: New file.
35395         * tests/unistr/test-u16-strcoll.c: New file.
35396
35397         Tests for module 'unistr/u8-strcoll'.
35398         * modules/unistr/u8-strcoll-tests: New file.
35399         * tests/unistr/test-u8-strcoll.c: New file.
35400
35401         Tests for module 'unistr/u32-strcmp'.
35402         * modules/unistr/u32-strcmp-tests: New file.
35403         * tests/unistr/test-u32-strcmp.c: New file.
35404         * tests/unistr/test-u32-strcmp.h: New file.
35405
35406         Tests for module 'unistr/u16-strcmp'.
35407         * modules/unistr/u16-strcmp-tests: New file.
35408         * tests/unistr/test-u16-strcmp.c: New file.
35409         * tests/unistr/test-u16-strcmp.h: New file.
35410
35411         Tests for module 'unistr/u8-strcmp'.
35412         * modules/unistr/u8-strcmp-tests: New file.
35413         * tests/unistr/test-u8-strcmp.c: New file.
35414         * tests/unistr/test-u8-strcmp.h: New file.
35415         * tests/unistr/test-strcmp.h: New file.
35416
35417         Tests for module 'unistr/u32-strncat'.
35418         * modules/unistr/u32-strncat-tests: New file.
35419         * tests/unistr/test-u32-strncat.c: New file.
35420
35421         Tests for module 'unistr/u16-strncat'.
35422         * modules/unistr/u16-strncat-tests: New file.
35423         * tests/unistr/test-u16-strncat.c: New file.
35424
35425         Tests for module 'unistr/u8-strncat'.
35426         * modules/unistr/u8-strncat-tests: New file.
35427         * tests/unistr/test-u8-strncat.c: New file.
35428         * tests/unistr/test-strncat.h: New file.
35429
35430         Tests for module 'unistr/u32-strcat'.
35431         * modules/unistr/u32-strcat-tests: New file.
35432         * tests/unistr/test-u32-strcat.c: New file.
35433
35434         Tests for module 'unistr/u16-strcat'.
35435         * modules/unistr/u16-strcat-tests: New file.
35436         * tests/unistr/test-u16-strcat.c: New file.
35437
35438         Tests for module 'unistr/u8-strcat'.
35439         * modules/unistr/u8-strcat-tests: New file.
35440         * tests/unistr/test-u8-strcat.c: New file.
35441         * tests/unistr/test-strcat.h: New file.
35442
35443         Tests for module 'unistr/u32-stpncpy'.
35444         * modules/unistr/u32-stpncpy-tests: New file.
35445         * tests/unistr/test-u32-stpncpy.c: New file.
35446
35447         Tests for module 'unistr/u16-stpncpy'.
35448         * modules/unistr/u16-stpncpy-tests: New file.
35449         * tests/unistr/test-u16-stpncpy.c: New file.
35450
35451         Tests for module 'unistr/u8-stpncpy'.
35452         * modules/unistr/u8-stpncpy-tests: New file.
35453         * tests/unistr/test-u8-stpncpy.c: New file.
35454         * tests/unistr/test-stpncpy.h: New file.
35455
35456         Tests for module 'unistr/u32-strncpy'.
35457         * modules/unistr/u32-strncpy-tests: New file.
35458         * tests/unistr/test-u32-strncpy.c: New file.
35459
35460         Tests for module 'unistr/u16-strncpy'.
35461         * modules/unistr/u16-strncpy-tests: New file.
35462         * tests/unistr/test-u16-strncpy.c: New file.
35463
35464         Tests for module 'unistr/u8-strncpy'.
35465         * modules/unistr/u8-strncpy-tests: New file.
35466         * tests/unistr/test-u8-strncpy.c: New file.
35467         * tests/unistr/test-strncpy.h: New file.
35468
35469         Tests for module 'unistr/u32-stpcpy'.
35470         * modules/unistr/u32-stpcpy-tests: New file.
35471         * tests/unistr/test-u32-stpcpy.c: New file.
35472
35473         Tests for module 'unistr/u16-stpcpy'.
35474         * modules/unistr/u16-stpcpy-tests: New file.
35475         * tests/unistr/test-u16-stpcpy.c: New file.
35476
35477         Tests for module 'unistr/u8-stpcpy'.
35478         * modules/unistr/u8-stpcpy-tests: New file.
35479         * tests/unistr/test-u8-stpcpy.c: New file.
35480         * tests/unistr/test-stpcpy.h: New file.
35481
35482         Tests for module 'unistr/u32-strcpy'.
35483         * modules/unistr/u32-strcpy-tests: New file.
35484         * tests/unistr/test-u32-strcpy.c: New file.
35485
35486         Tests for module 'unistr/u16-strcpy'.
35487         * modules/unistr/u16-strcpy-tests: New file.
35488         * tests/unistr/test-u16-strcpy.c: New file.
35489
35490         Tests for module 'unistr/u8-strcpy'.
35491         * modules/unistr/u8-strcpy-tests: New file.
35492         * tests/unistr/test-u8-strcpy.c: New file.
35493         * tests/unistr/test-strcpy.h: New file.
35494
35495         Tests for module 'unistr/u32-strnlen'.
35496         * modules/unistr/u32-strnlen-tests: New file.
35497         * tests/unistr/test-u32-strnlen.c: New file.
35498
35499         Tests for module 'unistr/u16-strnlen'.
35500         * modules/unistr/u16-strnlen-tests: New file.
35501         * tests/unistr/test-u16-strnlen.c: New file.
35502
35503         Tests for module 'unistr/u8-strnlen'.
35504         * modules/unistr/u8-strnlen-tests: New file.
35505         * tests/unistr/test-u8-strnlen.c: New file.
35506         * tests/unistr/test-strnlen.h: New file.
35507
35508         Tests for module 'unistr/u32-strlen'.
35509         * modules/unistr/u32-strlen-tests: New file.
35510         * tests/unistr/test-u32-strlen.c: New file.
35511
35512         Tests for module 'unistr/u16-strlen'.
35513         * modules/unistr/u16-strlen-tests: New file.
35514         * tests/unistr/test-u16-strlen.c: New file.
35515
35516         Tests for module 'unistr/u8-strlen'.
35517         * modules/unistr/u8-strlen-tests: New file.
35518         * tests/unistr/test-u8-strlen.c: New file.
35519
35520         Tests for module 'unistr/u32-prev'.
35521         * modules/unistr/u32-prev-tests: New file.
35522         * tests/unistr/test-u32-prev.c: New file.
35523
35524         Tests for module 'unistr/u16-prev'.
35525         * modules/unistr/u16-prev-tests: New file.
35526         * tests/unistr/test-u16-prev.c: New file.
35527
35528         Tests for module 'unistr/u8-prev'.
35529         * modules/unistr/u8-prev-tests: New file.
35530         * tests/unistr/test-u8-prev.c: New file.
35531
35532         Tests for module 'unistr/u32-next'.
35533         * modules/unistr/u32-next-tests: New file.
35534         * tests/unistr/test-u32-next.c: New file.
35535
35536         Tests for module 'unistr/u16-next'.
35537         * modules/unistr/u16-next-tests: New file.
35538         * tests/unistr/test-u16-next.c: New file.
35539
35540         Tests for module 'unistr/u8-next'.
35541         * modules/unistr/u8-next-tests: New file.
35542         * tests/unistr/test-u8-next.c: New file.
35543
35544         Tests for module 'unistr/u32-strmbtouc'.
35545         * modules/unistr/u32-strmbtouc-tests: New file.
35546         * tests/unistr/test-u32-strmbtouc.c: New file.
35547
35548         Tests for module 'unistr/u16-strmbtouc'.
35549         * modules/unistr/u16-strmbtouc-tests: New file.
35550         * tests/unistr/test-u16-strmbtouc.c: New file.
35551
35552         Tests for module 'unistr/u8-strmbtouc'.
35553         * modules/unistr/u8-strmbtouc-tests: New file.
35554         * tests/unistr/test-u8-strmbtouc.c: New file.
35555
35556         Tests for module 'unistr/u32-strmblen'.
35557         * modules/unistr/u32-strmblen-tests: New file.
35558         * tests/unistr/test-u32-strmblen.c: New file.
35559
35560         Tests for module 'unistr/u16-strmblen'.
35561         * modules/unistr/u16-strmblen-tests: New file.
35562         * tests/unistr/test-u16-strmblen.c: New file.
35563
35564         Tests for module 'unistr/u8-strmblen'.
35565         * modules/unistr/u8-strmblen-tests: New file.
35566         * tests/unistr/test-u8-strmblen.c: New file.
35567
35568         Tests for module 'unistr/u32-cpy-alloc'.
35569         * modules/unistr/u32-cpy-alloc-tests: New file.
35570         * tests/unistr/test-u32-cpy-alloc.c: New file.
35571
35572         Tests for module 'unistr/u16-cpy-alloc'.
35573         * modules/unistr/u16-cpy-alloc-tests: New file.
35574         * tests/unistr/test-u16-cpy-alloc.c: New file.
35575
35576         Tests for module 'unistr/u8-cpy-alloc'.
35577         * modules/unistr/u8-cpy-alloc-tests: New file.
35578         * tests/unistr/test-u8-cpy-alloc.c: New file.
35579         * tests/unistr/test-cpy-alloc.h: New file.
35580
35581         Tests for module 'unistr/u32-mbsnlen'.
35582         * modules/unistr/u32-mbsnlen-tests: New file.
35583         * tests/unistr/test-u32-mbsnlen.c: New file.
35584
35585         Tests for module 'unistr/u16-mbsnlen'.
35586         * modules/unistr/u16-mbsnlen-tests: New file.
35587         * tests/unistr/test-u16-mbsnlen.c: New file.
35588
35589         Tests for module 'unistr/u8-mbsnlen'.
35590         * modules/unistr/u8-mbsnlen-tests: New file.
35591         * tests/unistr/test-u8-mbsnlen.c: New file.
35592
35593         Tests for module 'unistr/u32-chr'.
35594         * modules/unistr/u32-chr-tests: New file.
35595         * tests/unistr/test-u32-chr.c: New file.
35596
35597         Tests for module 'unistr/u16-chr'.
35598         * modules/unistr/u16-chr-tests: New file.
35599         * tests/unistr/test-u16-chr.c: New file.
35600
35601         Tests for module 'unistr/u8-chr'.
35602         * modules/unistr/u8-chr-tests: New file.
35603         * tests/unistr/test-u8-chr.c: New file.
35604         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
35605
35606         Tests for module 'unistr/u32-cmp2'.
35607         * modules/unistr/u32-cmp2-tests: New file.
35608         * tests/unistr/test-u32-cmp2.c: New file.
35609
35610         Tests for module 'unistr/u16-cmp2'.
35611         * modules/unistr/u16-cmp2-tests: New file.
35612         * tests/unistr/test-u16-cmp2.c: New file.
35613
35614         Tests for module 'unistr/u8-cmp2'.
35615         * modules/unistr/u8-cmp2-tests: New file.
35616         * tests/unistr/test-u8-cmp2.c: New file.
35617         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
35618
35619         Tests for module 'unistr/u32-cmp'.
35620         * modules/unistr/u32-cmp-tests: New file.
35621         * tests/unistr/test-u32-cmp.c: New file.
35622
35623         Tests for module 'unistr/u16-cmp'.
35624         * modules/unistr/u16-cmp-tests: New file.
35625         * tests/unistr/test-u16-cmp.c: New file.
35626
35627         Tests for module 'unistr/u8-cmp'.
35628         * modules/unistr/u8-cmp-tests: New file.
35629         * tests/unistr/test-u8-cmp.c: New file.
35630         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
35631
35632         Tests for module 'unistr/u32-set'.
35633         * modules/unistr/u32-set-tests: New file.
35634         * tests/unistr/test-u32-set.c: New file.
35635
35636         Tests for module 'unistr/u16-set'.
35637         * modules/unistr/u16-set-tests: New file.
35638         * tests/unistr/test-u16-set.c: New file.
35639
35640         Tests for module 'unistr/u8-set'.
35641         * modules/unistr/u8-set-tests: New file.
35642         * tests/unistr/test-u8-set.c: New file.
35643         * tests/unistr/test-set.h: New file.
35644
35645         Tests for module 'unistr/u32-move'.
35646         * modules/unistr/u32-move-tests: New file.
35647         * tests/unistr/test-u32-move.c: New file.
35648
35649         Tests for module 'unistr/u16-move'.
35650         * modules/unistr/u16-move-tests: New file.
35651         * tests/unistr/test-u16-move.c: New file.
35652
35653         Tests for module 'unistr/u8-move'.
35654         * modules/unistr/u8-move-tests: New file.
35655         * tests/unistr/test-u8-move.c: New file.
35656         * tests/unistr/test-move.h: New file.
35657
35658         Tests for module 'unistr/u32-cpy'.
35659         * modules/unistr/u32-cpy-tests: New file.
35660         * tests/unistr/test-u32-cpy.c: New file.
35661
35662         Tests for module 'unistr/u16-cpy'.
35663         * modules/unistr/u16-cpy-tests: New file.
35664         * tests/unistr/test-u16-cpy.c: New file.
35665
35666         Tests for module 'unistr/u8-cpy'.
35667         * modules/unistr/u8-cpy-tests: New file.
35668         * tests/unistr/test-u8-cpy.c: New file.
35669         * tests/unistr/test-cpy.h: New file.
35670
35671 2010-01-09  Bruno Haible  <bruno@clisp.org>
35672
35673         Tests for module 'unistr/u32-uctomb'.
35674         * modules/unistr/u32-uctomb-tests: New file.
35675         * tests/unistr/test-u32-uctomb.c: New file.
35676
35677         Tests for module 'unistr/u16-uctomb'.
35678         * modules/unistr/u16-uctomb-tests: New file.
35679         * tests/unistr/test-u16-uctomb.c: New file.
35680
35681         Tests for module 'unistr/u8-uctomb'.
35682         * modules/unistr/u8-uctomb-tests: New file.
35683         * tests/unistr/test-u8-uctomb.c: New file.
35684
35685         Tests for module 'unistr/u32-mbtoucr'.
35686         * modules/unistr/u32-mbtoucr-tests: New file.
35687         * tests/unistr/test-u32-mbtoucr.c: New file.
35688
35689         Tests for module 'unistr/u16-mbtoucr'.
35690         * modules/unistr/u16-mbtoucr-tests: New file.
35691         * tests/unistr/test-u16-mbtoucr.c: New file.
35692
35693         Tests for module 'unistr/u8-mbtoucr'.
35694         * modules/unistr/u8-mbtoucr-tests: New file.
35695         * tests/unistr/test-u8-mbtoucr.c: New file.
35696
35697         Tests for module 'unistr/u32-mbtouc'.
35698         * modules/unistr/u32-mbtouc-tests: New file.
35699         * tests/unistr/test-u32-mbtouc.c: New file.
35700
35701         Tests for module 'unistr/u16-mbtouc'.
35702         * modules/unistr/u16-mbtouc-tests: New file.
35703         * tests/unistr/test-u16-mbtouc.c: New file.
35704
35705         Tests for module 'unistr/u8-mbtouc'.
35706         * modules/unistr/u8-mbtouc-tests: New file.
35707         * tests/unistr/test-u8-mbtouc.c: New file.
35708
35709         Tests for module 'unistr/u32-mbtouc-unsafe'.
35710         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
35711         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
35712         * tests/unistr/test-u32-mbtouc.h: New file.
35713
35714         Tests for module 'unistr/u16-mbtouc-unsafe'.
35715         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
35716         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
35717         * tests/unistr/test-u16-mbtouc.h: New file.
35718
35719         Tests for module 'unistr/u8-mbtouc-unsafe'.
35720         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
35721         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
35722         * tests/unistr/test-u8-mbtouc.h: New file.
35723
35724         Tests for module 'unistr/u32-mblen'.
35725         * modules/unistr/u32-mblen-tests: New file.
35726         * tests/unistr/test-u32-mblen.c: New file.
35727
35728         Tests for module 'unistr/u16-mblen'.
35729         * modules/unistr/u16-mblen-tests: New file.
35730         * tests/unistr/test-u16-mblen.c: New file.
35731
35732         Tests for module 'unistr/u8-mblen'.
35733         * modules/unistr/u8-mblen-tests: New file.
35734         * tests/unistr/test-u8-mblen.c: New file.
35735
35736         Tests for module 'unistr/u32-to-u16'.
35737         * modules/unistr/u32-to-u16-tests: New file.
35738         * tests/unistr/test-u32-to-u16.c: New file.
35739
35740         Tests for module 'unistr/u32-to-u8'.
35741         * modules/unistr/u32-to-u8-tests: New file.
35742         * tests/unistr/test-u32-to-u8.c: New file.
35743
35744         Tests for module 'unistr/u16-to-u32'.
35745         * modules/unistr/u16-to-u32-tests: New file.
35746         * tests/unistr/test-u16-to-u32.c: New file.
35747
35748         Tests for module 'unistr/u16-to-u8'.
35749         * modules/unistr/u16-to-u8-tests: New file.
35750         * tests/unistr/test-u16-to-u8.c: New file.
35751
35752         Tests for module 'unistr/u8-to-u32'.
35753         * modules/unistr/u8-to-u32-tests: New file.
35754         * tests/unistr/test-u8-to-u32.c: New file.
35755
35756         Tests for module 'unistr/u8-to-u16'.
35757         * modules/unistr/u8-to-u16-tests: New file.
35758         * tests/unistr/test-u8-to-u16.c: New file.
35759
35760         Tests for module 'unistr/u32-check'.
35761         * modules/unistr/u32-check-tests: New file.
35762         * tests/unistr/test-u32-check.c: New file.
35763
35764         Tests for module 'unistr/u16-check'.
35765         * modules/unistr/u16-check-tests: New file.
35766         * tests/unistr/test-u16-check.c: New file.
35767
35768         Tests for module 'unistr/u8-check'.
35769         * modules/unistr/u8-check-tests: New file.
35770         * tests/unistr/test-u8-check.c: New file.
35771
35772         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
35773         (category_equals): New function.
35774         (main): Add more tests.
35775         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
35776
35777         * tests/unictype/test-bidi_byname.c (main): Add more tests.
35778
35779 2010-01-10  Bruno Haible  <bruno@clisp.org>
35780
35781         unistr/u*-strcoll: Try harder to distinguish different strings.
35782         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
35783         compare s1 and s2 to see if they are different.
35784
35785 2010-01-10  Bruno Haible  <bruno@clisp.org>
35786
35787         unistr/u*-stpncpy: Fix the return value.
35788         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
35789         description of the return value consistent with stpncpy in glibc.
35790         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
35791         written non-NUL unit.
35792
35793 2010-01-10  Bruno Haible  <bruno@clisp.org>
35794
35795         unistr/u*-next: Add missing dependencies.
35796         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
35797         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
35798         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
35799
35800 2010-01-10  Bruno Haible  <bruno@clisp.org>
35801
35802         unistr/u8-mbsnlen: Fix return value for incomplete character.
35803         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
35804         u8_mblen.
35805         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
35806         Remove unistr/u8-mblen.
35807         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
35808         u16_mblen.
35809         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
35810         Remove unistr/u16-mblen.
35811
35812 2010-01-10  Bruno Haible  <bruno@clisp.org>
35813
35814         wchar: Fix compilation error when <wchar.h> is used from coreutils.
35815         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
35816         Reported by Brian Gough <bjg@gnu.org> and
35817         Chris Clayton <chris2553@googlemail.com> via
35818         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
35819
35820 2010-01-09  Bruno Haible  <bruno@clisp.org>
35821
35822         unistr/u16-to-u32: Reject invalid input.
35823         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
35824         u16_mbtouc.
35825         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
35826         Remove unistr/u16-mbtouc.
35827
35828         unistr/u16-to-u8: Reject invalid input.
35829         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
35830         u16_mbtouc.
35831         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
35832         Remove unistr/u16-mbtouc.
35833
35834         unistr/u8-to-u32: Reject invalid input.
35835         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
35836         u8_mbtouc.
35837         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
35838         Remove unistr/u8-mbtouc.
35839
35840         unistr/u8-to-u16: Reject invalid input.
35841         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
35842         u8_mbtouc.
35843         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
35844         Remove unistr/u8-mbtouc.
35845
35846 2010-01-09  Bruno Haible  <bruno@clisp.org>
35847
35848         Tests for module 'getlogin'.
35849         * modules/getlogin-tests: New file.
35850         * tests/test-getlogin.c: New file.
35851
35852         New module 'getlogin'.
35853         * lib/unistd.in.h (getlogin): New declaration.
35854         * lib/getlogin.c: New file.
35855         * m4/getlogin.m4: New file.
35856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
35857         HAVE_GETLOGIN.
35858         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
35859         HAVE_GETLOGIN.
35860         * modules/getlogin: New file.
35861         * doc/posix-functions/getlogin.texi: Mention the new module.
35862         Reported by John W. Eaton <jwe@gnu.org>.
35863
35864 2010-01-09  Bruno Haible  <bruno@clisp.org>
35865
35866         getlogin_r: Support for native Windows.
35867         * lib/getlogin_r.c: Include <windows.h>
35868         (getlogin_r): Implement for native Windows.
35869         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
35870         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
35871         via John W. Eaton <jwe@gnu.org>.
35872
35873 2010-01-09  Bruno Haible  <bruno@clisp.org>
35874
35875         getlogin_r: Small fixes.
35876         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
35877         succeeds.
35878         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
35879         before testing whether getlogin_r is declared. No need to set
35880         HAVE_DECL_GETLOGIN_R to 1.
35881         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
35882
35883 2010-01-09  Bruno Haible  <bruno@clisp.org>
35884
35885         * lib/unistd.in.h (getlogin_r): Add comment.
35886
35887 2010-01-09  Bruno Haible  <bruno@clisp.org>
35888
35889         Tests for module 'getlogin_r'.
35890         * modules/getlogin_r-tests: New file.
35891         * tests/test-getlogin_r.c: New file.
35892
35893 2010-01-09  Jim Meyering  <meyering@redhat.com>
35894
35895         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
35896         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
35897         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
35898
35899 2010-01-08  Simon Josefsson  <simon@josefsson.org>
35900
35901         * lib/dup2.c (rpl_dup2): Improve comment.
35902
35903 2010-01-08  Eric Blake  <ebb9@byu.net>
35904
35905         maint.mk: allow packages to add makefile @@ exceptions
35906         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
35907         (sc_makefile_check): Rename...
35908         (sc_makefile_at_at_check): ...to this, and use hook.
35909
35910         dup2: work around mingw bug
35911         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
35912         Reported by Simon Josefsson.
35913
35914 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
35915
35916         glob: Fix C++ compilation.
35917         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
35918         C++.
35919
35920 2010-01-07  Bruno Haible  <bruno@clisp.org>
35921
35922         Fix indentation of wctype.in.h, broken since 2007-01-06.
35923         * lib/wctype.in.h: Fix indentation of preprocessor directives.
35924
35925 2010-01-07  Bruno Haible  <bruno@clisp.org>
35926
35927         mbslen: Avoid collision with system function.
35928         * lib/string.in.h [MirBSD]: Include <wchar.h>.
35929         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
35930         * m4/mbslen.m4: New file.
35931         * modules/mbslen (Files): Add it.
35932         (configure.ac): Invoke gl_MBSLEN.
35933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
35934         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
35935         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
35936         via Ian Beckwith <ianb@erislabs.net>.
35937
35938 2010-01-07  Bruno Haible  <bruno@clisp.org>
35939
35940         dirent: Document the last fix.
35941         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
35942
35943 2010-01-07  Bruno Haible  <bruno@clisp.org>
35944
35945         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
35946         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
35947         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
35948         va_list are defined.
35949         * doc/posix-headers/stdio.texi: Document the bug of missing types.
35950         Reported by Eric Blake.
35951
35952 2010-01-07  Bruno Haible  <bruno@clisp.org>
35953
35954         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
35955         * modules/xlist (Depends-on): Add 'list',
35956         * modules/xoset (Depends-on): Add 'oset'.
35957         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35958
35959 2010-01-07  Bruno Haible  <bruno@clisp.org>
35960
35961         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
35962         * doc/posix-functions/strncasecmp.texi: Likewise.
35963
35964 2010-01-07  Bruno Haible  <bruno@clisp.org>
35965
35966         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
35967
35968 2010-01-07  John W. Eaton  <jwe@octave.org>
35969
35970         wctype: allow C++ use
35971         * lib/wctype.in.h: Add extern "C" block for C++.
35972
35973 2010-01-06  Eric Blake  <ebb9@byu.net>
35974
35975         maint.mk: detect incorrect GFDL usage
35976         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
35977
35978 2010-01-06  Jim Meyering  <meyering@redhat.com>
35979         and Eric Blake  <ebb9@byu.net>
35980
35981         maint.mk: ignore multi-line copyright in NEWS
35982         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
35983
35984 2010-01-06  Eric Blake  <ebb9@byu.net>
35985
35986         select: add missing dependency
35987         * modules/select-tests (Depends-on): Move sockets dependency...
35988         * modules/select (Depends-on): ...here.
35989         Reported by Ian Beckwith.
35990
35991         doc: regenerate INSTALL
35992         * doc/INSTALL: Reflect recent autoconf update.
35993         * doc/INSTALL.ISO: Likewise.
35994         * doc/INSTALL.UTF-8: Likewise.
35995
35996         pread: fix compilation on glibc
35997         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
35998         Reported by Ralf Wildenhues.
35999
36000         dirent: fix test failure
36001         * lib/dirent.in.h (includes): Guarantee ino_t.
36002         Reported by Ralf Wildenhues.
36003
36004 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
36005
36006         linkat, renameat: avoid bad free
36007         * lib/at-func2.c (at_func2): Fix typo.
36008         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36009
36010 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36011
36012         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36013         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36014         to avoid failure of symlink test later.
36015
36016 2010-01-06  Eric Blake  <ebb9@byu.net>
36017
36018         stdio, unistd: guarantee ssize_t
36019         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36020         2008 are exposed when needed.
36021         * lib/stdio.in.h (includes): Likewise.
36022         Reported by Ralf Wildenhues.
36023
36024 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36025
36026         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36027         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36028         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36029
36030 2010-01-06  Jim Meyering  <meyering@redhat.com>
36031
36032         readtokens: this module *does* require xalloc.h
36033         It uses only functions that were omitted by the old syntax-check rule.
36034         * lib/readtokens.c: Include "xalloc.h" once again.
36035         * modules/readtokens (Depends-on): Add xalloc.
36036         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36037
36038 2010-01-05  Eric Blake  <ebb9@byu.net>
36039
36040         maint: support 'make announcement' from a VPATH build
36041         * top/maint.mk (announcement): Look for correct NEWS file.
36042
36043 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36044
36045         utimens (fdutimens): ignore a negative FD, per contract
36046         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36047         when we have a valid file descriptor.  Otherwise, using a brand
36048         new glibc (with just-patched futimens that now fails with EBADF)
36049         would cause this function to fail with ENOSYS.
36050         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36051         See also http://bugzilla.redhat.com/552320.
36052
36053 2010-01-05  Eric Blake  <ebb9@byu.net>
36054
36055         strcase: document what it provides
36056         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36057         gnulib module.
36058         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36059         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36060
36061 2010-01-05  Jim Meyering  <meyering@redhat.com>
36062
36063         maint: remove useless inclusions of "xalloc.h"
36064         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
36065         * lib/readtokens.c: Likewise.
36066         * lib/same.c: Likewise.
36067         * modules/getloadavg (Depends-on): Remove xalloc.
36068         * modules/readtokens: Likewise.
36069         * modules/same: Likewise.
36070
36071         maint.mk: include 4 more function names in alloca.h-checking regexp
36072         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
36073         regexp.  Before, we would give a false-positive (saying alloca.h
36074         is included unnecessarily) when the only uses involved omitted symbols.
36075
36076         xalloc.h: use consistent formatting
36077         * lib/xalloc.h: Move declarations to start in the first column.
36078
36079 2010-01-05  Eric Blake  <ebb9@byu.net>
36080
36081         mkdir: avoid xalloc
36082         * lib/mkdir.c (includes): Drop unused header.
36083         Reported by John W. Eaton.
36084
36085 2010-01-04  Jim Meyering  <meyering@redhat.com>
36086
36087         nl_langinfo: avoid configure-time syntax error
36088         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
36089         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
36090         the empty string.  Don't let that provoke a shell syntax error.
36091
36092         regcomp, regexec, fnmatch: avoid array bounds read error
36093         * lib/regcomp.c (build_equiv_class): From glibc:
36094         Use only the low 24 bits of a findidx return value as an index
36095         into the weights array.  Patch by Ulrich Drepper:
36096         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
36097         * lib/regexec.c (check_node_accept_bytes): Likewise.
36098         * lib/fnmatch_loop.c (FCT): Likewise.
36099
36100         regcomp: skip collseq lookup when there are no rules
36101         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
36102         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
36103
36104         regcomp: recognize ill-formed { } expressions
36105         * lib/regcomp.c (parse_dup_op): From glibc:
36106         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
36107
36108         regcomp: fix typo in comment
36109         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
36110         s/satisfy/satisfies/.
36111
36112         regcomp: sync from glibc: remove dead store
36113         * lib/regcomp.c (duplicate_node_closure): Remove useless
36114         search_duplicated_node call and dead store.
36115
36116         regcomp: sync from glibc; always use nl_langinfo
36117         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
36118         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
36119         * modules/regex (Depends-on): Add nl_langinfo.
36120
36121 2010-01-04  Eric Blake  <ebb9@byu.net>
36122
36123         fdopendir: fix configure test
36124         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
36125
36126 2010-01-01  Bruno Haible  <bruno@clisp.org>
36127
36128         wchar: Remove unused configure check.
36129         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
36130
36131 2010-01-01  Eric Blake  <ebb9@byu.net>
36132
36133         headers: make check of system header explicit
36134         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
36135         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
36136         ourselves.
36137         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36138         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36139         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36140         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
36141         internals.
36142         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
36143         missing.
36144         Suggested by Bruno Haible.
36145
36146 2010-01-01  Jim Meyering  <meyering@redhat.com>
36147
36148         ChangeLog: tweak to eliminate unnecessary copyright line
36149         * ChangeLog: Remove a copyright line that was mistakenly updated
36150         by today's update-copyright run.  Reported by Eric Blake.
36151
36152         test-update-copyright: don't let envvar setting cause test failure
36153         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36154
36155 2010-01-01  Bruno Haible  <bruno@clisp.org>
36156
36157         localename: Avoid gcc warning.
36158         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
36159         function if it is not used.
36160
36161 2010-01-01  Jim Meyering  <meyering@redhat.com>
36162
36163         update nearly all FSF copyright year lists to include 2010
36164         Use the same procedure as for 2009, outlined in
36165         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
36166
36167         version-etc: set COPYRIGHT_YEAR to 2010
36168         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
36169
36170 2009-12-31  Eric Blake  <ebb9@byu.net>
36171
36172         doc: correct availability of cygwin 1.5.x getopt
36173         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
36174         variables.
36175         * doc/posix-functions/opterr.texi (opterr): Likewise.
36176         * doc/posix-functions/optind.texi (optind): Likewise.
36177         * doc/posix-functions/optopt.texi (optopt): Likewise.
36178         * doc/posix-functions/tzname.texi (tzname): Likewise.
36179
36180         openat: update maintainer
36181         * modules/openat (Maintainer): Add myself.
36182
36183         utimens: avoid shadowing warning
36184         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
36185         buffers into one, to avoid shadowing, as well as avoiding a
36186         redundant stat.
36187         Reported by Jim Meyering.
36188
36189         test-dup2: avoid compiler warning
36190         * tests/test-dup2.c (is_inheritable): Only define if used.
36191
36192 2010-01-01  Bruno Haible  <bruno@clisp.org>
36193
36194         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
36195         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
36196         defined, use wctomb instead of wcrtomb.
36197
36198 2010-01-01  Bruno Haible  <bruno@clisp.org>
36199
36200         iconv: Reject native Solaris iconv.
36201         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
36202         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
36203
36204 2009-12-31  Bruno Haible  <bruno@clisp.org>
36205
36206         * tests/test-signal.c (main): Remove test of 'SIG'.
36207
36208 2009-12-31  Bruno Haible  <bruno@clisp.org>
36209
36210         spawn: Fix incomplete fix.
36211         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36212         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36213         warnings for GNULIB_POSIXCHECK again.
36214         Reported by Eric Blake.
36215
36216 2009-12-31  Bruno Haible  <bruno@clisp.org>
36217
36218         Avoid namespace pollution on glibc systems.
36219         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
36220         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
36221         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
36222         glibc systems.
36223
36224 2009-12-31  Bruno Haible  <bruno@clisp.org>
36225
36226         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
36227         (gl_REPLACE_WCHAR_H): Turn into a no-op.
36228         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
36229         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
36230         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
36231         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
36232         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
36233
36234 2009-12-31  Bruno Haible  <bruno@clisp.org>
36235
36236         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36237         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
36238         afterwards.
36239
36240 2009-12-31  Bruno Haible  <bruno@clisp.org>
36241
36242         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
36243         SYS_UTSNAME_H.
36244
36245 2009-12-31  Bruno Haible  <bruno@clisp.org>
36246
36247         spawn: Fix misapplied patch.
36248         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36249         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36250         warnings for GNULIB_POSIXCHECK.
36251
36252 2009-12-31  Bruno Haible  <bruno@clisp.org>
36253
36254         times: Update after sys_times changed.
36255         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
36256         * modules/times (Files): Add it.
36257         (configure.ac): Invoke gl_FUNC_TIMES.
36258
36259 2009-12-31  Bruno Haible  <bruno@clisp.org>
36260
36261         Use AC_C_INLINE where necessary.
36262         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
36263         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36264         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36265         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36266         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36267         * m4/mbiter.m4 (gl_MBITER): Likewise.
36268         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36269         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36270         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
36271         * modules/u64 (configure.ac): Likewise.
36272
36273 2009-12-31  Bruno Haible  <bruno@clisp.org>
36274
36275         Use AC_C_INLINE instead of module 'inline' where possible.
36276         * modules/inline (Description): Clarify purpose.
36277         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
36278         * modules/count-one-bits (Depends-on): Remove inline.
36279         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
36280         * modules/openat (Depends-on): Remove inline.
36281         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
36282         instead of depending on module 'inline'.
36283         * modules/filevercmp (Depends-on, configure.ac): Likewise.
36284         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
36285         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
36286         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
36287         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
36288         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
36289         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
36290         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
36291         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
36292         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
36293         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
36294         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
36295         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
36296         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
36297         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
36298         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
36299         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
36300         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
36301         Likewise.
36302         * modules/unictype/property-ascii-hex-digit (Depends-on,
36303         configure.ac): Likewise.
36304         * modules/unictype/property-bidi-arabic-digit (Depends-on,
36305         configure.ac): Likewise.
36306         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
36307         configure.ac): Likewise.
36308         * modules/unictype/property-bidi-block-separator (Depends-on,
36309         configure.ac): Likewise.
36310         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
36311         configure.ac): Likewise.
36312         * modules/unictype/property-bidi-common-separator (Depends-on,
36313         configure.ac): Likewise.
36314         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
36315         Likewise.
36316         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
36317         configure.ac): Likewise.
36318         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
36319         configure.ac): Likewise.
36320         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
36321         configure.ac): Likewise.
36322         * modules/unictype/property-bidi-european-digit (Depends-on,
36323         configure.ac): Likewise.
36324         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
36325         configure.ac): Likewise.
36326         * modules/unictype/property-bidi-left-to-right (Depends-on,
36327         configure.ac): Likewise.
36328         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
36329         configure.ac): Likewise.
36330         * modules/unictype/property-bidi-other-neutral (Depends-on,
36331         configure.ac): Likewise.
36332         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
36333         Likewise.
36334         * modules/unictype/property-bidi-segment-separator (Depends-on,
36335         configure.ac): Likewise.
36336         * modules/unictype/property-bidi-whitespace (Depends-on,
36337         configure.ac): Likewise.
36338         * modules/unictype/property-combining (Depends-on, configure.ac):
36339         Likewise.
36340         * modules/unictype/property-composite (Depends-on, configure.ac):
36341         Likewise.
36342         * modules/unictype/property-currency-symbol (Depends-on,
36343         configure.ac): Likewise.
36344         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
36345         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
36346         Likewise.
36347         * modules/unictype/property-default-ignorable-code-point (Depends-on,
36348         configure.ac): Likewise.
36349         * modules/unictype/property-deprecated (Depends-on, configure.ac):
36350         Likewise.
36351         * modules/unictype/property-diacritic (Depends-on, configure.ac):
36352         Likewise.
36353         * modules/unictype/property-extender (Depends-on, configure.ac):
36354         Likewise.
36355         * modules/unictype/property-format-control (Depends-on, configure.ac):
36356         Likewise.
36357         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
36358         Likewise.
36359         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
36360         Likewise.
36361         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
36362         Likewise.
36363         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
36364         Likewise.
36365         * modules/unictype/property-hyphen (Depends-on, configure.ac):
36366         Likewise.
36367         * modules/unictype/property-id-continue (Depends-on, configure.ac):
36368         Likewise.
36369         * modules/unictype/property-id-start (Depends-on, configure.ac):
36370         Likewise.
36371         * modules/unictype/property-ideographic (Depends-on, configure.ac):
36372         Likewise.
36373         * modules/unictype/property-ids-binary-operator (Depends-on,
36374         configure.ac): Likewise.
36375         * modules/unictype/property-ids-trinary-operator (Depends-on,
36376         configure.ac): Likewise.
36377         * modules/unictype/property-ignorable-control (Depends-on,
36378         configure.ac): Likewise.
36379         * modules/unictype/property-iso-control (Depends-on, configure.ac):
36380         Likewise.
36381         * modules/unictype/property-join-control (Depends-on, configure.ac):
36382         Likewise.
36383         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
36384         Likewise.
36385         * modules/unictype/property-line-separator (Depends-on, configure.ac):
36386         Likewise.
36387         * modules/unictype/property-logical-order-exception (Depends-on,
36388         configure.ac): Likewise.
36389         * modules/unictype/property-lowercase (Depends-on, configure.ac):
36390         Likewise.
36391         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
36392         * modules/unictype/property-non-break (Depends-on, configure.ac):
36393         Likewise.
36394         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
36395         Likewise.
36396         * modules/unictype/property-numeric (Depends-on, configure.ac):
36397         Likewise.
36398         * modules/unictype/property-other-alphabetic (Depends-on,
36399         configure.ac): Likewise.
36400         * modules/unictype/property-other-default-ignorable-code-point
36401         (Depends-on, configure.ac): Likewise.
36402         * modules/unictype/property-other-grapheme-extend (Depends-on,
36403         configure.ac): Likewise.
36404         * modules/unictype/property-other-id-continue (Depends-on,
36405         configure.ac): Likewise.
36406         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
36407         Likewise.
36408         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
36409         Likewise.
36410         * modules/unictype/property-other-math (Depends-on, configure.ac):
36411         Likewise.
36412         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
36413         Likewise.
36414         * modules/unictype/property-paired-punctuation (Depends-on,
36415         configure.ac): Likewise.
36416         * modules/unictype/property-paragraph-separator (Depends-on,
36417         configure.ac): Likewise.
36418         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
36419         Likewise.
36420         * modules/unictype/property-pattern-white-space (Depends-on,
36421         configure.ac): Likewise.
36422         * modules/unictype/property-private-use (Depends-on, configure.ac):
36423         Likewise.
36424         * modules/unictype/property-punctuation (Depends-on, configure.ac):
36425         Likewise.
36426         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
36427         Likewise.
36428         * modules/unictype/property-radical (Depends-on, configure.ac):
36429         Likewise.
36430         * modules/unictype/property-sentence-terminal (Depends-on,
36431         configure.ac): Likewise.
36432         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36433         Likewise.
36434         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36435         * modules/unictype/property-terminal-punctuation (Depends-on,
36436         configure.ac): Likewise.
36437         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36438         Likewise.
36439         * modules/unictype/property-unassigned-code-value (Depends-on,
36440         configure.ac): Likewise.
36441         * modules/unictype/property-unified-ideograph (Depends-on,
36442         configure.ac): Likewise.
36443         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36444         Likewise.
36445         * modules/unictype/property-variation-selector (Depends-on,
36446         configure.ac): Likewise.
36447         * modules/unictype/property-white-space (Depends-on, configure.ac):
36448         Likewise.
36449         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36450         Likewise.
36451         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36452         Likewise.
36453         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36454         Likewise.
36455         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36456         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36457         Likewise.
36458
36459 2009-12-31  Bruno Haible  <bruno@clisp.org>
36460
36461         Remove unnecessary AC_C_INLINE invocation.
36462         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36463         since 2009-08-21.
36464
36465 2009-12-31  Jim Meyering  <meyering@redhat.com>
36466
36467         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36468         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36469         With this change, we can all remove the gpg_key_ID = ... definition
36470         from our respective cfg.mk files.
36471
36472         maint.mk: create announcement template in ~/, not in /tmp
36473         * top/maint.mk (emit_upload_commands): Adjust.
36474         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36475         Remove temporary file, .ci-msg.
36476
36477 2009-12-31  Eric Blake  <ebb9@byu.net>
36478
36479         link-warning: always build headers with link warnings
36480         * modules/arpa_inet (Makefile.am): Always build replacement
36481         header.
36482         * modules/ctype (Makefile.am): Likewise.
36483         * modules/dirent (Makefile.am): Likewise.
36484         * modules/inttypes (Makefile.am): Likewise.
36485         * modules/langinfo (Makefile.am): Likewise.
36486         * modules/locale (Makefile.am): Likewise.
36487         * modules/spawn (Makefile.am): Likewise.
36488         * modules/sys_file (Makefile.am): Likewise.
36489         * modules/sys_ioctl (Makefile.am): Likewise.
36490         * modules/sys_select (Makefile.am): Likewise.
36491         * modules/sys_socket (Makefile.am): Likewise.
36492         * modules/sys_times (Makefile.am): Likewise.
36493         * modules/sys_utsname (Makefile.am): Likewise.
36494         * modules/sys_wait (Makefile.am): Likewise.
36495         * modules/wchar (Makefile.am): Likewise.
36496         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36497         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36498         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36499         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36500         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36501         Likewise.
36502         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36503         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36504         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36505         Likewise.
36506         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36507         Likewise.
36508         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36509         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36510         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36511         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36512         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36513         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36514         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36515         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36516         (gl_WCHAR_H_DEFAULTS): Likewise.
36517
36518 2009-12-31  Eric Blake  <ebb9@byu.net>
36519
36520         signal, spawn: use link warnings
36521         * lib/signal.in.h (sigset_t): Make unconditional.
36522         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36523         (sigpending, sigprocmask, sigaction): Add link warnings.
36524         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36525         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36526         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36527         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36528         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36529         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36530         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36531         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36532         (posix_spawn_file_actions_destroy)
36533         (posix_spawn_file_actions_addopen)
36534         (posix_spawn_file_actions_addclose)
36535         (posix_spawn_file_actions_adddup2): Likewise.
36536         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36537         * tests/test-signal.c (main): Enhance test.
36538
36539         spawn: improve wrapper support
36540         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36541         (gl_SPAWN_H_DEFAULTS): New defaults.
36542         * modules/spawn (Makefile.am): Substitute them.
36543         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36544         Only declare if missing or broken.
36545
36546         sys_times, sys_utsname: use include_next
36547         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36548         header.
36549         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36550         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36551         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36552         * modules/sys_times (Depends-on): Add include_next.
36553         (Makefile.am): Substitute additional values.
36554         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36555         * lib/sys_times.in.h (includes): Include native header, if
36556         available.
36557         * lib/sys_utsname.in.h (includes): Likewise.
36558         * tests/test-sys_times.c (main): Enhance test.
36559
36560         fdutimensat: revert prior patch
36561         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36562         utimens.h.
36563         Reported by Bruno Haible.
36564
36565 2009-12-30  Eric Blake  <ebb9@byu.net>
36566
36567         sys_wait: drop link-warning dependency
36568         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36569         link-warning efforts.
36570         * lib/sys_wait.in.h: Likewise.
36571
36572         fdutimensat: remove bogus dependency
36573         * modules/fdutimensat (Depends-on): Drop inline.
36574
36575         unistd: fix typo
36576         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36577
36578 2009-12-30  Bruno Haible  <bruno@clisp.org>
36579
36580         Fix compilation error with Solaris cc.
36581         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36582         * lib/unicase/u16-is-invariant.c: Likewise.
36583         * lib/unicase/u32-is-invariant.c: Likewise.
36584         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36585
36586 2009-12-30  Bruno Haible  <bruno@clisp.org>
36587
36588         Fix test crash.
36589         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36590         locales.
36591         Reported by Simon Josefsson <simon@josefsson.org>.
36592
36593 2009-12-30  Bruno Haible  <bruno@clisp.org>
36594
36595         Fix compilation error on most platforms.
36596         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36597         Reported by Simon Josefsson <simon@josefsson.org>
36598         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36599
36600 2009-12-30  Eric Blake  <ebb9@byu.net>
36601
36602         futimens, utimensat: work around ntfs-3g bug
36603         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
36604         a ctime bug is present, and expand workaround to cover ntfs-3g.
36605         * lib/utimens.c (fdutimens, lutimens): Likewise.
36606         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
36607         (validate_timespec): Adjust return value.
36608         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
36609         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36610         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
36611
36612 2009-12-29  Eric Blake  <ebb9@byu.net>
36613
36614         link-warning: make usage consistent
36615         * modules/ctype (Depends-on): Add link-warning.
36616         (Makefile.am): Update rules accordingly.
36617         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36618         * modules/locale (Depends-on, Makefile.am): Likewise.
36619         * modules/sys_file (Makefile.am): Likewise.
36620         * modules/getopt-posix (Makefile.am): Delete unused link warning
36621         efforts.
36622         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
36623         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
36624         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
36625         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
36626
36627         stdio: remove unused variables
36628         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
36629         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
36630         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
36631
36632         tests: test more substitute headers
36633         * modules/ctype-tests: New file.
36634         * modules/dirent-tests: Likewise.
36635         * modules/spawn-tests: Likewise.
36636         * modules/sys_file-tests: Likewise.
36637         * modules/sys_ioctl-tests: Likewise.
36638         * modules/sys_wait-tests: Likewise.
36639         * tests/test-ctype.c: Likewise.
36640         * tests/test-dirent.c: Likewise.
36641         * tests/test-spawn.c: Likewise.
36642         * tests/test-sys_file.c: Likewise.
36643         * tests/test-sys_ioctl.c: Likewise.
36644         * tests/test-sys_wait.c: Likewise.
36645         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36646         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36647         whether or not flock is in use.
36648
36649         tests: remove License section from module
36650         * modules/arpa_inet-tests: Remove unneeded section.
36651         * modules/byteswap-tests: Likewise.
36652         * modules/ceilf-tests: Likewise.
36653         * modules/ceill-tests: Likewise.
36654         * modules/crypto/des-tests: Likewise.
36655         * modules/crypto/gc-arcfour-tests: Likewise.
36656         * modules/crypto/gc-arctwo-tests: Likewise.
36657         * modules/crypto/gc-des-tests: Likewise.
36658         * modules/crypto/gc-hmac-md5-tests: Likewise.
36659         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36660         * modules/crypto/gc-md2-tests: Likewise.
36661         * modules/crypto/gc-md4-tests: Likewise.
36662         * modules/crypto/gc-md5-tests: Likewise.
36663         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
36664         * modules/crypto/gc-rijndael-tests: Likewise.
36665         * modules/crypto/gc-sha1-tests: Likewise.
36666         * modules/crypto/gc-tests: Likewise.
36667         * modules/crypto/md2-tests: Likewise.
36668         * modules/crypto/md4-tests: Likewise.
36669         * modules/fcntl-h-tests: Likewise.
36670         * modules/floorf-tests: Likewise.
36671         * modules/floorl-tests: Likewise.
36672         * modules/frexp-nolibm-tests: Likewise.
36673         * modules/frexp-tests: Likewise.
36674         * modules/frexpl-nolibm-tests: Likewise.
36675         * modules/frexpl-tests: Likewise.
36676         * modules/getaddrinfo-tests: Likewise.
36677         * modules/inttypes-tests: Likewise.
36678         * modules/isfinite-tests: Likewise.
36679         * modules/isinf-tests: Likewise.
36680         * modules/ldexpl-tests: Likewise.
36681         * modules/locale-tests: Likewise.
36682         * modules/math-tests: Likewise.
36683         * modules/netdb-tests: Likewise.
36684         * modules/netinet_in-tests: Likewise.
36685         * modules/printf-frexp-tests: Likewise.
36686         * modules/printf-frexpl-tests: Likewise.
36687         * modules/priv-set-tests: Likewise.
36688         * modules/random_r-tests: Likewise.
36689         * modules/round-tests: Likewise.
36690         * modules/roundf-tests: Likewise.
36691         * modules/roundl-tests: Likewise.
36692         * modules/search-tests: Likewise.
36693         * modules/select-tests: Likewise.
36694         * modules/signal-tests: Likewise.
36695         * modules/stdbool-tests: Likewise.
36696         * modules/stddef-tests: Likewise.
36697         * modules/stdint-tests: Likewise.
36698         * modules/stdio-tests: Likewise.
36699         * modules/stdlib-tests: Likewise.
36700         * modules/string-tests: Likewise.
36701         * modules/strings-tests: Likewise.
36702         * modules/sys_select-tests: Likewise.
36703         * modules/sys_socket-tests: Likewise.
36704         * modules/sys_stat-tests: Likewise.
36705         * modules/sys_time-tests: Likewise.
36706         * modules/sys_utsname-tests: Likewise.
36707         * modules/sysexits-tests: Likewise.
36708         * modules/time-tests: Likewise.
36709         * modules/trunc-tests: Likewise.
36710         * modules/truncf-tests: Likewise.
36711         * modules/truncl-tests: Likewise.
36712         * modules/tsearch-tests: Likewise.
36713         * modules/unistd-tests: Likewise.
36714         * modules/wchar-tests: Likewise.
36715         * modules/wctype-tests: Likewise.
36716
36717         tests: fix license on several tests
36718         * tests/test-des.c: Update to GPLv3+.
36719         * tests/test-flock.c: Likewise.
36720         * tests/test-fsync.c: Likewise.
36721         * tests/test-futimens.h: Likewise.
36722         * tests/test-gc-arcfour.c: Likewise.
36723         * tests/test-gc-arctwo.c: Likewise.
36724         * tests/test-gc-des.c: Likewise.
36725         * tests/test-gc-hmac-md5.c: Likewise.
36726         * tests/test-gc-hmac-sha1.c: Likewise.
36727         * tests/test-gc-md2.c: Likewise.
36728         * tests/test-gc-md4.c: Likewise.
36729         * tests/test-gc-md5.c: Likewise.
36730         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36731         * tests/test-gc-rijndael.c: Likewise.
36732         * tests/test-gc-sha1.c: Likewise.
36733         * tests/test-gc.c: Likewise.
36734         * tests/test-getcwd.c: Likewise.
36735         * tests/test-link.c: Likewise.
36736         * tests/test-link.h: Likewise.
36737         * tests/test-lutimens.h: Likewise.
36738         * tests/test-md2.c: Likewise.
36739         * tests/test-md4.c: Likewise.
36740         * tests/test-mkdir.h: Likewise.
36741         * tests/test-rename.c: Likewise.
36742         * tests/test-rename.h: Likewise.
36743         * tests/test-safe-alloc.c: Likewise.
36744         * tests/test-utimens-common.h: Likewise.
36745         * tests/test-utimens.h: Likewise.
36746
36747         maint: sync license texts
36748         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
36749         * doc/gpl-3.0.texi: Revert copyright year update.
36750         * doc/lgpl-3.0.texi: Likewise.
36751
36752 2009-12-29  Jim Meyering  <meyering@redhat.com>
36753
36754         update nearly all FSF copyright year lists to include 2009
36755         The files named by the following are exempted:
36756             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
36757               test -f "$dst" && { echo "$dst"; continue; }
36758               test -d "$dst" || continue
36759               echo "$dst"/$(basename "$src")
36760             done > exempt
36761             git ls-files tests/unictype >> exempt
36762         In the remaining files, convert to all-interval notation if
36763         - there is already at least one year interval like 2000-2003
36764         - the file is maintained by me
36765         - the file is in lib/uni*/, where that style already prevails
36766         Otherwise, use update-copyright's default.
36767
36768 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36769         and Eric Blake  <ebb9@byu.net>
36770
36771         tests: don't require debug system() to pass
36772         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
36773         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36774         * tests/test-unlink.h (test_unlink_func): Likewise.
36775         * tests/test-fstatat.c (main): ...into callers.
36776         * tests/test-lstat.c (main): Likewise.
36777         * tests/test-rmdir.c (main): Likewise.
36778         * tests/test-unlink.c (main): Likewise.
36779         * tests/test-unlinkat.c (main): Likewise.
36780         * tests/test-areadlink-with-size.c (main): Don't require a
36781         debug-only system call to pass, aiding cross-testing to mingw.
36782         * tests/test-areadlink.c (main): Likewise.
36783         * tests/test-areadlinkat-with-size.c (main): Likewise.
36784         * tests/test-areadlinkat.c (main): Likewise.
36785         * tests/test-canonicalize-lgpl.c (main): Likewise.
36786         * tests/test-canonicalize.c (main): Likewise.
36787         * tests/test-chown.c (main): Likewise.
36788         * tests/test-fchownat.c (main): Likewise.
36789         * tests/test-lchown.c (main): Likewise.
36790         * tests/test-fdutimensat.c (main): Likewise.
36791         * tests/test-futimens.c (main): Likewise.
36792         * tests/test-link.c (main): Likewise.
36793         * tests/test-linkat.c (main): Likewise.
36794         * tests/test-mkdir.c (main): Likewise.
36795         * tests/test-mkdirat.c (main): Likewise.
36796         * tests/test-mkfifo.c (main): Likewise.
36797         * tests/test-mkfifoat.c (main): Likewise.
36798         * tests/test-mknod.c (main): Likewise.
36799         * tests/test-readlink.c (main): Likewise.
36800         * tests/test-remove.c (main): Likewise.
36801         * tests/test-rename.c (main): Likewise.
36802         * tests/test-renameat.c (main): Likewise.
36803         * tests/test-symlink.c (main): Likewise.
36804         * tests/test-symlinkat.c (main): Likewise.
36805         * tests/test-utimens.c (main): Likewise.
36806         * tests/test-utimensat.c (main): Likewise.
36807
36808 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36809
36810         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
36811         on $(UNUSED_PARAMETER_H) to avoid build failure.
36812
36813 2009-12-28  Jim Meyering  <meyering@redhat.com>
36814
36815         update-copyright: you may specify a max. line length other than 72
36816         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36817
36818         maint: use consistent FSF copyright line syntax
36819         * lib/posixtm.c: Add missing comma in FSF copyright line.
36820         * lib/posixtm.h: Likewise.
36821         * lib/getugroups.c: Add missing ", Inc.".
36822
36823         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
36824         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
36825         FSF copyright line.  Remove trailing blanks.
36826
36827 2009-12-28  Eric Blake  <ebb9@byu.net>
36828
36829         test-dup2: reduce dependencies
36830         * modules/cloexec (Configure.ac): Set witness.
36831         * modules/dup2-tests (Depends-on): Drop cloexec.
36832         * tests/test-dup2.c (main): Skip portion of test if cloexec module
36833         not present.
36834         Suggested by Bruno Haible.
36835
36836 2009-12-26  Bruno Haible  <bruno@clisp.org>
36837
36838         Remove an unneeded dependency.
36839         * modules/fseterr (Depends-on): Remove dup2.
36840
36841 2009-12-26  Eric Blake  <ebb9@byu.net>
36842
36843         tests: use macros.h in more places
36844         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
36845         (ASSERT_STREAM): Provide default of stderr.
36846         * tests/test-dirent-safer.c: Include macros.h, using alternate
36847         stream for assertions.
36848         * tests/test-dup-safer.c: Likewise.
36849         * tests/test-freopen-safer.c: Likewise.
36850         * tests/test-getopt.c: Likewise.
36851         * tests/test-openat-safer.c: Likewise.
36852         * tests/test-pipe.c: Likewise.
36853         * tests/test-popen-safer.c: Likewise.
36854         * modules/dirent-safer-tests (Files): Include macros.h.
36855         * modules/unistd-safer-tests (Files): Likewise.
36856         * modules/freopen-safer-tests (Files): Likewise.
36857         * modules/getopt-posix-tests (Files): Likewise.
36858         * modules/openat-safer-tests (Files): Likewise.
36859         * modules/pipe-tests (Files): Likewise.
36860
36861 2009-12-26  Bruno Haible  <bruno@clisp.org>
36862
36863         javacomp: Portability fix.
36864         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
36865         that it also works on Solaris.
36866
36867 2009-12-26  Bruno Haible  <bruno@clisp.org>
36868
36869         localename: Fix storage allocation of gl_locale_name_thread's result.
36870         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
36871         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
36872         all platforms that have 'uselocale'.
36873         (gl_locale_name_thread_unsafe): New function, extracted from
36874         gl_locale_name_thread.
36875         (gl_locale_name_thread): Call struniq on all platforms that have
36876         'uselocale'.
36877         * tests/test-localename.c (test_locale_name_thread): Check that the
36878         resulting strings are permanently allocated.
36879         * modules/localename-tests (Depends-on): Add strdup.
36880
36881 2009-12-26  Bruno Haible  <bruno@clisp.org>
36882
36883         * tests/test-localename.c (categories): Fill in the strings.
36884
36885 2009-12-26  Jim Meyering  <meyering@redhat.com>
36886
36887         isdir: complete the removal of m4/isdir.m4
36888         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
36889
36890         isdir: clean up, since at least grep still uses it
36891         * lib/isdir.c: Include "isdir.h".
36892         (S_ISDIR): Remove now-unneeded definition.
36893         * modules/isdir (Files): Add lib/isdir.h.
36894         * lib/isdir.h: New file, with declaration.
36895         * m4/isdir.m4: Remove file -- unneeded.
36896
36897 2009-12-25  Bruno Haible  <bruno@clisp.org>
36898
36899         selinux-h: Make generated .h files standalone.
36900         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
36901         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
36902         * lib/se-selinux.in.h: Likewise.
36903         * modules/selinux-h (Depends-on): Add unused-parameter.
36904         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
36905         selinux/selinux.h and selinux/context.h.
36906         Suggested by Eric Blake.
36907
36908 2009-12-25  Bruno Haible  <bruno@clisp.org>
36909
36910         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
36911         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
36912         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
36913         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
36914         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
36915
36916 2009-12-24  Bruno Haible  <bruno@clisp.org>
36917
36918         openat: Fix warning.
36919         * lib/openat-proc.c: Include <unistd.h>.
36920
36921 2009-12-24  Bruno Haible  <bruno@clisp.org>
36922
36923         New module 'unused-parameter'.
36924         * build-aux/unused-parameter.h: New file, extracted from earlier
36925         gnulib-common.m4.
36926         * modules/unused-parameter: New file.
36927         * lib/unistr.h: Include unused-parameter.h.
36928         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
36929         _GL_UNUSED.
36930         * modules/unistr/base (Depends-on): Add unused-parameter.
36931
36932 2009-12-24  Bruno Haible  <bruno@clisp.org>
36933
36934         Add missing dependencies to 'extensions' module.
36935         * m4/extensions.m4: Add comment.
36936         * modules/accept4 (Depends-on): Add extensions.
36937         * modules/dup3 (Depends-on): Likewise.
36938         * modules/fcntl (Depends-on): Likewise.
36939         * modules/futimens (Depends-on): Likewise.
36940         * modules/mknod (Depends-on): Likewise.
36941         * modules/pipe2 (Depends-on): Likewise.
36942         * modules/stat-time (Depends-on): Likewise.
36943         * modules/strcasestr-simple (Depends-on): Likewise.
36944         * modules/strsignal (Depends-on): Likewise.
36945         * modules/utimensat (Depends-on): Likewise.
36946         * modules/localcharset (Depends-on): Likewise. Needed because of
36947         gl_FCNTL_O_FLAGS.
36948         * modules/wcrtomb (Depends-on): Likewise. Needed because of
36949         AC_TYPE_MBSTATE_T.
36950         * modules/wcsnrtombs (Depends-on): Likewise.
36951         * modules/wcsrtombs (Depends-on): Likewise.
36952
36953 2009-12-24  Bruno Haible  <bruno@clisp.org>
36954
36955         binary-io: Avoid gcc warning due to SET_BINARY.
36956         * lib/binary-io.h (SET_BINARY): Cast the result to void.
36957         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
36958
36959 2009-12-24  Bruno Haible  <bruno@clisp.org>
36960
36961         Avoid future namespace pollution on glibc systems.
36962         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
36963         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
36964         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
36965         glibc systems.
36966
36967 2009-12-24  Bruno Haible  <bruno@clisp.org>
36968
36969         Refactor common macros used in tests.
36970         * tests/macros.h: New file.
36971         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
36972         and/or <stdlib.h>, if appropriate.
36973         (ASSERT, SIZEOF): Remove macros.
36974         * tests/test-areadlink-with-size.c: Likewise.
36975         * tests/test-areadlinkat.c: Likewise.
36976         * tests/test-areadlinkat-with-size.c: Likewise.
36977         * tests/test-argmatch.c: Likewise.
36978         * tests/test-argv-iter.c: Likewise.
36979         * tests/test-array-mergesort.c: Likewise.
36980         * tests/test-array_list.c: Likewise.
36981         * tests/test-array_oset.c: Likewise.
36982         * tests/test-avltree_list.c: Likewise.
36983         * tests/test-avltree_oset.c: Likewise.
36984         * tests/test-avltreehash_list.c: Likewise.
36985         * tests/test-base64.c: Likewise.
36986         * tests/test-binary-io.c: Likewise.
36987         * tests/test-bitrotate.c: Likewise.
36988         * tests/test-btowc.c: Likewise.
36989         * tests/test-byteswap.c: Likewise.
36990         * tests/test-c-ctype.c: Likewise.
36991         * tests/test-c-stack.c: Likewise.
36992         * tests/test-c-strcasecmp.c: Likewise.
36993         * tests/test-c-strcasestr.c: Likewise.
36994         * tests/test-c-strncasecmp.c: Likewise.
36995         * tests/test-c-strstr.c: Likewise.
36996         * tests/test-canonicalize-lgpl.c: Likewise.
36997         * tests/test-canonicalize.c: Likewise.
36998         * tests/test-carray_list.c: Likewise.
36999         * tests/test-ceilf1.c: Likewise.
37000         * tests/test-ceilf2.c: Likewise.
37001         * tests/test-ceill.c: Likewise.
37002         * tests/test-chown.c: Likewise.
37003         * tests/test-cloexec.c: Likewise.
37004         * tests/test-copy-acl.c: Likewise.
37005         * tests/test-copy-file.c: Likewise.
37006         * tests/test-count-one-bits.c: Likewise.
37007         * tests/test-dprintf-posix.c: Likewise.
37008         * tests/test-dup2.c: Likewise.
37009         * tests/test-dup3.c: Likewise.
37010         * tests/test-duplocale.c: Likewise.
37011         * tests/test-fbufmode.c: Likewise.
37012         * tests/test-fchdir.c: Likewise.
37013         * tests/test-fchownat.c: Likewise.
37014         * tests/test-fcntl-safer.c: Likewise.
37015         * tests/test-fcntl.c: Likewise.
37016         * tests/test-fdopendir.c: Likewise.
37017         * tests/test-fdutimensat.c: Likewise.
37018         * tests/test-fflush2.c: Likewise.
37019         * tests/test-file-has-acl.c: Likewise.
37020         * tests/test-filevercmp.c: Likewise.
37021         * tests/test-flock.c: Likewise.
37022         * tests/test-floorf1.c: Likewise.
37023         * tests/test-floorf2.c: Likewise.
37024         * tests/test-floorl.c: Likewise.
37025         * tests/test-fnmatch.c: Likewise.
37026         * tests/test-fopen.h: Likewise.
37027         * tests/test-fpending.c: Likewise.
37028         * tests/test-fprintf-posix.c: Likewise.
37029         * tests/test-fpurge.c: Likewise.
37030         * tests/test-freadable.c: Likewise.
37031         * tests/test-freadahead.c: Likewise.
37032         * tests/test-freading.c: Likewise.
37033         * tests/test-freadptr.c: Likewise.
37034         * tests/test-freadptr2.c: Likewise.
37035         * tests/test-freadseek.c: Likewise.
37036         * tests/test-freopen.c: Likewise.
37037         * tests/test-frexp.c: Likewise.
37038         * tests/test-frexpl.c: Likewise.
37039         * tests/test-fseek.c: Likewise.
37040         * tests/test-fseeko.c: Likewise.
37041         * tests/test-fstatat.c: Likewise.
37042         * tests/test-fstrcmp.c: Likewise.
37043         * tests/test-fsync.c: Likewise.
37044         * tests/test-ftell.c: Likewise.
37045         * tests/test-ftello.c: Likewise.
37046         * tests/test-func.c: Likewise.
37047         * tests/test-futimens.c: Likewise.
37048         * tests/test-fwritable.c: Likewise.
37049         * tests/test-fwriting.c: Likewise.
37050         * tests/test-getcwd.c: Likewise.
37051         * tests/test-getdate.c: Likewise.
37052         * tests/test-getdelim.c: Likewise.
37053         * tests/test-getdtablesize.c: Likewise.
37054         * tests/test-getgroups.c: Likewise.
37055         * tests/test-getline.c: Likewise.
37056         * tests/test-getndelim2.c: Likewise.
37057         * tests/test-glob.c: Likewise.
37058         * tests/test-hash.c: Likewise.
37059         * tests/test-i-ring.c: Likewise.
37060         * tests/test-iconv-utf.c: Likewise.
37061         * tests/test-iconv.c: Likewise.
37062         * tests/test-idpriv-drop.c: Likewise.
37063         * tests/test-idpriv-droptemp.c: Likewise.
37064         * tests/test-inet_ntop.c: Likewise.
37065         * tests/test-inet_pton.c: Likewise.
37066         * tests/test-isblank.c: Likewise.
37067         * tests/test-isfinite.c: Likewise.
37068         * tests/test-isinf.c: Likewise.
37069         * tests/test-isnan.c: Likewise.
37070         * tests/test-isnand.h: Likewise.
37071         * tests/test-isnanf.h: Likewise.
37072         * tests/test-isnanl.h: Likewise.
37073         * tests/test-lchown.c: Likewise.
37074         * tests/test-ldexpl.c: Likewise.
37075         * tests/test-link.c: Likewise.
37076         * tests/test-linkat.c: Likewise.
37077         * tests/test-linked_list.c: Likewise.
37078         * tests/test-linkedhash_list.c: Likewise.
37079         * tests/test-localename.c: Likewise.
37080         * tests/test-lseek.c: Likewise.
37081         * tests/test-lstat.c: Likewise.
37082         * tests/test-mbmemcasecmp.c: Likewise.
37083         * tests/test-mbmemcasecoll.c: Likewise.
37084         * tests/test-mbrtowc.c: Likewise.
37085         * tests/test-mbscasecmp.c: Likewise.
37086         * tests/test-mbscasestr1.c: Likewise.
37087         * tests/test-mbscasestr2.c: Likewise.
37088         * tests/test-mbscasestr3.c: Likewise.
37089         * tests/test-mbscasestr4.c: Likewise.
37090         * tests/test-mbschr.c: Likewise.
37091         * tests/test-mbscspn.c: Likewise.
37092         * tests/test-mbsinit.c: Likewise.
37093         * tests/test-mbsncasecmp.c: Likewise.
37094         * tests/test-mbsnrtowcs.c: Likewise.
37095         * tests/test-mbspbrk.c: Likewise.
37096         * tests/test-mbspcasecmp.c: Likewise.
37097         * tests/test-mbsrchr.c: Likewise.
37098         * tests/test-mbsrtowcs.c: Likewise.
37099         * tests/test-mbsspn.c: Likewise.
37100         * tests/test-mbsstr1.c: Likewise.
37101         * tests/test-mbsstr2.c: Likewise.
37102         * tests/test-mbsstr3.c: Likewise.
37103         * tests/test-memchr.c: Likewise.
37104         * tests/test-memchr2.c: Likewise.
37105         * tests/test-memcmp.c: Likewise.
37106         * tests/test-memmem.c: Likewise.
37107         * tests/test-memrchr.c: Likewise.
37108         * tests/test-mkdir.c: Likewise.
37109         * tests/test-mkdirat.c: Likewise.
37110         * tests/test-mkfifo.c: Likewise.
37111         * tests/test-mkfifoat.c: Likewise.
37112         * tests/test-mknod.c: Likewise.
37113         * tests/test-nanosleep.c: Likewise.
37114         * tests/test-nl_langinfo.c: Likewise.
37115         * tests/test-obstack-printf.c: Likewise.
37116         * tests/test-open.c: Likewise.
37117         * tests/test-openat.c: Likewise.
37118         * tests/test-pipe-filter-gi1.c: Likewise.
37119         * tests/test-pipe-filter-gi2-main.c: Likewise.
37120         * tests/test-pipe-filter-ii1.c: Likewise.
37121         * tests/test-pipe-filter-ii2-main.c: Likewise.
37122         * tests/test-pipe2.c: Likewise.
37123         * tests/test-popen.h: Likewise.
37124         * tests/test-posixtm.c: Likewise.
37125         * tests/test-pread.c: Likewise.
37126         * tests/test-printf-frexp.c: Likewise.
37127         * tests/test-printf-frexpl.c: Likewise.
37128         * tests/test-printf-posix.c: Likewise.
37129         * tests/test-priv-set.c: Likewise.
37130         * tests/test-quotearg.c: Likewise.
37131         * tests/test-random_r.c: Likewise.
37132         * tests/test-rawmemchr.c: Likewise.
37133         * tests/test-rbtree_list.c: Likewise.
37134         * tests/test-rbtree_oset.c: Likewise.
37135         * tests/test-rbtreehash_list.c: Likewise.
37136         * tests/test-readlink.c: Likewise.
37137         * tests/test-remove.c: Likewise.
37138         * tests/test-rename.c: Likewise.
37139         * tests/test-renameat.c: Likewise.
37140         * tests/test-rmdir.c: Likewise.
37141         * tests/test-round1.c: Likewise.
37142         * tests/test-roundf1.c: Likewise.
37143         * tests/test-roundl.c: Likewise.
37144         * tests/test-safe-alloc.c: Likewise.
37145         * tests/test-sameacls.c: Likewise.
37146         * tests/test-set-mode-acl.c: Likewise.
37147         * tests/test-setenv.c: Likewise.
37148         * tests/test-sigaction.c: Likewise.
37149         * tests/test-signbit.c: Likewise.
37150         * tests/test-sleep.c: Likewise.
37151         * tests/test-snprintf-posix.c: Likewise.
37152         * tests/test-snprintf.c: Likewise.
37153         * tests/test-sprintf-posix.c: Likewise.
37154         * tests/test-stat-time.c: Likewise.
37155         * tests/test-stat.c: Likewise.
37156         * tests/test-strcasestr.c: Likewise.
37157         * tests/test-strchrnul.c: Likewise.
37158         * tests/test-strerror.c: Likewise.
37159         * tests/test-striconv.c: Likewise.
37160         * tests/test-striconveh.c: Likewise.
37161         * tests/test-striconveha.c: Likewise.
37162         * tests/test-strsignal.c: Likewise.
37163         * tests/test-strstr.c: Likewise.
37164         * tests/test-strtod.c: Likewise.
37165         * tests/test-strverscmp.c: Likewise.
37166         * tests/test-symlink.c: Likewise.
37167         * tests/test-symlinkat.c: Likewise.
37168         * tests/test-trunc1.c: Likewise.
37169         * tests/test-trunc2.c: Likewise.
37170         * tests/test-truncf1.c: Likewise.
37171         * tests/test-truncf2.c: Likewise.
37172         * tests/test-truncl.c: Likewise.
37173         * tests/test-uname.c: Likewise.
37174         * tests/test-unlink.c: Likewise.
37175         * tests/test-unlinkat.c: Likewise.
37176         * tests/test-unsetenv.c: Likewise.
37177         * tests/test-usleep.c: Likewise.
37178         * tests/test-utimens.c: Likewise.
37179         * tests/test-utimensat.c: Likewise.
37180         * tests/test-vasnprintf-posix.c: Likewise.
37181         * tests/test-vasnprintf-posix2.c: Likewise.
37182         * tests/test-vasnprintf.c: Likewise.
37183         * tests/test-vasprintf-posix.c: Likewise.
37184         * tests/test-vasprintf.c: Likewise.
37185         * tests/test-vdprintf-posix.c: Likewise.
37186         * tests/test-vfprintf-posix.c: Likewise.
37187         * tests/test-vprintf-posix.c: Likewise.
37188         * tests/test-vsnprintf-posix.c: Likewise.
37189         * tests/test-vsnprintf.c: Likewise.
37190         * tests/test-vsprintf-posix.c: Likewise.
37191         * tests/test-wcrtomb.c: Likewise.
37192         * tests/test-wcsnrtombs.c: Likewise.
37193         * tests/test-wcsrtombs.c: Likewise.
37194         * tests/test-wctype.c: Likewise.
37195         * tests/test-wcwidth.c: Likewise.
37196         * tests/test-xfprintf-posix.c: Likewise.
37197         * tests/test-xmemdup0.c: Likewise.
37198         * tests/test-xprintf-posix.c: Likewise.
37199         * tests/test-xvasprintf.c: Likewise.
37200         * tests/unicase/test-locale-language.c: Likewise.
37201         * tests/unicase/test-mapping-part1.h: Likewise.
37202         * tests/unicase/test-predicate-part1.h: Likewise.
37203         * tests/unicase/test-u8-casecmp.c: Likewise.
37204         * tests/unicase/test-u8-casecoll.c: Likewise.
37205         * tests/unicase/test-u8-casefold.c: Likewise.
37206         * tests/unicase/test-u8-is-cased.c: Likewise.
37207         * tests/unicase/test-u8-is-casefolded.c: Likewise.
37208         * tests/unicase/test-u8-is-lowercase.c: Likewise.
37209         * tests/unicase/test-u8-is-titlecase.c: Likewise.
37210         * tests/unicase/test-u8-is-uppercase.c: Likewise.
37211         * tests/unicase/test-u8-tolower.c: Likewise.
37212         * tests/unicase/test-u8-totitle.c: Likewise.
37213         * tests/unicase/test-u8-toupper.c: Likewise.
37214         * tests/unicase/test-u16-casecmp.c: Likewise.
37215         * tests/unicase/test-u16-casecoll.c: Likewise.
37216         * tests/unicase/test-u16-casefold.c: Likewise.
37217         * tests/unicase/test-u16-is-cased.c: Likewise.
37218         * tests/unicase/test-u16-is-casefolded.c: Likewise.
37219         * tests/unicase/test-u16-is-lowercase.c: Likewise.
37220         * tests/unicase/test-u16-is-titlecase.c: Likewise.
37221         * tests/unicase/test-u16-is-uppercase.c: Likewise.
37222         * tests/unicase/test-u16-tolower.c: Likewise.
37223         * tests/unicase/test-u16-totitle.c: Likewise.
37224         * tests/unicase/test-u16-toupper.c: Likewise.
37225         * tests/unicase/test-u32-casecmp.c: Likewise.
37226         * tests/unicase/test-u32-casecoll.c: Likewise.
37227         * tests/unicase/test-u32-casefold.c: Likewise.
37228         * tests/unicase/test-u32-is-cased.c: Likewise.
37229         * tests/unicase/test-u32-is-casefolded.c: Likewise.
37230         * tests/unicase/test-u32-is-lowercase.c: Likewise.
37231         * tests/unicase/test-u32-is-titlecase.c: Likewise.
37232         * tests/unicase/test-u32-is-uppercase.c: Likewise.
37233         * tests/unicase/test-u32-tolower.c: Likewise.
37234         * tests/unicase/test-u32-totitle.c: Likewise.
37235         * tests/unicase/test-u32-toupper.c: Likewise.
37236         * tests/unicase/test-ulc-casecmp.c: Likewise.
37237         * tests/unicase/test-ulc-casecoll.c: Likewise.
37238         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37239         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37240         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37241         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37242         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37243         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37244         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37245         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37246         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37247         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37248         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37249         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37250         * tests/unictype/test-bidi_byname.c: Likewise.
37251         * tests/unictype/test-bidi_name.c: Likewise.
37252         * tests/unictype/test-bidi_of.c: Likewise.
37253         * tests/unictype/test-bidi_test.c: Likewise.
37254         * tests/unictype/test-block_list.c: Likewise.
37255         * tests/unictype/test-block_of.c: Likewise.
37256         * tests/unictype/test-block_test.c: Likewise.
37257         * tests/unictype/test-categ_and.c: Likewise.
37258         * tests/unictype/test-categ_and_not.c: Likewise.
37259         * tests/unictype/test-categ_byname.c: Likewise.
37260         * tests/unictype/test-categ_name.c: Likewise.
37261         * tests/unictype/test-categ_none.c: Likewise.
37262         * tests/unictype/test-categ_of.c: Likewise.
37263         * tests/unictype/test-categ_or.c: Likewise.
37264         * tests/unictype/test-categ_test_withtable.c: Likewise.
37265         * tests/unictype/test-combining.c: Likewise.
37266         * tests/unictype/test-decdigit.c: Likewise.
37267         * tests/unictype/test-digit.c: Likewise.
37268         * tests/unictype/test-mirror.c: Likewise.
37269         * tests/unictype/test-numeric.c: Likewise.
37270         * tests/unictype/test-pr_byname.c: Likewise.
37271         * tests/unictype/test-pr_test.c: Likewise.
37272         * tests/unictype/test-predicate-part1.h: Likewise.
37273         * tests/unictype/test-scripts.c: Likewise.
37274         * tests/unictype/test-sy_c_ident.c: Likewise.
37275         * tests/unictype/test-sy_java_ident.c: Likewise.
37276         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
37277         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
37278         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
37279         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
37280         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
37281         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
37282         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
37283         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
37284         * tests/uninorm/test-canonical-decomposition.c: Likewise.
37285         * tests/uninorm/test-compat-decomposition.c: Likewise.
37286         * tests/uninorm/test-composition.c: Likewise.
37287         * tests/uninorm/test-decomposing-form.c: Likewise.
37288         * tests/uninorm/test-decomposition.c: Likewise.
37289         * tests/uninorm/test-u8-nfc.c: Likewise.
37290         * tests/uninorm/test-u8-nfd.c: Likewise.
37291         * tests/uninorm/test-u8-nfkc.c: Likewise.
37292         * tests/uninorm/test-u8-nfkd.c: Likewise.
37293         * tests/uninorm/test-u8-normcmp.c: Likewise.
37294         * tests/uninorm/test-u8-normcoll.c: Likewise.
37295         * tests/uninorm/test-u16-nfc.c: Likewise.
37296         * tests/uninorm/test-u16-nfd.c: Likewise.
37297         * tests/uninorm/test-u16-nfkc.c: Likewise.
37298         * tests/uninorm/test-u16-nfkd.c: Likewise.
37299         * tests/uninorm/test-u16-normcmp.c: Likewise.
37300         * tests/uninorm/test-u16-normcoll.c: Likewise.
37301         * tests/uninorm/test-u32-nfc.c: Likewise.
37302         * tests/uninorm/test-u32-nfd.c: Likewise.
37303         * tests/uninorm/test-u32-nfkc.c: Likewise.
37304         * tests/uninorm/test-u32-nfkd.c: Likewise.
37305         * tests/uninorm/test-u32-normalize-big.c: Likewise.
37306         * tests/uninorm/test-u32-normcmp.c: Likewise.
37307         * tests/uninorm/test-u32-normcoll.c: Likewise.
37308         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
37309         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37310         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37311         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37312         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37313         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37314         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37315         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37316         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37317         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37318         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37319         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37320         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37321         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37322         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37323         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37324         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37325         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37326         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37327         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37328         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37329         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37330         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37331         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37332         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37333         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37334         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37335         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37336         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37337         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
37338         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
37339         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
37340         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
37341         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37342         * tests/uniwidth/test-u8-width.c: Likewise.
37343         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37344         * tests/uniwidth/test-u16-width.c: Likewise.
37345         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37346         * tests/uniwidth/test-u32-width.c: Likewise.
37347         * tests/uniwidth/test-uc_width.c: Likewise.
37348         * tests/uniwidth/test-uc_width2.c: Likewise.
37349         * modules/acl-tests (Files): Add tests/macros.h.
37350         * modules/areadlink-tests (Files): Likewise.
37351         * modules/areadlink-with-size-tests (Files): Likewise.
37352         * modules/areadlinkat-tests (Files): Likewise.
37353         * modules/areadlinkat-with-size-tests (Files): Likewise.
37354         * modules/argmatch-tests (Files): Likewise.
37355         * modules/argv-iter-tests (Files): Likewise.
37356         * modules/array-list-tests (Files): Likewise.
37357         * modules/array-mergesort-tests (Files): Likewise.
37358         * modules/array-oset-tests (Files): Likewise.
37359         * modules/avltree-list-tests (Files): Likewise.
37360         * modules/avltree-oset-tests (Files): Likewise.
37361         * modules/avltreehash-list-tests (Files): Likewise.
37362         * modules/base64-tests (Files): Likewise.
37363         * modules/binary-io-tests (Files): Likewise.
37364         * modules/bitrotate-tests (Files): Likewise.
37365         * modules/btowc-tests (Files): Likewise.
37366         * modules/byteswap-tests (Files): Likewise.
37367         * modules/c-ctype-tests (Files): Likewise.
37368         * modules/c-stack-tests (Files): Likewise.
37369         * modules/c-strcase-tests (Files): Likewise.
37370         * modules/c-strcasestr-tests (Files): Likewise.
37371         * modules/c-strstr-tests (Files): Likewise.
37372         * modules/canonicalize-lgpl-tests (Files): Likewise.
37373         * modules/canonicalize-tests (Files): Likewise.
37374         * modules/carray-list-tests (Files): Likewise.
37375         * modules/ceilf-tests (Files): Likewise.
37376         * modules/ceill-tests (Files): Likewise.
37377         * modules/chown-tests (Files): Likewise.
37378         * modules/cloexec-tests (Files): Likewise.
37379         * modules/copy-file-tests (Files): Likewise.
37380         * modules/count-one-bits-tests (Files): Likewise.
37381         * modules/dprintf-posix-tests (Files): Likewise.
37382         * modules/dup2-tests (Files): Likewise.
37383         * modules/dup3-tests (Files): Likewise.
37384         * modules/duplocale-tests (Files): Likewise.
37385         * modules/fbufmode-tests (Files): Likewise.
37386         * modules/fchdir-tests (Files): Likewise.
37387         * modules/fcntl-safer-tests (Files): Likewise.
37388         * modules/fcntl-tests (Files): Likewise.
37389         * modules/fdopendir-tests (Files): Likewise.
37390         * modules/fdutimensat-tests (Files): Likewise.
37391         * modules/fflush-tests (Files): Likewise.
37392         * modules/filevercmp-tests (Files): Likewise.
37393         * modules/flock-tests (Files): Likewise.
37394         * modules/floorf-tests (Files): Likewise.
37395         * modules/floorl-tests (Files): Likewise.
37396         * modules/fnmatch-tests (Files): Likewise.
37397         * modules/fopen-safer-tests (Files): Likewise.
37398         * modules/fopen-tests (Files): Likewise.
37399         * modules/fpending-tests (Files): Likewise.
37400         * modules/fprintf-posix-tests (Files): Likewise.
37401         * modules/fpurge-tests (Files): Likewise.
37402         * modules/freadable-tests (Files): Likewise.
37403         * modules/freadahead-tests (Files): Likewise.
37404         * modules/freading-tests (Files): Likewise.
37405         * modules/freadptr-tests (Files): Likewise.
37406         * modules/freadseek-tests (Files): Likewise.
37407         * modules/freopen-tests (Files): Likewise.
37408         * modules/frexp-nolibm-tests (Files): Likewise.
37409         * modules/frexp-tests (Files): Likewise.
37410         * modules/frexpl-nolibm-tests (Files): Likewise.
37411         * modules/frexpl-tests (Files): Likewise.
37412         * modules/fseek-tests (Files): Likewise.
37413         * modules/fseeko-tests (Files): Likewise.
37414         * modules/fstrcmp-tests (Files): Likewise.
37415         * modules/fsync-tests (Files): Likewise.
37416         * modules/ftell-tests (Files): Likewise.
37417         * modules/ftello-tests (Files): Likewise.
37418         * modules/func-tests (Files): Likewise.
37419         * modules/futimens-tests (Files): Likewise.
37420         * modules/fwritable-tests (Files): Likewise.
37421         * modules/fwriting-tests (Files): Likewise.
37422         * modules/getcwd-tests (Files): Likewise.
37423         * modules/getdate-tests (Files): Likewise.
37424         * modules/getdelim-tests (Files): Likewise.
37425         * modules/getdtablesize-tests (Files): Likewise.
37426         * modules/getgroups-tests (Files): Likewise.
37427         * modules/getline-tests (Files): Likewise.
37428         * modules/getndelim2-tests (Files): Likewise.
37429         * modules/glob-tests (Files): Likewise.
37430         * modules/hash-tests (Files): Likewise.
37431         * modules/i-ring-tests (Files): Likewise.
37432         * modules/iconv-tests (Files): Likewise.
37433         * modules/iconv_open-utf-tests (Files): Likewise.
37434         * modules/idpriv-drop-tests (Files): Likewise.
37435         * modules/idpriv-droptemp-tests (Files): Likewise.
37436         * modules/inet_ntop-tests (Files): Likewise.
37437         * modules/inet_pton-tests (Files): Likewise.
37438         * modules/isblank-tests (Files): Likewise.
37439         * modules/isfinite-tests (Files): Likewise.
37440         * modules/isinf-tests (Files): Likewise.
37441         * modules/isnan-tests (Files): Likewise.
37442         * modules/isnand-nolibm-tests (Files): Likewise.
37443         * modules/isnand-tests (Files): Likewise.
37444         * modules/isnanf-nolibm-tests (Files): Likewise.
37445         * modules/isnanf-tests (Files): Likewise.
37446         * modules/isnanl-nolibm-tests (Files): Likewise.
37447         * modules/isnanl-tests (Files): Likewise.
37448         * modules/lchown-tests (Files): Likewise.
37449         * modules/ldexpl-tests (Files): Likewise.
37450         * modules/link-tests (Files): Likewise.
37451         * modules/linkat-tests (Files): Likewise.
37452         * modules/linked-list-tests (Files): Likewise.
37453         * modules/linkedhash-list-tests (Files): Likewise.
37454         * modules/localename-tests (Files): Likewise.
37455         * modules/lseek-tests (Files): Likewise.
37456         * modules/lstat-tests (Files): Likewise.
37457         * modules/mbmemcasecmp-tests (Files): Likewise.
37458         * modules/mbmemcasecoll-tests (Files): Likewise.
37459         * modules/mbrtowc-tests (Files): Likewise.
37460         * modules/mbscasecmp-tests (Files): Likewise.
37461         * modules/mbscasestr-tests (Files): Likewise.
37462         * modules/mbschr-tests (Files): Likewise.
37463         * modules/mbscspn-tests (Files): Likewise.
37464         * modules/mbsinit-tests (Files): Likewise.
37465         * modules/mbsncasecmp-tests (Files): Likewise.
37466         * modules/mbsnrtowcs-tests (Files): Likewise.
37467         * modules/mbspbrk-tests (Files): Likewise.
37468         * modules/mbspcasecmp-tests (Files): Likewise.
37469         * modules/mbsrchr-tests (Files): Likewise.
37470         * modules/mbsrtowcs-tests (Files): Likewise.
37471         * modules/mbsspn-tests (Files): Likewise.
37472         * modules/mbsstr-tests (Files): Likewise.
37473         * modules/memchr-tests (Files): Likewise.
37474         * modules/memchr2-tests (Files): Likewise.
37475         * modules/memcmp-tests (Files): Likewise.
37476         * modules/memmem-tests (Files): Likewise.
37477         * modules/memrchr-tests (Files): Likewise.
37478         * modules/mkdir-tests (Files): Likewise.
37479         * modules/mkfifo-tests (Files): Likewise.
37480         * modules/mkfifoat-tests (Files): Likewise.
37481         * modules/mknod-tests (Files): Likewise.
37482         * modules/nanosleep-tests (Files): Likewise.
37483         * modules/nl_langinfo-tests (Files): Likewise.
37484         * modules/obstack-printf-tests (Files): Likewise.
37485         * modules/open-tests (Files): Likewise.
37486         * modules/openat-tests (Files): Likewise.
37487         * modules/pipe-filter-gi-tests (Files): Likewise.
37488         * modules/pipe-filter-ii-tests (Files): Likewise.
37489         * modules/pipe2-tests (Files): Likewise.
37490         * modules/popen-safer-tests (Files): Likewise.
37491         * modules/popen-tests (Files): Likewise.
37492         * modules/posixtm-tests (Files): Likewise.
37493         * modules/pread-tests (Files): Likewise.
37494         * modules/printf-frexp-tests (Files): Likewise.
37495         * modules/printf-frexpl-tests (Files): Likewise.
37496         * modules/printf-posix-tests (Files): Likewise.
37497         * modules/priv-set-tests (Files): Likewise.
37498         * modules/quotearg-tests (Files): Likewise.
37499         * modules/random_r-tests (Files): Likewise.
37500         * modules/rawmemchr-tests (Files): Likewise.
37501         * modules/rbtree-list-tests (Files): Likewise.
37502         * modules/rbtree-oset-tests (Files): Likewise.
37503         * modules/rbtreehash-list-tests (Files): Likewise.
37504         * modules/readlink-tests (Files): Likewise.
37505         * modules/remove-tests (Files): Likewise.
37506         * modules/rename-tests (Files): Likewise.
37507         * modules/renameat-tests (Files): Likewise.
37508         * modules/rmdir-tests (Files): Likewise.
37509         * modules/round-tests (Files): Likewise.
37510         * modules/roundf-tests (Files): Likewise.
37511         * modules/roundl-tests (Files): Likewise.
37512         * modules/safe-alloc-tests (Files): Likewise.
37513         * modules/setenv-tests (Files): Likewise.
37514         * modules/sigaction-tests (Files): Likewise.
37515         * modules/signbit-tests (Files): Likewise.
37516         * modules/sleep-tests (Files): Likewise.
37517         * modules/snprintf-posix-tests (Files): Likewise.
37518         * modules/snprintf-tests (Files): Likewise.
37519         * modules/sprintf-posix-tests (Files): Likewise.
37520         * modules/stat-tests (Files): Likewise.
37521         * modules/stat-time-tests (Files): Likewise.
37522         * modules/strcasestr-tests (Files): Likewise.
37523         * modules/strchrnul-tests (Files): Likewise.
37524         * modules/strerror-tests (Files): Likewise.
37525         * modules/striconv-tests (Files): Likewise.
37526         * modules/striconveh-tests (Files): Likewise.
37527         * modules/striconveha-tests (Files): Likewise.
37528         * modules/strsignal-tests (Files): Likewise.
37529         * modules/strstr-tests (Files): Likewise.
37530         * modules/strtod-tests (Files): Likewise.
37531         * modules/strverscmp-tests (Files): Likewise.
37532         * modules/symlink-tests (Files): Likewise.
37533         * modules/symlinkat-tests (Files): Likewise.
37534         * modules/trunc-tests (Files): Likewise.
37535         * modules/truncf-tests (Files): Likewise.
37536         * modules/truncl-tests (Files): Likewise.
37537         * modules/uname-tests (Files): Likewise.
37538         * modules/unicase/cased-tests (Files): Likewise.
37539         * modules/unicase/ignorable-tests (Files): Likewise.
37540         * modules/unicase/locale-language-tests (Files): Likewise.
37541         * modules/unicase/tolower-tests (Files): Likewise.
37542         * modules/unicase/totitle-tests (Files): Likewise.
37543         * modules/unicase/toupper-tests (Files): Likewise.
37544         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37545         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37546         * modules/unicase/u8-casefold-tests (Files): Likewise.
37547         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37548         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37549         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37550         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37551         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37552         * modules/unicase/u8-tolower-tests (Files): Likewise.
37553         * modules/unicase/u8-totitle-tests (Files): Likewise.
37554         * modules/unicase/u8-toupper-tests (Files): Likewise.
37555         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37556         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37557         * modules/unicase/u16-casefold-tests (Files): Likewise.
37558         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37559         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37560         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37561         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37562         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37563         * modules/unicase/u16-tolower-tests (Files): Likewise.
37564         * modules/unicase/u16-totitle-tests (Files): Likewise.
37565         * modules/unicase/u16-toupper-tests (Files): Likewise.
37566         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37567         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37568         * modules/unicase/u32-casefold-tests (Files): Likewise.
37569         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37570         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37571         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37572         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37573         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37574         * modules/unicase/u32-tolower-tests (Files): Likewise.
37575         * modules/unicase/u32-totitle-tests (Files): Likewise.
37576         * modules/unicase/u32-toupper-tests (Files): Likewise.
37577         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37578         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37579         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37580         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37581         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37582         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37583         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37584         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37585         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37586         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37587         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37588         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37589         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37590         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37591         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37592         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37593         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37594         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37595         * modules/unictype/block-list-tests (Files): Likewise.
37596         * modules/unictype/block-of-tests (Files): Likewise.
37597         * modules/unictype/block-test-tests (Files): Likewise.
37598         * modules/unictype/category-C-tests (Files): Likewise.
37599         * modules/unictype/category-Cc-tests (Files): Likewise.
37600         * modules/unictype/category-Cf-tests (Files): Likewise.
37601         * modules/unictype/category-Cn-tests (Files): Likewise.
37602         * modules/unictype/category-Co-tests (Files): Likewise.
37603         * modules/unictype/category-Cs-tests (Files): Likewise.
37604         * modules/unictype/category-L-tests (Files): Likewise.
37605         * modules/unictype/category-Ll-tests (Files): Likewise.
37606         * modules/unictype/category-Lm-tests (Files): Likewise.
37607         * modules/unictype/category-Lo-tests (Files): Likewise.
37608         * modules/unictype/category-Lt-tests (Files): Likewise.
37609         * modules/unictype/category-Lu-tests (Files): Likewise.
37610         * modules/unictype/category-M-tests (Files): Likewise.
37611         * modules/unictype/category-Mc-tests (Files): Likewise.
37612         * modules/unictype/category-Me-tests (Files): Likewise.
37613         * modules/unictype/category-Mn-tests (Files): Likewise.
37614         * modules/unictype/category-N-tests (Files): Likewise.
37615         * modules/unictype/category-Nd-tests (Files): Likewise.
37616         * modules/unictype/category-Nl-tests (Files): Likewise.
37617         * modules/unictype/category-No-tests (Files): Likewise.
37618         * modules/unictype/category-P-tests (Files): Likewise.
37619         * modules/unictype/category-Pc-tests (Files): Likewise.
37620         * modules/unictype/category-Pd-tests (Files): Likewise.
37621         * modules/unictype/category-Pe-tests (Files): Likewise.
37622         * modules/unictype/category-Pf-tests (Files): Likewise.
37623         * modules/unictype/category-Pi-tests (Files): Likewise.
37624         * modules/unictype/category-Po-tests (Files): Likewise.
37625         * modules/unictype/category-Ps-tests (Files): Likewise.
37626         * modules/unictype/category-S-tests (Files): Likewise.
37627         * modules/unictype/category-Sc-tests (Files): Likewise.
37628         * modules/unictype/category-Sk-tests (Files): Likewise.
37629         * modules/unictype/category-Sm-tests (Files): Likewise.
37630         * modules/unictype/category-So-tests (Files): Likewise.
37631         * modules/unictype/category-Z-tests (Files): Likewise.
37632         * modules/unictype/category-Zl-tests (Files): Likewise.
37633         * modules/unictype/category-Zp-tests (Files): Likewise.
37634         * modules/unictype/category-Zs-tests (Files): Likewise.
37635         * modules/unictype/category-and-not-tests (Files): Likewise.
37636         * modules/unictype/category-and-tests (Files): Likewise.
37637         * modules/unictype/category-byname-tests (Files): Likewise.
37638         * modules/unictype/category-name-tests (Files): Likewise.
37639         * modules/unictype/category-none-tests (Files): Likewise.
37640         * modules/unictype/category-of-tests (Files): Likewise.
37641         * modules/unictype/category-or-tests (Files): Likewise.
37642         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37643         * modules/unictype/combining-class-tests (Files): Likewise.
37644         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37645         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37646         * modules/unictype/ctype-blank-tests (Files): Likewise.
37647         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37648         * modules/unictype/ctype-digit-tests (Files): Likewise.
37649         * modules/unictype/ctype-graph-tests (Files): Likewise.
37650         * modules/unictype/ctype-lower-tests (Files): Likewise.
37651         * modules/unictype/ctype-print-tests (Files): Likewise.
37652         * modules/unictype/ctype-punct-tests (Files): Likewise.
37653         * modules/unictype/ctype-space-tests (Files): Likewise.
37654         * modules/unictype/ctype-upper-tests (Files): Likewise.
37655         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37656         * modules/unictype/decimal-digit-tests (Files): Likewise.
37657         * modules/unictype/digit-tests (Files): Likewise.
37658         * modules/unictype/mirror-tests (Files): Likewise.
37659         * modules/unictype/numeric-tests (Files): Likewise.
37660         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37661         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37662         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
37663         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
37664         Likewise.
37665         * modules/unictype/property-bidi-block-separator-tests (Files):
37666         Likewise.
37667         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
37668         Likewise.
37669         * modules/unictype/property-bidi-common-separator-tests (Files):
37670         Likewise.
37671         * modules/unictype/property-bidi-control-tests (Files): Likewise.
37672         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
37673         Likewise.
37674         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
37675         Likewise.
37676         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
37677         Likewise.
37678         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
37679         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
37680         Likewise.
37681         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
37682         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
37683         Likewise.
37684         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
37685         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
37686         * modules/unictype/property-bidi-segment-separator-tests (Files):
37687         Likewise.
37688         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
37689         * modules/unictype/property-byname-tests (Files): Likewise.
37690         * modules/unictype/property-combining-tests (Files): Likewise.
37691         * modules/unictype/property-composite-tests (Files): Likewise.
37692         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
37693         * modules/unictype/property-dash-tests (Files): Likewise.
37694         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
37695         * modules/unictype/property-default-ignorable-code-point-tests (Files):
37696         Likewise.
37697         * modules/unictype/property-deprecated-tests (Files): Likewise.
37698         * modules/unictype/property-diacritic-tests (Files): Likewise.
37699         * modules/unictype/property-extender-tests (Files): Likewise.
37700         * modules/unictype/property-format-control-tests (Files): Likewise.
37701         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
37702         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
37703         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
37704         * modules/unictype/property-hex-digit-tests (Files): Likewise.
37705         * modules/unictype/property-hyphen-tests (Files): Likewise.
37706         * modules/unictype/property-id-continue-tests (Files): Likewise.
37707         * modules/unictype/property-id-start-tests (Files): Likewise.
37708         * modules/unictype/property-ideographic-tests (Files): Likewise.
37709         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
37710         * modules/unictype/property-ids-trinary-operator-tests (Files):
37711         Likewise.
37712         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
37713         * modules/unictype/property-iso-control-tests (Files): Likewise.
37714         * modules/unictype/property-join-control-tests (Files): Likewise.
37715         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
37716         * modules/unictype/property-line-separator-tests (Files): Likewise.
37717         * modules/unictype/property-logical-order-exception-tests (Files):
37718         Likewise.
37719         * modules/unictype/property-lowercase-tests (Files): Likewise.
37720         * modules/unictype/property-math-tests (Files): Likewise.
37721         * modules/unictype/property-non-break-tests (Files): Likewise.
37722         * modules/unictype/property-not-a-character-tests (Files): Likewise.
37723         * modules/unictype/property-numeric-tests (Files): Likewise.
37724         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
37725         * modules/unictype/property-other-default-ignorable-code-point-tests
37726         (Files): Likewise.
37727         * modules/unictype/property-other-grapheme-extend-tests (Files):
37728         Likewise.
37729         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
37730         * modules/unictype/property-other-id-start-tests (Files): Likewise.
37731         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
37732         * modules/unictype/property-other-math-tests (Files): Likewise.
37733         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
37734         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
37735         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
37736         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
37737         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
37738         * modules/unictype/property-private-use-tests (Files): Likewise.
37739         * modules/unictype/property-punctuation-tests (Files): Likewise.
37740         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
37741         * modules/unictype/property-radical-tests (Files): Likewise.
37742         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
37743         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
37744         * modules/unictype/property-space-tests (Files): Likewise.
37745         * modules/unictype/property-terminal-punctuation-tests (Files):
37746         Likewise.
37747         * modules/unictype/property-test-tests (Files): Likewise.
37748         * modules/unictype/property-titlecase-tests (Files): Likewise.
37749         * modules/unictype/property-unassigned-code-value-tests (Files):
37750         Likewise.
37751         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
37752         * modules/unictype/property-uppercase-tests (Files): Likewise.
37753         * modules/unictype/property-variation-selector-tests (Files): Likewise.
37754         * modules/unictype/property-white-space-tests (Files): Likewise.
37755         * modules/unictype/property-xid-continue-tests (Files): Likewise.
37756         * modules/unictype/property-xid-start-tests (Files): Likewise.
37757         * modules/unictype/property-zero-width-tests (Files): Likewise.
37758         * modules/unictype/scripts-tests (Files): Likewise.
37759         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
37760         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
37761         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
37762         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
37763         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
37764         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
37765         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
37766         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
37767         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
37768         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
37769         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
37770         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
37771         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
37772         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
37773         * modules/uninorm/composition-tests (Files): Likewise.
37774         * modules/uninorm/decomposing-form-tests (Files): Likewise.
37775         * modules/uninorm/decomposition-tests (Files): Likewise.
37776         * modules/uninorm/filter-tests (Files): Likewise.
37777         * modules/uninorm/nfc-tests (Files): Likewise.
37778         * modules/uninorm/nfd-tests (Files): Likewise.
37779         * modules/uninorm/nfkc-tests (Files): Likewise.
37780         * modules/uninorm/nfkd-tests (Files): Likewise.
37781         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
37782         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
37783         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
37784         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
37785         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
37786         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
37787         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
37788         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
37789         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
37790         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
37791         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
37792         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
37793         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
37794         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
37795         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
37796         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
37797         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
37798         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
37799         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
37800         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
37801         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
37802         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
37803         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
37804         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
37805         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
37806         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
37807         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
37808         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
37809         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
37810         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
37811         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
37812         * modules/uniwidth/u8-width-tests (Files): Likewise.
37813         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
37814         * modules/uniwidth/u16-width-tests (Files): Likewise.
37815         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
37816         * modules/uniwidth/u32-width-tests (Files): Likewise.
37817         * modules/uniwidth/width-tests (Files): Likewise.
37818         * modules/unlink-tests (Files): Likewise.
37819         * modules/unsetenv-tests (Files): Likewise.
37820         * modules/usleep-tests (Files): Likewise.
37821         * modules/utimens-tests (Files): Likewise.
37822         * modules/utimensat-tests (Files): Likewise.
37823         * modules/vasnprintf-posix-tests (Files): Likewise.
37824         * modules/vasnprintf-tests (Files): Likewise.
37825         * modules/vasprintf-posix-tests (Files): Likewise.
37826         * modules/vasprintf-tests (Files): Likewise.
37827         * modules/vdprintf-posix-tests (Files): Likewise.
37828         * modules/vfprintf-posix-tests (Files): Likewise.
37829         * modules/vprintf-posix-tests (Files): Likewise.
37830         * modules/vsnprintf-posix-tests (Files): Likewise.
37831         * modules/vsnprintf-tests (Files): Likewise.
37832         * modules/vsprintf-posix-tests (Files): Likewise.
37833         * modules/wcrtomb-tests (Files): Likewise.
37834         * modules/wcsnrtombs-tests (Files): Likewise.
37835         * modules/wcsrtombs-tests (Files): Likewise.
37836         * modules/wctype-tests (Files): Likewise.
37837         * modules/wcwidth-tests (Files): Likewise.
37838         * modules/xmemdup0-tests (Files): Likewise.
37839         * modules/xprintf-posix-tests (Files): Likewise.
37840         * modules/xvasprintf-tests (Files): Likewise.
37841
37842 2009-12-24  Eric Blake  <ebb9@byu.net>
37843
37844         test-nanosleep: fix typo
37845         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
37846         patch.
37847         Reported by Bruno Haible.
37848
37849 2009-12-24  Bruno Haible  <bruno@clisp.org>
37850
37851         Reduce namespace pollution on glibc systems.
37852         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
37853         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
37854         systems.
37855         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
37856         <getopt.h> on glibc systems.
37857         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
37858         systems.
37859         * lib/fcntl.c: Include <unistd.h> here instead.
37860
37861 2009-12-24  Bruno Haible  <bruno@clisp.org>
37862
37863         * lib/stdlib.in.h (includes): Fix typo in today's commit.
37864
37865 2009-12-24  Eric Blake  <ebb9@byu.net>
37866
37867         tests: add signature checks
37868         * tests/signature.h (SIGNATURE_CHECK): New file.
37869         * modules/atexit-tests (Files): Use it.
37870         * modules/btowc-tests (Files): Likewise.
37871         * modules/canonicalize-lgpl-tests (Files): Likewise.
37872         * modules/ceilf-tests (Files): Likewise.
37873         * modules/ceill-tests (Files): Likewise.
37874         * modules/chown-tests (Files): Likewise.
37875         * modules/dprintf-posix-tests (Files): Likewise.
37876         * modules/dup2-tests (Files): Likewise.
37877         * modules/dup3-tests (Files): Likewise.
37878         * modules/duplocale-tests (Files): Likewise.
37879         * modules/fchdir-tests (Files): Likewise.
37880         * modules/fcntl-tests (Files): Likewise.
37881         * modules/fdopendir-tests (Files): Likewise.
37882         * modules/fflush-tests (Files): Likewise.
37883         * modules/flock-tests (Files): Likewise.
37884         * modules/floorf-tests (Files): Likewise.
37885         * modules/floorl-tests (Files): Likewise.
37886         * modules/fnmatch-tests (Files): Likewise.
37887         * modules/fopen-tests (Files): Likewise.
37888         * modules/fprintf-posix-tests (Files): Likewise.
37889         * modules/freopen-tests (Files): Likewise.
37890         * modules/frexp-nolibm-tests (Files): Likewise.
37891         * modules/frexp-tests (Files): Likewise.
37892         * modules/frexpl-nolibm-tests (Files): Likewise.
37893         * modules/frexpl-tests (Files): Likewise.
37894         * modules/fseek-tests (Files): Likewise.
37895         * modules/fseeko-tests (Files): Likewise.
37896         * modules/fsync-tests (Files): Likewise.
37897         * modules/ftell-tests (Files): Likewise.
37898         * modules/ftello-tests (Files): Likewise.
37899         * modules/futimens-tests (Files): Likewise.
37900         * modules/getaddrinfo-tests (Files): Likewise.
37901         * modules/getcwd-tests (Files): Likewise.
37902         * modules/getdelim-tests (Files): Likewise.
37903         * modules/getdtablesize-tests (Files): Likewise.
37904         * modules/getgroups-tests (Files): Likewise.
37905         * modules/gethostname-tests (Files): Likewise.
37906         * modules/getline-tests (Files): Likewise.
37907         * modules/getopt-posix-tests (Files): Likewise.
37908         * modules/gettimeofday-tests (Files): Likewise.
37909         * modules/glob-tests (Files): Likewise.
37910         * modules/iconv-tests (Files): Likewise.
37911         * modules/inet_ntop-tests (Files): Likewise.
37912         * modules/inet_pton-tests (Files): Likewise.
37913         * modules/isblank-tests (Files): Likewise.
37914         * modules/lchown-tests (Files): Likewise.
37915         * modules/ldexpl-tests (Files): Likewise.
37916         * modules/link-tests (Files): Likewise.
37917         * modules/linkat-tests (Files): Likewise.
37918         * modules/lseek-tests (Files): Likewise.
37919         * modules/lstat-tests (Files): Likewise.
37920         * modules/mbrtowc-tests (Files): Likewise.
37921         * modules/mbsinit-tests (Files): Likewise.
37922         * modules/mbsnrtowcs-tests (Files): Likewise.
37923         * modules/mbsrtowcs-tests (Files): Likewise.
37924         * modules/memchr-tests (Files): Likewise.
37925         * modules/memcmp-tests (Files): Likewise.
37926         * modules/memmem-tests (Files): Likewise.
37927         * modules/memrchr-tests (Files): Likewise.
37928         * modules/mkdir-tests (Files): Likewise.
37929         * modules/mkfifo-tests (Files): Likewise.
37930         * modules/mkfifoat-tests (Files): Likewise.
37931         * modules/mknod-tests (Files): Likewise.
37932         * modules/nanosleep-tests (Files): Likewise.
37933         * modules/nl_langinfo-tests (Files): Likewise.
37934         * modules/obstack-printf-tests (Files): Likewise.
37935         * modules/open-tests (Files): Likewise.
37936         * modules/openat-tests (Files): Likewise.
37937         * modules/perror-tests (Files): Likewise.
37938         * modules/pipe2-tests (Files): Likewise.
37939         * modules/poll-tests (Files): Likewise.
37940         * modules/popen-tests (Files): Likewise.
37941         * modules/posix_spawn-tests (Files): Likewise.
37942         * modules/posix_spawnp-tests (Files): Likewise.
37943         * modules/pread-tests (Files): Likewise.
37944         * modules/printf-posix-tests (Files): Likewise.
37945         * modules/pty-tests (Files): Likewise.
37946         * modules/random_r-tests (Files): Likewise.
37947         * modules/rawmemchr-tests (Files): Likewise.
37948         * modules/readlink-tests (Files): Likewise.
37949         * modules/remove-tests (Files): Likewise.
37950         * modules/rename-tests (Files): Likewise.
37951         * modules/renameat-tests (Files): Likewise.
37952         * modules/rmdir-tests (Files): Likewise.
37953         * modules/round-tests (Files): Likewise.
37954         * modules/roundf-tests (Files): Likewise.
37955         * modules/roundl-tests (Files): Likewise.
37956         * modules/select-tests (Files): Likewise.
37957         * modules/setenv-tests (Files): Likewise.
37958         * modules/sigaction-tests (Files): Likewise.
37959         * modules/sleep-tests (Files): Likewise.
37960         * modules/snprintf-posix-tests (Files): Likewise.
37961         * modules/snprintf-tests (Files): Likewise.
37962         * modules/sprintf-posix-tests (Files): Likewise.
37963         * modules/stat-tests (Files): Likewise.
37964         * modules/strcasestr-tests (Files): Likewise.
37965         * modules/strchrnul-tests (Files): Likewise.
37966         * modules/strerror-tests (Files): Likewise.
37967         * modules/strsignal-tests (Files): Likewise.
37968         * modules/strstr-tests (Files): Likewise.
37969         * modules/strtod-tests (Files): Likewise.
37970         * modules/strverscmp-tests (Files): Likewise.
37971         * modules/symlink-tests (Files): Likewise.
37972         * modules/symlinkat-tests (Files): Likewise.
37973         * modules/times-tests (Files): Likewise.
37974         * modules/trunc-tests (Files): Likewise.
37975         * modules/truncf-tests (Files): Likewise.
37976         * modules/truncl-tests (Files): Likewise.
37977         * modules/tsearch-tests (Files): Likewise.
37978         * modules/uname-tests (Files): Likewise.
37979         * modules/unlink-tests (Files): Likewise.
37980         * modules/unsetenv-tests (Files): Likewise.
37981         * modules/usleep-tests (Files): Likewise.
37982         * modules/utimensat-tests (Files): Likewise.
37983         * modules/vasprintf-tests (Files): Likewise.
37984         * modules/vdprintf-posix-tests (Files): Likewise.
37985         * modules/vfprintf-posix-tests (Files): Likewise.
37986         * modules/vprintf-posix-tests (Files): Likewise.
37987         * modules/vsnprintf-posix-tests (Files): Likewise.
37988         * modules/vsnprintf-tests (Files): Likewise.
37989         * modules/vsprintf-posix-tests (Files): Likewise.
37990         * modules/wcrtomb-tests (Files): Likewise.
37991         * modules/wcsnrtombs-tests (Files): Likewise.
37992         * modules/wcsrtombs-tests (Files): Likewise.
37993         * modules/wcwidth-tests (Files): Likewise.
37994         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
37995         * tests/test-isinf.c (isinf): Likewise.
37996         * tests/test-isnan.c (isnan): Likewise.
37997         * tests/test-signbit.c (signbit): Likewise.
37998         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
37999         declaration, either as macro or with correct signature.
38000         (select): Ensure function under test is declared with correct
38001         signature in correct header.
38002         * tests/test-atexit.c (atexit): Likewise.
38003         * tests/test-btowc.c (btowc): Likewise.
38004         * tests/test-canonicalize-lgpl.c (realpath)
38005         (canonicalize_file_name): Likewise.
38006         * tests/test-ceilf1.c (ceilf): Likewise.
38007         * tests/test-ceill.c (ceill): Likewise.
38008         * tests/test-chown.c (chown): Likewise.
38009         * tests/test-dprintf-posix.c (dprintf): Likewise.
38010         * tests/test-dup2.c (dup2): Likewise.
38011         * tests/test-dup3.c (dup3): Likewise.
38012         * tests/test-duplocale.c (duplocale): Likewise.
38013         * tests/test-fchdir.c (fchdir): Likewise.
38014         * tests/test-fchownat.c (fchownat): Likewise.
38015         * tests/test-fcntl.c (fcntl): Likewise.
38016         * tests/test-fdopendir.c (fdopendir): Likewise.
38017         * tests/test-fflush.c (fflush): Likewise.
38018         * tests/test-flock.c (flock): Likewise.
38019         * tests/test-floorf1.c (floorf): Likewise.
38020         * tests/test-floorl.c (floorl): Likewise.
38021         * tests/test-fnmatch.c (fnmatch): Likewise.
38022         * tests/test-fopen.c (fopen): Likewise.
38023         * tests/test-fprintf-posix.c (fprintf): Likewise.
38024         * tests/test-freopen.c (freopen): Likewise.
38025         * tests/test-frexp.c (frexp): Likewise.
38026         * tests/test-frexpl.c (frexpl): Likewise.
38027         * tests/test-fseek.c (fseek): Likewise.
38028         * tests/test-fseeko.c (fseeko): Likewise.
38029         * tests/test-fstatat.c (fstatat): Likewise.
38030         * tests/test-fsync.c (fsync): Likewise.
38031         * tests/test-ftell.c (ftell): Likewise.
38032         * tests/test-ftello.c (ftello): Likewise.
38033         * tests/test-futimens.c (futimens): Likewise.
38034         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38035         (gai_strerror): Likewise.
38036         * tests/test-getcwd.c (getcwd): Likewise.
38037         * tests/test-getdelim.c (getdelim): Likewise.
38038         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38039         * tests/test-getgroups.c (getgroups): Likewise.
38040         * tests/test-gethostname.c (gethostname): Likewise.
38041         * tests/test-getline.c (getline): Likewise.
38042         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38043         Likewise.
38044         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38045         * tests/test-glob.c (glob, globfree): Likewise.
38046         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38047         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38048         * tests/test-inet_pton.c (inet_pton): Likewise.
38049         * tests/test-isblank.c (isblank): Likewise.
38050         * tests/test-lchown.c (lchown): Likewise.
38051         * tests/test-ldexpl.c (ldexpl): Likewise.
38052         * tests/test-link.c (link): Likewise.
38053         * tests/test-linkat.c (linkat): Likewise.
38054         * tests/test-lseek.c (lseek): Likewise.
38055         * tests/test-lstat.c (lstat): Likewise.
38056         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38057         * tests/test-mbsinit.c (mbsinit): Likewise.
38058         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38059         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38060         * tests/test-memchr.c (memchr): Likewise.
38061         * tests/test-memcmp.c (memcmp): Likewise.
38062         * tests/test-memmem.c (memmem): Likewise.
38063         * tests/test-memrchr.c (memrchr): Likewise.
38064         * tests/test-mkdir.c (mkdir): Likewise.
38065         * tests/test-mkdirat.c (mkdirat): Likewise.
38066         * tests/test-mkfifo.c (mkfifo): Likewise.
38067         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
38068         * tests/test-mknod.c (mknod): Likewise.
38069         * tests/test-nanosleep.c (nanosleep): Likewise.
38070         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
38071         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
38072         Likewise.
38073         * tests/test-open.c (open): Likewise.
38074         * tests/test-openat.c (openat): Likewise.
38075         * tests/test-perror.c (perror): Likewise.
38076         * tests/test-pipe2.c (pipe2): Likewise.
38077         * tests/test-poll.c (poll): Likewise.
38078         * tests/test-popen.c (popen, pclose): Likewise.
38079         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
38080         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
38081         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
38082         (posix_spawn_file_actions_destroy)
38083         (posix_spawn_file_actions_addclose)
38084         (posix_spawn_file_actions_addopen)
38085         (posix_spawn_file_actions_adddup2): Likewise.
38086         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
38087         * tests/test-pread.c (pread): Likewise.
38088         * tests/test-printf-posix.c (printf): Likewise.
38089         * tests/test-pty.c (openpty, forkpty): Likewise.
38090         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
38091         (random_r): Likewise.
38092         * tests/test-rawmemchr.c (rawmemchr): Likewise.
38093         * tests/test-readlink.c (readlink): Likewise.
38094         * tests/test-remove.c (remove): Likewise.
38095         * tests/test-rename.c (rename): Likewise.
38096         * tests/test-renameat.c (renameat): Likewise.
38097         * tests/test-rmdir.c (rmdir): Likewise.
38098         * tests/test-round1.c (round): Likewise.
38099         * tests/test-roundf1.c (roundf): Likewise.
38100         * tests/test-roundl.c (roundl): Likewise.
38101         * tests/test-setenv.c (setenv): Likewise.
38102         * tests/test-sigaction.c (sigaction): Likewise.
38103         * tests/test-sleep.c (sleep): Likewise.
38104         * tests/test-snprintf.c (snprintf): Likewise.
38105         * tests/test-sprintf-posix.c (sprintf): Likewise.
38106         * tests/test-stat.c (stat): Likewise.
38107         * tests/test-stpncpy.c (stpncpy): Likewise.
38108         * tests/test-strcasestr.c (strcasestr): Likewise.
38109         * tests/test-strchrnul.c (strchrnul): Likewise.
38110         * tests/test-strerror.c (strerror): Likewise.
38111         * tests/test-strsignal.c (strsignal): Likewise.
38112         * tests/test-strstr.c (strstr): Likewise.
38113         * tests/test-strtod.c (strtod): Likewise.
38114         * tests/test-strverscmp.c (strverscmp): Likewise.
38115         * tests/test-symlink.c (symlink): Likewise.
38116         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
38117         * tests/test-times.c (times): Likewise.
38118         * tests/test-trunc1.c (trunc): Likewise.
38119         * tests/test-truncf1.c (truncf): Likewise.
38120         * tests/test-truncl.c (truncl): Likewise.
38121         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
38122         Likewise.
38123         * tests/test-uname.c (uname): Likewise.
38124         * tests/test-unlink.c (unlink): Likewise.
38125         * tests/test-unlinkat.c (unlinkat): Likewise.
38126         * tests/test-unsetenv.c (unsetenv): Likewise.
38127         * tests/test-usleep.c (usleep): Likewise.
38128         * tests/test-utimensat.c (utimensat): Likewise.
38129         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
38130         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
38131         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
38132         * tests/test-vprintf-posix.c (vprintf): Likewise.
38133         * tests/test-vsnprintf.c (vsnprintf): Likewise.
38134         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
38135         * tests/test-wcrtomb.c (wcrtomb): Likewise.
38136         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
38137         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
38138         * tests/test-wcwidth.c (wcwidth): Likewise.
38139
38140         build: pull in conditional headers during GNULIB_POSIXCHECK
38141         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
38142         definitions from any conditionally-included headers.
38143         * lib/stdlib.in.h (includes): Likewise.
38144         * lib/unistd.in.h (includes): Likewise.
38145
38146 2009-12-24  Bruno Haible  <bruno@clisp.org>
38147
38148         * tests/test-argv-iter.c: Include header file being tested immediately
38149         after config.h.
38150         * tests/test-base64.c: Likewise.
38151         * tests/test-flock.c: Likewise.
38152         * tests/test-fsync.c: Likewise.
38153         * tests/test-getdate.c: Likewise.
38154         * tests/test-getndelim2.c: Likewise.
38155         * tests/test-isfinite.c: Likewise.
38156         * tests/test-isinf.c: Likewise.
38157         * tests/test-strerror.c: Likewise.
38158         * tests/test-strsignal.c: Likewise.
38159
38160 2009-12-23  Eric Blake  <ebb9@byu.net>
38161
38162         unistd: work around cygwin bug
38163         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
38164         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
38165         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38166
38167 2009-12-23  Bruno Haible  <bruno@clisp.org>
38168
38169         localename: More tests.
38170         * tests/test-localename.c (SIZEOF): New macro.
38171         (categories): New variable.
38172         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
38173         test_locale_name_default): Add test w.r.t. thread locale.
38174         (test_locale_name_thread): New function.
38175         (main): Invoke it.
38176
38177         localename: Make aware of thread locale.
38178         * lib/localename.h (gl_locale_name_thread): New declaration.
38179         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
38180         behaviour with respect to thread locale.
38181         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
38182         <langinfo.h>, glthread/lock.h.
38183         (SIZE_BITS): New macro.
38184         (string_hash): New function.
38185         (struct hash_node): New type.
38186         (HASH_TABLE_SIZE): New macro.
38187         (struniq_hash_table, struniq_lock): New variables.
38188         (struniq): New function.
38189         (gl_locale_name_thread): New function.
38190         (gl_locale_name): Invoke it.
38191         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
38192         * modules/localename (Depends-on): Add lock.
38193         Reported by Mike Gran <spk121@yahoo.com>.
38194
38195 2009-12-23  Eric Blake  <ebb9@byu.net>
38196
38197         va-args: new module
38198         * modules/va-args: New file.
38199         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
38200         * MODULES.html.sh (Core language properties): Mention it.
38201
38202         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
38203         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
38204         named alias for __attribute__((__unused__)).
38205         * lib/chown.c: Update client.
38206         * lib/fchmodat.c: Likewise.
38207         * lib/fts.c: Likewise.
38208         * lib/getdate.y: Likewise.
38209         * lib/getgroups.c: Likewise.
38210         * lib/getopt.c: Likewise.
38211         * lib/getugroups.c: Likewise.
38212         * lib/mkdir.c: Likewise.
38213         * lib/mkfifo.c: Likewise.
38214         * lib/mkfifoat.c: Likewise.
38215         * lib/mknod.c: Likewise.
38216         * lib/mknodat.c: Likewise.
38217         * lib/readlink.c: Likewise.
38218         * lib/se-context.in.h: Likewise.
38219         * lib/se-selinux.in.h: Likewise.
38220         * lib/sockets.c: Likewise.
38221         * lib/symlink.c: Likewise.
38222         * lib/symlinkat.c: Likewise.
38223         * lib/unicodeio.c: Likewise.
38224         * lib/unistr.h: Likewise.
38225         * tests/test-areadlink.c: Likewise.
38226         * tests/test-areadlinkat.c: Likewise.
38227         * tests/test-filenamecat.c: Likewise.
38228         * tests/test-fseeko.c: Likewise.
38229         * tests/test-ftello.c: Likewise.
38230         * tests/test-getdate.c: Likewise.
38231         * tests/test-getgroups.c: Likewise.
38232         * tests/test-gethostname.c: Likewise.
38233         * tests/test-quotearg.c: Likewise.
38234         * tests/test-version-etc.c: Likewise.
38235         * tests/test-xalloc-die.c: Likewise.
38236         * tests/test-xfprintf-posix.c: Likewise.
38237         * tests/test-xprintf-posix.c: Likewise.
38238         * tests/test-xvasprintf.c: Likewise.
38239
38240         tests: avoid compiler warnings
38241         * tests/test-fcntl.c (main): Delete unused parameters.
38242         * tests/test-freopen-safer.c (main): Likewise.
38243         * tests/test-xalloc-die.c (main): Mark unused parameters.
38244         * tests/test-fseeko.c (main): Likewise.
38245         * tests/test-ftello.c (main): Likewise.
38246         * tests/test-nanosleep.c (main): Avoid declaration warning.
38247         * tests/test-sleep.c (main): Likewise.
38248         * tests/test-unsetenv.c (main): Silence warning about string
38249         literal.
38250         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38251
38252 2009-12-23  Bruno Haible  <bruno@clisp.org>
38253
38254         * tests/test-localename.c (test_locale_name): New function, extracted
38255         from main. Also test mixed situations.
38256         (test_locale_name_posix, test_locale_name_environ,
38257         test_locale_name_default): New functions.
38258         (main): Invoke them all.
38259         * modules/localename-tests (configure.ac): Test for newlocale.
38260
38261 2009-12-23  Bruno Haible  <bruno@clisp.org>
38262
38263         unistd: Ensure getcwd gets declared before being overridden.
38264         * lib/unistd.in.h: Conditionally include <io.h>.
38265
38266 2009-12-22  Bruno Haible  <bruno@clisp.org>
38267
38268         wchar: Diagnose broken combination of glibc and gcc versions and flags.
38269         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
38270         (gl_WCHAR_H): Invoke it.
38271         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
38272         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
38273         Reported by Karl Berry <karl@freefriends.org>.
38274
38275 2009-12-22  Eric Blake  <ebb9@byu.net>
38276
38277         math, unistd: avoid redundant includes
38278         * lib/math.in.h (isnan): No need to re-include <math.h>.
38279         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
38280
38281         getsubopt: work around cygwin bug
38282         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
38283         avoid conflicting with system getsubopt.
38284         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
38285         bug.
38286
38287         getopt: synchronize from glibc
38288         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
38289         parameter order.  Adjust all callers.
38290         (_getopt_internal_r, main): Adjust quoting in error messages.
38291         Drop considerations for outdated POSIX 1003.2 error message.
38292         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
38293         callers.
38294         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
38295
38296         test-getopt: test stderr behavior
38297         * modules/getopt-posix-tests (Depends-on): Add dup2.
38298         * tests/test-getopt.c (ASSERT): Avoid stderr.
38299         (main): Move stderr to a temporary file.
38300         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
38301         Instead, add parameter to inform caller if output occurred.
38302         (test_getopt): Adjust all existing tests to expect silence, and
38303         add new tests of leading ":".
38304         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38305         glibc shortcomings with leading "-:" or "+:" in optstring.
38306         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38307         Likewise.
38308         * doc/posix-functions/getopt.texi (getopt): Likewise.
38309
38310         test-getopt: enhance test
38311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
38312         supports optind=0.
38313         * tests/test-getopt.c (OPTIND_MIN): Move...
38314         * tests/test-getopt.h (OPTIND_MIN): ...here.
38315         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
38316         Require that optind=0 works, since modern BSD supports it in
38317         addition to optreset, and since coreutils expects it.
38318         (test_getopt_long_only): New test.
38319         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38320         glibc shortcomings with 'W;', and enforcement of optind=0.
38321         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38322         Likewise.
38323
38324 2009-12-21  Bruno Haible  <bruno@clisp.org>
38325
38326         localename: Improvements for MacOS X and Cygwin.
38327         * lib/localename.h (gl_locale_name_environ): New declaration.
38328         * lib/localename.c (gl_locale_name_environ): New function, extracted from
38329         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
38330         (gl_locale_name_posix): Invoke it.
38331         (gl_locale_name_default): Add comments. Use Windows native API also on
38332         Cygwin.
38333
38334 2009-12-21  Bruno Haible  <bruno@clisp.org>
38335
38336         Update list of Win32 locale ids.
38337         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
38338         (LANG_SAMI): Renamed from LANG_SAAMI.
38339         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
38340         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
38341         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
38342         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
38343         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
38344         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
38345         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
38346         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
38347         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
38348         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
38349         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
38350         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
38351         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
38352         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
38353         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
38354         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
38355         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
38356         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
38357         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
38358         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
38359         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
38360         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
38361         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
38362         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
38363         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
38364         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
38365         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
38366         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
38367         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
38368         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
38369         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
38370         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
38371         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
38372         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
38373         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
38374         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
38375         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
38376         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
38377         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
38378         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
38379         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
38380         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
38381         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
38382         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
38383         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
38384         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
38385         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
38386         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
38387         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
38388         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
38389         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
38390         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
38391         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
38392         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
38393         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
38394         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
38395         Add more languages and countries for Sami, Sorbian. Add more countries
38396         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
38397         for Pashto. Change country for Syriac, Tswana.
38398
38399 2009-12-21  Eric Blake  <ebb9@byu.net>
38400
38401         test-utimens: avoid spurious failure
38402         * tests/test-chown.h (nap): Factor...
38403         * tests/nap.h: ...into new file.
38404         * tests/test-lchown.h (nap): Avoid duplication.
38405         * tests/test-utimens-common.h (nap): Use shared implementation,
38406         necessary on file systems with 1-second resolution.
38407         * modules/chown-tests (Files): Include new file.
38408         * modules/fdutimensat-tests (Files): Likewise.
38409         * modules/futimens-tests (Files): Likewise.
38410         * modules/lchown-tests (Files): Likewise.
38411         * modules/openat-tests (Files): Likewise.
38412         * modules/utimens-tests (Files): Likewise.
38413         * modules/utimensat-tests (Files): Likewise.
38414
38415 2009-12-19  Eric Blake  <ebb9@byu.net>
38416
38417         futimens, utimensat: work around Linux bug
38418         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
38419         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38420         * lib/utimensat.c (rpl_utimensat): Work around it.
38421         * lib/futimens.c (rpl_futimens): Adjust comment.
38422
38423         utimens: work around Linux ctime bug
38424         * lib/utimens.c (detect_ctime_bug): New helper function.
38425         (update_timespec): Differentiate between workaround needed for
38426         this bug vs. what is needed for systems that lack utimensat.
38427         (fdutimens, lutimens): Work around bug.
38428
38429         utimens: check for ctime update
38430         * tests/test-utimens-common.h (check_ctime): Define.
38431         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38432         * tests/test-futimens.h (test_futimens): Likewise.
38433         * tests/test-lutimens.h (test_lutimens): Likewise.
38434         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38435         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38436
38437 2009-12-19  Bruno Haible  <bruno@clisp.org>
38438
38439         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38440         * tests/test-dprintf-posix2.sh: New file.
38441         * tests/test-dprintf-posix2.c: New file.
38442         * modules/dprintf-posix-tests (Files): Add them.
38443         (configure.ac): Check for getrlimit and setrlimit.
38444         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38445
38446 2009-12-19  Bruno Haible  <bruno@clisp.org>
38447
38448         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38449         * tests/test-fprintf-posix3.sh: New file.
38450         * tests/test-fprintf-posix3.c: New file.
38451         * modules/fprintf-posix-tests (Files): Add them.
38452         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38453
38454 2009-12-19  Eric Blake  <ebb9@byu.net>
38455
38456         dirfd: fix prototype
38457         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38458         * lib/dirfd.c (dirfd): Likewise.
38459
38460         canonicalize: reduce memory usage
38461         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38462         allocation to size.
38463         Reported by Solar Designer <solar@openwall.com>.
38464
38465 2009-12-19  Bruno Haible  <bruno@clisp.org>
38466
38467         New module attribute 'Applicability'.
38468         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38469         * gnulib-tool: New option --extract-applicability.
38470         (func_usage): Document it.
38471         (sed_extract_prog): Recognize it.
38472         (func_get_applicability): New function.
38473         (func_import): Generalize handling of 'link-warning' module.
38474         * modules/link-warning (Applicability): New section.
38475         * modules/arg-nonnull (Applicability): New section.
38476         Repoted by Simon Josefsson <simon@josefsson.org>.
38477
38478 2009-12-19  Bruno Haible  <bruno@clisp.org>
38479
38480         fflush: tweak
38481         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38482         * lib/fseeko.c (rpl_fseeko): Likewise.
38483
38484 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38485
38486         * lib/gl_list.h: Fix typo in comment.
38487
38488 2009-12-16  Eric Blake  <ebb9@byu.net>
38489
38490         fcntl: use to simplify other modules
38491         * modules/cloexec (Depends-on): Add fcntl.
38492         * modules/fchdir (Depends-on): Likewise.
38493         * modules/fd-safer-flag (Depends-on): Likewise.
38494         * modules/unistd-safer (Depends-on): Likewise.
38495         * modules/dup3 (configure.ac): Set module indicator.
38496         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38497         missing.
38498         * lib/fchdir.c (_gl_register_dup): Fix comment.
38499         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38500         * lib/dup-safer.c (dup_safer): Likewise.
38501         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38502         * lib/dup3.c (dup3): Likewise.
38503         * tests/test-fchdir.c (main): Enhance test.
38504         Fixes a dup_cloexec bug reported by Ondřej Vašík.
38505
38506         fcntl: port portions of fcntl to mingw
38507         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38508         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38509         replacement for mingw.
38510         * modules/fcntl (Description): Update.
38511         (Depends-on): Add dup2.
38512         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38513         * modules/fcntl-h (Makefile.am): Substitute it.
38514         * lib/fcntl.in.h (fcntl): Update declaration.
38515         (F_DUPFD, F_GETFD): New macros, when needed.
38516         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38517         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38518         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38519         we now guarantee.
38520
38521         fcntl: work around cygwin bug in F_DUPFD
38522         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38523         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38524         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38525         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38526         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38527
38528         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38529         * modules/fcntl (Files): List new files.
38530         (configure.ac): Run a test.
38531         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38532         * lib/fcntl.c (rpl_fcntl): Likewise.
38533         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38534         (gl_FCNTL_H): Always replace fcntl.h.
38535         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38536         * lib/fcntl.in.h (fcntl): Declare replacement.
38537         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38538         needed, plus a witness.
38539         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38540         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38541         * tests/test-fcntl.c: New file.
38542         * modules/fcntl-tests: Likewise.
38543
38544         binary-io: avoid potential compilation warning
38545         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38546         directives.
38547
38548         fflush: avoid compilation error on NetBSD
38549         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38550         between off_t and fpos_t, since the latter is sometimes a struct.
38551         * lib/fseeko.c (rpl_fseeko): Likewise.
38552         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38553
38554 2009-12-15  Eric Blake  <ebb9@byu.net>
38555
38556         fcntl-h, stdio, sys_ioctl: fix declarations
38557         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38558         function must not take arguments.
38559         * lib/sys_ioctl.in.h (ioctl): Likewise.
38560         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38561         (open): Add a link warning.
38562
38563 2009-12-15  Jim Meyering  <meyering@redhat.com>
38564
38565         areadlink, areadlink-with-size: relax license to LGPLv2+
38566         * modules/areadlink (License): Relax to LGPLv2+.
38567         * modules/areadlink-with-size (License): Likewise.
38568
38569 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38570             Bruno Haible  <bruno@clisp.org>
38571
38572         *printf: Fix memory leak.
38573         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38574         * lib/vfprintf.c (vfprintf): Likewise.
38575         * lib/dprintf.c (dprintf): Likewise.
38576         * lib/vdprintf.c (vdprintf): Likewise.
38577
38578 2009-12-14  Eric Blake  <ebb9@byu.net>
38579
38580         accept4: adjust module dependencies
38581         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38582
38583         utimens: one more try at avoiding compiler warning
38584         * lib/utimens.c (lutimens): Lower scope of result.
38585
38586 2009-12-13  Bruno Haible  <bruno@clisp.org>
38587
38588         Move the malloc checking from module 'list' to new module 'xlist'.
38589         * modules/xlist: New file.
38590         * lib/gl_xlist.h: New file.
38591         * lib/gl_xlist.c: New file.
38592         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38593         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38594         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38595         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38596         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38597         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38598         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38599         gl_sortedlist_nx_add): New declarations.
38600         (struct gl_list_implementation): Rename and change methods accordingly.
38601         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
38602         (gl_list_nx_create): Renamed from gl_list_create.
38603         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38604         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38605         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38606         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38607         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38608         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38609         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38610         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38611         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
38612         gl_list_create_empty.
38613         (gl_list_nx_create): Renamed from gl_list_create.
38614         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38615         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38616         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38617         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38618         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38619         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38620         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38621         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38622         * lib/gl_array_list.c: Don't include xalloc.h.
38623         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
38624         NULL upon out-of-memory.
38625         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
38626         out-of-memory.
38627         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
38628         Change return type to 'int'.
38629         (gl_array_nx_set_at): Renamed from gl_array_set_at.
38630         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38631         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
38632         upon out-of-memory.
38633         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
38634         upon out-of-memory.
38635         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
38636         upon out-of-memory.
38637         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
38638         upon out-of-memory.
38639         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
38640         out-of-memory.
38641         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38642         Update.
38643         (gl_array_list_implementation): Update.
38644         * lib/gl_carray_list.c: Don't include xalloc.h.
38645         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38646         Return NULL upon out-of-memory.
38647         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38648         out-of-memory.
38649         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38650         Change return type to 'int'.
38651         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38652         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38653         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38654         upon out-of-memory.
38655         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38656         upon out-of-memory.
38657         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38658         out-of-memory.
38659         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38660         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38661         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38662         Update.
38663         (gl_carray_list_implementation): Update.
38664         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
38665         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
38666         gl_linked_create_empty. Return NULL upon out-of-memory.
38667         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
38668         out-of-memory.
38669         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
38670         Change return type to 'int'. Return -1 upon out-of-memory.
38671         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
38672         out-of-memory.
38673         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
38674         upon out-of-memory.
38675         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
38676         upon out-of-memory.
38677         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
38678         NULL upon out-of-memory.
38679         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
38680         upon out-of-memory.
38681         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
38682         out-of-memory.
38683         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
38684         Update.
38685         * lib/gl_linked_list.c: Don't include xalloc.h.
38686         (gl_linked_list_implementation): Update.
38687         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
38688         (add_to_bucket): Change return type to 'int'.
38689         (gl_linkedhash_list_implementation): Update.
38690         * lib/gl_anytree_list1.h (free_subtree): New function.
38691         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
38692         gl_tree_create_empty. Return NULL upon out-of-memory.
38693         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
38694         Change return type to 'int'. Return -1 upon out-of-memory.
38695         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
38696         out-of-memory.
38697         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
38698         (gl_tree_remove_node): New function, moved here from
38699         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
38700         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
38701         Update.
38702         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
38703         malloc, not xmalloc. Return NULL upon out-of-memory.
38704         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38705         out-of-memory.
38706         (gl_tree_remove_node_from_tree): New function, extracted from
38707         gl_tree_remove_node.
38708         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38709         upon out-of-memory.
38710         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38711         out-of-memory.
38712         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38713         upon out-of-memory.
38714         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38715         upon out-of-memory.
38716         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38717         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
38718         not xmalloc. Return NULL upon out-of-memory.
38719         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38720         out-of-memory.
38721         (gl_tree_remove_node_from_tree): New function, extracted from
38722         gl_tree_remove_node.
38723         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38724         upon out-of-memory.
38725         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38726         out-of-memory.
38727         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38728         upon out-of-memory.
38729         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38730         upon out-of-memory.
38731         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38732         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
38733         gl_anytree_list1.h before gl_anyavltree_list2.h.
38734         (gl_avltree_list_implementation): Update.
38735         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
38736         gl_anytree_list1.h before gl_anyavltree_list2.h.
38737         (gl_rbtree_list_implementation): Update.
38738         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
38739         Change return type to 'int'. Return -1 upon out-of-memory. Use
38740         __builtin_expect.
38741         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
38742         (gl_avltreehash_list_implementation): Update.
38743         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
38744         (gl_rbtreehash_list_implementation): Update.
38745         * modules/array-list (Depends-on): Remove xalloc.
38746         * modules/carray-list (Depends-on): Likewise.
38747         * modules/linked-list (Depends-on): Likewise.
38748         * modules/linkedhash-list (Depends-on): Likewise.
38749         * modules/avltree-list (Depends-on): Likewise.
38750         * modules/rbtree-list (Depends-on): Likewise.
38751         * modules/avltreehash-list (Depends-on): Likewise.
38752         * modules/rbtreehash-list (Depends-on): Likewise.
38753
38754         * modules/xsublist: New file.
38755         * lib/gl_xsublist.h: New file.
38756         * lib/gl_xsublist.c: New file.
38757         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
38758         (gl_sublist_nx_create): New declaration.
38759         * lib/gl_sublist.c: Don't include xalloc.h.
38760         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
38761         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
38762         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
38763         Change return type to 'int'. Return -1 upon out-of-memory.
38764         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
38765         upon out-of-memory.
38766         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
38767         NULL upon out-of-memory.
38768         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
38769         upon out-of-memory.
38770         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
38771         NULL upon out-of-memory.
38772         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
38773         NULL upon out-of-memory.
38774         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
38775         upon out-of-memory.
38776         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
38777         (gl_sublist_list_implementation): Update.
38778         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
38779         upon out-of-memory.
38780         * modules/sublist (Depends-on): Remove xalloc.
38781
38782         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
38783         * tests/test-carray_list.c: Likewise.
38784         * tests/test-linked_list.c: Likewise.
38785         * tests/test-linkedhash_list.c: Likewise.
38786         * tests/test-avltree_list.c: Likewise.
38787         * tests/test-rbtree_list.c: Likewise.
38788         * tests/test-avltreehash_list.c: Likewise.
38789         * tests/test-rbtreehash_list.c: Likewise.
38790         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
38791         * modules/carray-list-tests (Makefile.am): Likewise.
38792         * modules/linked-list-tests (Makefile.am): Likewise.
38793         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38794         * modules/avltree-list-tests (Makefile.am): Likewise.
38795         * modules/rbtree-list-tests (Makefile.am): Likewise.
38796         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38797         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38798
38799         * NEWS: Mention the changes.
38800
38801         * lib/clean-temp.c: Include gl_xlist.h.
38802         * modules/clean-temp (Depends-on): Add xlist.
38803
38804         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
38805         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
38806
38807         * tests/test-array_oset.c: Include gl_xlist.h.
38808         * modules/array-oset-tests (Depends-on): Add xlist.
38809
38810         Reported by José E. Marchesi <jemarch@gnu.org>.
38811
38812 2009-12-13  Bruno Haible  <bruno@clisp.org>
38813
38814         Move the malloc checking from module 'oset' to new module 'xoset'.
38815         * modules/xoset: New file.
38816         * lib/gl_xoset.h: New file.
38817         * lib/gl_xoset.c: New file.
38818         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
38819         declarations.
38820         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
38821         (struct gl_oset_implementation): Rename and change methods accordingly.
38822         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
38823         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38824         'int'. Mark as __warn_unused_result__.
38825         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
38826         gl_oset_create_empty.
38827         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38828         'int'.
38829         * lib/gl_array_oset.c: Don't include xalloc.h.
38830         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
38831         malloc, not xmalloc.
38832         (grow): Change return type to 'int'. Don't call xalloc_die.
38833         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
38834         to 'int'.
38835         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
38836         'int'.
38837         (gl_array_oset_implementation): Update.
38838         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
38839         gl_tree_create_empty.
38840         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
38841         'int'.
38842         * lib/gl_avltree_oset.c: Don't include xalloc.h.
38843         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38844         xmalloc.
38845         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38846         not xmalloc.
38847         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38848         xmalloc.
38849         (gl_avltree_oset_implementation): Update.
38850         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
38851         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38852         xmalloc.
38853         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38854         not xmalloc.
38855         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38856         xmalloc.
38857         (gl_rbtree_oset_implementation): Update.
38858         * modules/array-oset (Depends-on): Remove xalloc.
38859         * modules/avltree-oset (Depends-on): Likewise.
38860         * modules/rbtree-oset (Depends-on): Likewise.
38861         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
38862         * tests/test-avltree_oset.c: Likewise.
38863         * tests/test-rbtree_oset.c: Likewise.
38864         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38865         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
38866         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38867         * NEWS: Mention the change.
38868
38869 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
38870
38871         maint.mk: allow a project to override release-prep commands
38872         * top/maint.mk (alpha, beta, stable): Move release-preparatory
38873         commands into a new rule.
38874         (release-prep): New rule.
38875         (release-prep-hook): New overridable variable.
38876
38877 2009-12-13  Bruno Haible  <bruno@clisp.org>
38878
38879         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
38880
38881 2009-12-13  Jim Meyering  <meyering@redhat.com>
38882
38883         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
38884         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
38885
38886 2009-12-12  Bruno Haible  <bruno@clisp.org>
38887
38888         duplocale: Tweak.
38889         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
38890
38891 2009-12-12  Karl Berry  <karl@gnu.org>
38892
38893         * config/srclist.txt (strtoll.c): tab changes, no more sync.
38894
38895 2009-12-12  Bruno Haible  <bruno@clisp.org>
38896
38897         * m4/po.m4: Undo incorrect untabification.
38898
38899 2009-12-12  Bruno Haible  <bruno@clisp.org>
38900
38901         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
38902         * modules/c-strtod (Depends-on): Add locale.
38903         * modules/c-strtold (Depends-on): Likewise.
38904
38905 2009-12-12  Bruno Haible  <bruno@clisp.org>
38906
38907         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
38908
38909 2009-12-11  Eric Blake  <ebb9@byu.net>
38910
38911         setenv: relax requirement in light of POSIX ruling
38912         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
38913         not NULL.
38914         * tests/test-setenv.c (main): Relax test.
38915         * tests/test-unsetenv.c (main): Likewise.
38916         * doc/posix-functions/setenv.texi (setenv): Document this.
38917         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38918
38919 2009-12-11  Bruno Haible  <bruno@clisp.org>
38920
38921         New module 'fd-safer-flag'.
38922         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
38923         * lib/dup-safer.c (dup_safer_flag): Remove function.
38924         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
38925         * lib/fd-safer.c (fd_safer_flag): Remove function.
38926         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
38927         * modules/cloexec (configure.ac): Drop indicator macro.
38928         * modules/fd-safer-flag: New file.
38929         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
38930         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
38931         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
38932
38933 2009-12-11  Bruno Haible  <bruno@clisp.org>
38934
38935         Tests for module 'nl_langinfo'.
38936         * modules/nl_langinfo-tests: New file.
38937         * tests/test-nl_langinfo.sh: New file.
38938         * tests/test-nl_langinfo.c: New file.
38939
38940         New module 'nl_langinfo'.
38941         * lib/nl_langinfo.c: New file.
38942         * m4/nl_langinfo.m4: New file.
38943         * modules/nl_langinfo: New file.
38944         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
38945
38946 2009-12-11  Bruno Haible  <bruno@clisp.org>
38947
38948         Tests for module 'langinfo'.
38949         * modules/langinfo-tests: New file.
38950         * tests/test-langinfo.c: New file.
38951
38952         New module 'langinfo'.
38953         * lib/langinfo.in.h: New file.
38954         * m4/langinfo_h.m4: New file.
38955         * modules/langinfo: New file.
38956         * doc/posix-headers/langinfo.texi: Mention the new module.
38957
38958 2009-12-11  Bruno Haible  <bruno@clisp.org>
38959
38960         * lib/config.charset: Untabify.
38961
38962 2009-12-11  Bruno Haible  <bruno@clisp.org>
38963
38964         * modules/unistd-safer (configure.ac): Drop indicator macro.
38965
38966 2009-12-11  Bruno Haible  <bruno@clisp.org>
38967
38968         Move pipe2-safer code to its own file.
38969         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
38970         * lib/pipe-safer.c (pipe2_safer): Remove function.
38971         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
38972         (Makefile.am): Add it to lib_SOURCES.
38973
38974 2009-12-10  Bruno Haible  <bruno@clisp.org>
38975
38976         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
38977
38978 2009-12-10  Bruno Haible  <bruno@clisp.org>
38979
38980         Declare which arguments expect non-NULL values, for GCC and clang.
38981         * build-aux/arg-nonnull.h: New file.
38982         * modules/arg-nonnull: New file.
38983         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
38984         (inet_ntop, inet_pton): Use it.
38985         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
38986         (closedir, dirfd, opendir, scandir, alphasort): Use it.
38987         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
38988         (open, openat): Use it.
38989         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
38990         (fnmatch): Use it.
38991         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
38992         (getopt, getopt_long, getopt_long_only): Use it.
38993         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
38994         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
38995         Use it.
38996         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
38997         (iconv_open): Use it.
38998         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
38999         (strtoimax, strtoumax): Use it.
39000         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
39001         (duplocale): Use it.
39002         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
39003         (frexp, frexpl): Use it.
39004         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
39005         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
39006         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39007         (tsearch, tfind, tdelete, twalk): Use it.
39008         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39009         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39010         sigpending): Use it.
39011         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39012         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39013         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39014         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39015         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39016         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39017         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39018         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39019         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39020         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39021         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39022         Use it.
39023         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39024         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39025         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39026         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39027         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39028         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39029         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39030         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39031         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39032         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39033         strtoull, unsetenv): Use it.
39034         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39035         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39036         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39037         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39038         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39039         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39040         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39041         (strcasecmp, strncasecmp): Use it.
39042         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39043         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39044         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39045         rpl_setsockopt): Use it.
39046         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39047         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39048         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39049         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39050         (gettimeofday): Use it.
39051         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39052         (times): Use it.
39053         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39054         (uname): Use it.
39055         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39056         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39057         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39058         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39059         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39060         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39061         unlinkat, write): Use it.
39062         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39063         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
39064         * lib/argv-iter.h: Include arg-nonnull.h.
39065         (_ATTRIBUTE_NONNULL_): Remove macro.
39066         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
39067         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
39068         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
39069         optimization.
39070         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
39071         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
39072         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
39073         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
39074         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
39075         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
39076         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
39077         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
39078         * modules/arpa_inet (Depends-on): Add arg-nonnull.
39079         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
39080         * modules/dirent (Depends-on): Add arg-nonnull.
39081         (Makefile.am): Insert arg-nonnull.h into dirent.h.
39082         * modules/fcntl-h (Depends-on): Add arg-nonnull.
39083         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
39084         * modules/fnmatch (Depends-on): Add arg-nonnull.
39085         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
39086         * modules/getopt-posix (Depends-on): Add arg-nonnull.
39087         (Makefile.am): Insert arg-nonnull.h into getopt.h.
39088         * modules/glob (Depends-on): Add arg-nonnull.
39089         (Makefile.am): Insert arg-nonnull.h into glob.h.
39090         * modules/iconv_open (Depends-on): Add arg-nonnull.
39091         (Makefile.am): Insert arg-nonnull.h into iconv.h.
39092         * modules/inttypes (Depends-on): Add arg-nonnull.
39093         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
39094         * modules/locale (Depends-on): Add arg-nonnull.
39095         (Makefile.am): Insert arg-nonnull.h into locale.h.
39096         * modules/math (Depends-on): Add arg-nonnull.
39097         (Makefile.am): Insert arg-nonnull.h into math.h.
39098         * modules/netdb (Depends-on): Add arg-nonnull.
39099         (Makefile.am): Insert arg-nonnull.h into netdb.h.
39100         * modules/search (Depends-on): Add arg-nonnull.
39101         (Makefile.am): Insert arg-nonnull.h into search.h.
39102         * modules/signal (Depends-on): Add arg-nonnull.
39103         (Makefile.am): Insert arg-nonnull.h into signal.h.
39104         * modules/spawn (Depends-on): Add arg-nonnull.
39105         (Makefile.am): Insert arg-nonnull.h into spawn.h.
39106         * modules/stdio (Depends-on): Add arg-nonnull.
39107         (Makefile.am): Insert arg-nonnull.h into stdio.h.
39108         * modules/stdlib (Depends-on): Add arg-nonnull.
39109         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
39110         * modules/string (Depends-on): Add arg-nonnull.
39111         (Makefile.am): Insert arg-nonnull.h into string.h.
39112         * modules/strings (Depends-on): Add arg-nonnull.
39113         (Makefile.am): Insert arg-nonnull.h into strings.h.
39114         * modules/sys_socket (Depends-on): Add arg-nonnull.
39115         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
39116         * modules/sys_stat (Depends-on): Add arg-nonnull.
39117         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
39118         * modules/sys_time (Depends-on): Add arg-nonnull.
39119         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
39120         * modules/sys_times (Depends-on): Add arg-nonnull.
39121         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
39122         * modules/sys_utsname (Depends-on): Add arg-nonnull.
39123         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
39124         * modules/time (Depends-on): Add arg-nonnull.
39125         (Makefile.am): Insert arg-nonnull.h into time.h.
39126         * modules/unistd (Depends-on): Add arg-nonnull.
39127         (Makefile.am): Insert arg-nonnull.h into unistd.h.
39128         * modules/wchar (Depends-on): Add arg-nonnull.
39129         (Makefile.am): Insert arg-nonnull.h into wchar.h.
39130         * modules/argv-iter (Depends-on): Add arg-nonnull.
39131         * tests/test-canonicalize.c (null_ptr): New function.
39132         (main): Use it.
39133         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
39134         (main): Use it.
39135         * tests/test-memmem.c (null_ptr): New function.
39136         (main): Use it.
39137         Reported by Jim Meyering.
39138
39139 2009-12-10  Bruno Haible  <bruno@clisp.org>
39140
39141         Use spaces for indentation, not tabs.
39142         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39143         * m4/*.m4: Untabify.
39144         * build-aux/*.h: Untabify.
39145         * tests/**/*.[hc]: Untabify.
39146         * README: New section "Indent with spaces, not TABs", based on
39147         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
39148         * NEWS: Mention the change.
39149
39150 2009-12-10  Bruno Haible  <bruno@clisp.org>
39151
39152         pty test: Fix link error.
39153         * modules/pty-tests (Makefile.am): Add the default LDADD value to
39154         test_pty_LDADD.
39155
39156 2009-12-07  Simon Josefsson  <simon@josefsson.org>
39157
39158         * modules/pty: New file.
39159         * modules/pty-tests: New file.
39160         * m4/pty.m4: New file.
39161         * tests/test-pty.c: New file.
39162         * doc/glibc-headers/pty.texi: Modified.
39163         * doc/glibc-functions/forkpty.texi: Modified.
39164         * doc/glibc-functions/openpty.texi: Modified.
39165
39166 2009-12-10  Bruno Haible  <bruno@clisp.org>
39167
39168         Avoid syntax error in C++ mode.
39169         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
39170
39171 2009-12-10  Bruno Haible  <bruno@clisp.org>
39172
39173         Use sed with option -e.
39174         * gnulib-tool (func_version, func_emit_copyright_notice,
39175         func_emit_initmacro_end, func_import, func_create_testdir): Pass
39176         option -e to sed.
39177         * modules/link-warning (Makefile.am): Likewise.
39178
39179 2009-12-10  Jim Meyering  <meyering@redhat.com>
39180
39181         mgetgroups: do not write bytes beyond end of malloc'd buffer
39182         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
39183         username, we call getgroups with a one-element-shorter buffer,
39184         but still told it the length was original, max_n_groups.
39185
39186 2009-12-09  Eric Blake  <ebb9@byu.net>
39187
39188         cloexec: relax license
39189         * modules/cloexec (Maintainer): Add myself.
39190         (License): Use LGPL, not GPL.
39191
39192         link-warning: optimize generation
39193         * modules/link-warning (Makefile.am): Reduce process usage.
39194
39195 2009-12-09  Bruno Haible  <bruno@clisp.org>
39196
39197         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
39198         workaround was added on 2009-11-17.
39199
39200 2009-12-09  Jim Meyering  <meyering@redhat.com>
39201             Bruno Haible  <bruno@clisp.org>
39202
39203         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
39204         * modules/link-warning (Makefile.am): Make the comment-removing sed
39205         command more robust in the face of bootstrap-prepended comment lines.
39206
39207 2009-12-09  Bruno Haible  <bruno@clisp.org>
39208
39209         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
39210         most one group.
39211
39212 2009-12-09  Simon Josefsson <simon@josefsson.org>
39213             Bruno Haible  <bruno@clisp.org>
39214
39215         * build-aux/link-warning.h: Add copyright notice.
39216         * modules/link-warning (Makefile.am): Generate link-warning.h from
39217         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
39218         * NEWS: Mention change in link-warning module.
39219         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
39220         * modules/dirent (Makefile.am): Add dependency to dirent.h.
39221         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
39222         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
39223         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
39224         * modules/math (Makefile.am): Add dependency to math.h.
39225         * modules/search (Makefile.am): Add dependency to search.h.
39226         * modules/signal (Makefile.am): Add dependency to signal.h.
39227         * modules/spawn (Makefile.am): Add dependency to spawn.h.
39228         * modules/stdio (Makefile.am): Add dependency to stdio.h.
39229         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
39230         * modules/string (Makefile.am): Add dependency to string.h.
39231         * modules/strings (Makefile.am): Add dependency to strings.h.
39232         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
39233         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
39234         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
39235         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
39236         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
39237         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
39238         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
39239         * modules/unistd (Makefile.am): Add dependency to unistd.h.
39240         * modules/wchar (Makefile.am): Add dependency to wchar.h.
39241
39242 2009-12-09  Bruno Haible  <bruno@clisp.org>
39243
39244         fchdir: Optimize away rpl_fstat when possible.
39245         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
39246         REPLACE_OPEN_DIRECTORY.
39247         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
39248
39249 2009-12-09  Bruno Haible  <bruno@clisp.org>
39250
39251         * lib/fchdir.c: Update comment.
39252
39253 2009-12-09  Bruno Haible  <bruno@clisp.org>
39254
39255         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
39256
39257 2009-12-08  Eric Blake  <ebb9@byu.net>
39258
39259         fchdir: avoid memory leak on re-registration.
39260         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
39261
39262 2009-12-08  Jim Meyering  <meyering@redhat.com>
39263
39264         init.sh: avoid Solaris 10 /bin/sh portability problem
39265         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
39266         sourced script:
39267           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
39268           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
39269           bar
39270         tests/init.sh relied on that, accepting a --set-path=DIR argument,
39271         and two tests used that idiom.
39272         * tests/init.sh: Update suggested usage comments.
39273         (path_prepend_): New function, to be used in place
39274         of the --src-path=DIR option.
39275         (setup_): Move PATH-prepending code into path_prepend_.
39276         * tests/test-pread.sh: Adapt to new usage.
39277         * tests/test-xalloc-die.sh: Likewise.
39278
39279 2009-12-08  Simon Josefsson  <simon@josefsson.org>
39280
39281         * doc/gnulib.texi (Glibc pty.h): Add.
39282         * doc/glibc-functions/forkpty.texi: Add.
39283         * doc/glibc-functions/openpty.texi: Add.
39284         Suggested by Bruno Haible.
39285
39286 2009-12-08  Eric Blake  <ebb9@byu.net>
39287
39288         fchdir: fix logic bugs
39289         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
39290         * tests/test-fchdir.c (main): Enhance test.
39291         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
39292         is in use.
39293
39294         dup2: fix logic bugs
39295         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
39296         REPLACE_DUP2 to decide when rpl_dup2 is needed.
39297         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
39298         exists.
39299         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
39300
39301 2009-12-07  Eric Blake  <ebb9@byu.net>
39302
39303         unlink: fix m4 detection
39304         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
39305
39306         unistd-safer: add unit test
39307         * modules/unistd-safer-tests: New file.
39308         * tests/test-dup-safer.c: Likewise.
39309         * tests/test-cloexec.c (setmode): Avoid compiler warning.
39310         * tests/test-dup2.c (setmode): Likewise.
39311         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
39312
39313         cloexec: preserve text vs. binary across dup_cloexec
39314         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
39315         mode.
39316         * modules/dup2-tests (Depends-on): Add binary-io.
39317         * modules/cloexec-tests (Depends-on): Likewise.
39318         * tests/test-dup2.c (setmode, is_mode): New helpers.
39319         (main): Add tests that translation mode is preserved.
39320         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
39321         Reported by Bruno Haible.
39322
39323         mgetgroups: reduce duplicate listings
39324         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
39325         resulting array.
39326         * tests/test-chown.h (test_chown): Simplify client.
39327         * tests/test-lchown.h (test_lchown): Likewise.
39328
39329 2009-12-06  Bruno Haible  <bruno@clisp.org>
39330
39331         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
39332         value.
39333
39334 2009-12-06  Bruno Haible  <bruno@clisp.org>
39335
39336         * lib/progname.c: Include stdio.h, stdlib.h.
39337         (set_program_name): Reject a NULL argument.
39338
39339 2009-12-05  Eric Blake  <ebb9@byu.net>
39340
39341         pipe2-safer: new module
39342         * modules/pipe2-safer: New file.
39343         * lib/unistd-safer.h (pipe2_safer): New prototype.
39344         * lib/unistd--.h (pipe2): New wrapper.
39345         * lib/pipe-safer.c (pipe2_safer): New function.
39346         * modules/pipe (Depends-on): Add pipe2-safer.
39347         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
39348
39349         stdlib-safer: preserve cloexec flag for mkostemp[s]
39350         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
39351         fd_safer_flag.
39352
39353         unistd-safer: allow preservation of cloexec status via flag
39354         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
39355         prototypes.
39356         * lib/dup-safer.c (dup_safer_flag): New function.
39357         * lib/fd-safer.c (fd_safer_flag): Likewise.
39358         * modules/cloexec (configure.ac): Set witness.
39359
39360         test-dup2: enhance test
39361         * modules/dup2-tests (Depends-on): Add cloexec.
39362         * tests/test-dup2.c (main): Enhance test.
39363
39364         cloexec: add dup_cloexec
39365         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
39366         header and comments.
39367         * lib/cloexec.c (set_cloexec_flag): Add comments.
39368         (dup_cloexec): New function, with mingw implementation borrowed
39369         from...
39370         * lib/w32spawn.h (dup_noinherit): ...here.
39371         * modules/execute (Depends-on): Add cloexec.
39372         * modules/pipe (Depends-on): Likewise.
39373         * modules/cloexec (Depends-on): Add dup2.
39374         * modules/cloexec-tests (Files): New file.
39375         * tests/test-cloexec.c: Likewise.
39376
39377         test-xalloc-die: fix test for mingw
39378         * modules/xalloc-die-tests (Files): Add tests/init.sh.
39379         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
39380         directory and .exe suffix off argv[0] output.
39381
39382         test-fseeko: fix test for mingw
39383         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
39384         than undefining fseek, so test will pass on mingw.
39385
39386 2009-12-05  Bruno Haible  <bruno@clisp.org>
39387
39388         * lib/progname.h (set_program_name): Clarify specification.
39389         * lib/progname.c (set_program_name): Likewise.
39390         Reported by Jim Meyering.
39391
39392 2009-12-05  Jim Meyering  <meyering@redhat.com>
39393
39394         maint.mk: backslash-escape parens in default regexp
39395         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
39396         backslash-escape the literal parentheses.
39397
39398         maint.mk: news-date-check: use grep -E
39399         * top/maint.mk (today): Define a Make variable, not a...
39400         (news-date-check): ...shell variable.
39401         (news-date-regexp): Use the Make variable.
39402         Use grep's -E option.  Change the failing diagnostic to mention
39403         the variable, $(news-date-regexp).
39404
39405 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
39406
39407         maintainer-makefile: allow customization of NEWS entry format
39408         * top/maint.mk (news-date-regexp): New overridable variable.
39409         (news-date-check): Use it.
39410
39411 2009-12-04  Eric Blake  <ebb9@byu.net>
39412
39413         mgetgroups: add xgetgroups, and avoid ENOSYS failures
39414         * lib/mgetgroups.h (xgetgroups): New prototype.
39415         * lib/mgetgroups.c (xgetgroups): New wrapper.
39416         (mgetgroups): Handle ENOSYS.
39417         * modules/mgetgroups (Depends-on): Add realloc.
39418         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
39419
39420         mgetgroups: avoid argument promotion issues with -1
39421         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
39422         for invalid gid_t.
39423         * tests/test-chown.h (getegid, test_chown): Likewise.
39424         * tests/test-lchown.h (getegid, test_lchown): Likewise.
39425
39426 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
39427
39428         exclude: Fix header file problems.
39429         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39430
39431 2009-12-01  Jim Meyering  <meyering@redhat.com>
39432
39433         fts: fts_open: do not let an empty string cause immediate failure
39434         This is required in support of GNU rm, for which the command
39435         "rm A '' B" must process and remove both A and B, in spite of
39436         the empty string argument.
39437         * lib/fts.c (fts_open): Do not let the presence of an empty string
39438         cause fts_open to fail immediately.  Most fts-using tools must be
39439         able to process all arguments, in order, and can be expected to
39440         diagnose such arguments themselves.
39441
39442 2009-11-30  Eric Blake  <ebb9@byu.net>
39443
39444         utimens: fix compilation error
39445         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39446         Declare variable at right scope.
39447
39448 2009-11-29  Jim Meyering  <meyering@redhat.com>
39449
39450         bootstrap: handle perl-5.11's changed --version output
39451         * build-aux/bootstrap (get_version): Handle perl separately,
39452         since perl-5.11's --version output is different.
39453
39454 2009-11-28  Jim Meyering  <meyering@redhat.com>
39455
39456         userspec: depend on the inttostr module, too
39457         * modules/userspec (Depends-on): Add inttostr.
39458
39459         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39460         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39461         number of MAXUID when it evaluates to (uid_t) -1.
39462         Likewise for group ID.  Reported by Matt McCutchen in
39463         <http://savannah.gnu.org/bugs/?28113>
39464
39465         userspec: reformat to use spaces, not TABs
39466         * lib/userspec.c: Expand TABs to spaces.
39467         Add Emacs' "indent-tabs-mode: nil" hint.
39468
39469 2009-11-27  Eric Blake  <ebb9@byu.net>
39470
39471         getopt-gnu: flush out another BSD bug
39472         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39473         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39474         flush out BSD bug.
39475         * tests/test-getopt.h (test_getopt): End lists with NULL.
39476         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39477         (test_getopt_long_posix): Enhance test.
39478         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39479         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39480         getopt-gnu.
39481         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39482         Likewise.
39483
39484 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39485
39486         * modules/idpriv-droptemp-tests (Notice): Fix text.
39487
39488 2009-11-27  Jim Meyering  <meyering@redhat.com>
39489
39490         test-xalloc-die: avoid spurious failure due to libtool argv difference
39491         In a libtool-enabled project, this test would fail due to a difference
39492         in the emitted program name, e.g.,
39493         -test-xalloc-die: memory exhausted
39494         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39495         Use program to avoid that.
39496         * modules/xalloc-die-tests (Depends-on): Add progname.
39497         * tests/test-xalloc-die.c: Include progname.h".
39498         (program_name): Remove decl.
39499         (main): Call set_program_name.
39500         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39501
39502 2009-11-26  Richard Jones  <rjones@redhat.com>
39503
39504         w32sock: leave win32 error in place.
39505         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39506
39507 2009-11-26  Eric Blake  <ebb9@byu.net>
39508
39509         init.sh: suggest to use skip_ and fail_ functions in comments
39510         * tests/init.sh: Add a sentence.
39511
39512 2009-11-25  Bruno Haible  <bruno@clisp.org>
39513
39514         init.sh: add documentation in comments
39515         * tests/init.sh: Add some developer and user documentation.
39516
39517 2009-11-26  Jim Meyering  <meyering@redhat.com>
39518
39519         init.sh: accommodate even those who specify bogus srcdir manually
39520         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39521         configure-time tests to be sanitized, so that there is no need to
39522         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39523         (with no double quotes) suffices.  However, since tests may be
39524         invoked manually, and since you may explicitly set srcdir to the
39525         name of a directory containing spaces, do quote its uses here.
39526         * tests/test-pread.sh: Likewise.
39527         Suggested by Bruno Haible.
39528
39529         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39530         * tests/test-pread.sh: Write no data into the pipe, because
39531         test-pread actually reads none.  This avoids a diagnostic,
39532         "bash: echo: write error: Broken pipe", that arises in the unusual
39533         event something is ignoring SIGPIPE, and might be interpreted
39534         as some sort of failure.  Reported by Bruno Haible.
39535
39536 2009-11-25  Jim Meyering  <meyering@redhat.com>
39537
39538         test-pread: cover failure with ESPIPE and EINVAL
39539         * tests/test-pread.c (main): Test for failure, too.
39540         * tests/test-pread.sh: Invoke with stdin on a pipe.
39541         Suggested by Eric Blake.
39542
39543         pread: improvement and fix
39544         * modules/pread (Depends-on): Depend on lseek, for portability to
39545         e.g., mingw.  Suggested by Eric Blake.
39546         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39547
39548         unistd.in.h: correct declaration of pread
39549         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39550         Reported by Richard W.M. Jones.
39551
39552         test-pread.sh: distribute the test script
39553         * modules/pread-tests (Files): Include test-pread.sh.
39554
39555         test-pread.sh: clean up
39556         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39557         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39558         That is unnecessary, since it's always ".".
39559         Suggestion from Eric Blake.
39560
39561         test-pread.sh: make executable
39562         * tests/test-pread.sh: Set executable bit.
39563         Reported by Eric Blake.
39564
39565         correct typo in test-pread.sh
39566         * tests/test-pread.sh: Add #! line.
39567
39568         test pread
39569         * tests/test-pread.c: New file.
39570         * tests/test-pread.sh: Likewise.
39571         * modules/pread-tests: Likewise.
39572
39573         pread: new module
39574         * modules/pread: New file.
39575         * lib/unistd.in.h (pread): Define/declare.
39576         * lib/pread.c (pread): New file.
39577         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39578         * modules/unistd (Makefile.am): Substitute witnesses.
39579         * doc/posix-functions/pread.texi (pread): Update.
39580         * MODULES.html.sh: Add pread.
39581
39582 2009-11-25  Jim Meyering  <meyering@redhat.com>
39583
39584         tests/init.sh: new file to be used via most *.sh tests
39585         * tests/init.sh: New file.
39586
39587 2009-11-25  Eric Blake  <ebb9@byu.net>
39588
39589         utimens: work around older Linux failure with symlinks
39590         * lib/utimens.c (lutimensat_works_really): New variable.
39591         (fdutimens, lutimens): Use it to manage kernels that support
39592         nanosecond times on files, but not on symlinks.
39593         Reported by Ondřej Vašík.
39594
39595         utimes: fix configure grammar
39596         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39597
39598 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39599
39600         regex: Fix fastmap for multibyte character ranges.
39601         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
39602         characters when a multibyte character range is included.
39603
39604 2009-11-22  Andy Wingo  <wingo@pobox.com>
39605
39606         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
39607         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
39608
39609 2009-11-24  Bruno Haible  <bruno@clisp.org>
39610
39611         doc: Most *_l functions exist in MacOS X 10.5.
39612         * doc/posix-functions/duplocale.texi: Update platforms list.
39613         * doc/posix-functions/freelocale.texi: Likewise.
39614         * doc/posix-functions/newlocale.texi: Likewise.
39615         * doc/posix-functions/uselocale.texi: Likewise.
39616         * doc/posix-functions/isalnum_l.texi: Likewise.
39617         * doc/posix-functions/isalpha_l.texi: Likewise.
39618         * doc/posix-functions/isblank_l.texi: Likewise.
39619         * doc/posix-functions/iscntrl_l.texi: Likewise.
39620         * doc/posix-functions/isdigit_l.texi: Likewise.
39621         * doc/posix-functions/isgraph_l.texi: Likewise.
39622         * doc/posix-functions/islower_l.texi: Likewise.
39623         * doc/posix-functions/isprint_l.texi: Likewise.
39624         * doc/posix-functions/ispunct_l.texi: Likewise.
39625         * doc/posix-functions/isspace_l.texi: Likewise.
39626         * doc/posix-functions/isupper_l.texi: Likewise.
39627         * doc/posix-functions/iswalnum_l.texi: Likewise.
39628         * doc/posix-functions/iswalpha_l.texi: Likewise.
39629         * doc/posix-functions/iswblank_l.texi: Likewise.
39630         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39631         * doc/posix-functions/iswctype_l.texi: Likewise.
39632         * doc/posix-functions/iswdigit_l.texi: Likewise.
39633         * doc/posix-functions/iswgraph_l.texi: Likewise.
39634         * doc/posix-functions/iswlower_l.texi: Likewise.
39635         * doc/posix-functions/iswprint_l.texi: Likewise.
39636         * doc/posix-functions/iswpunct_l.texi: Likewise.
39637         * doc/posix-functions/iswspace_l.texi: Likewise.
39638         * doc/posix-functions/iswupper_l.texi: Likewise.
39639         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39640         * doc/posix-functions/isxdigit_l.texi: Likewise.
39641         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39642         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39643         * doc/posix-functions/strcoll_l.texi: Likewise.
39644         * doc/posix-functions/strfmon_l.texi: Likewise.
39645         * doc/posix-functions/strftime_l.texi: Likewise.
39646         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39647         * doc/posix-functions/strxfrm_l.texi: Likewise.
39648         * doc/posix-functions/tolower_l.texi: Likewise.
39649         * doc/posix-functions/toupper_l.texi: Likewise.
39650         * doc/posix-functions/towctrans_l.texi: Likewise.
39651         * doc/posix-functions/towlower_l.texi: Likewise.
39652         * doc/posix-functions/towupper_l.texi: Likewise.
39653         * doc/posix-functions/wcscoll_l.texi: Likewise.
39654         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39655         * doc/posix-functions/wctrans_l.texi: Likewise.
39656         * doc/posix-functions/wctype_l.texi: Likewise.
39657         * doc/glibc-functions/strptime_l.texi: Likewise.
39658         * doc/glibc-functions/strtod_l.texi: Likewise.
39659         * doc/glibc-functions/strtof_l.texi: Likewise.
39660         * doc/glibc-functions/strtol_l.texi: Likewise.
39661         * doc/glibc-functions/strtold_l.texi: Likewise.
39662         * doc/glibc-functions/strtoll_l.texi: Likewise.
39663         * doc/glibc-functions/strtoul_l.texi: Likewise.
39664         * doc/glibc-functions/strtoull_l.texi: Likewise.
39665         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39666         * doc/glibc-functions/wcstod_l.texi: Likewise.
39667         * doc/glibc-functions/wcstof_l.texi: Likewise.
39668         * doc/glibc-functions/wcstol_l.texi: Likewise.
39669         * doc/glibc-functions/wcstold_l.texi: Likewise.
39670         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39671         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39672         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39673
39674 2009-11-24  Bruno Haible  <bruno@clisp.org>
39675
39676         duplocale: Fix logic bug.
39677         * lib/duplocale.c: Don't include <langinfo.h>.
39678         (_NL_LOCALE_NAME): Remove macro.
39679         (rpl_duplocale): Use setlocale instead of nl_langinfo.
39680         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
39681
39682 2009-11-23  Jim Meyering  <meyering@redhat.com>
39683
39684         test-update-copyright: don't hard-code /usr/bin/perl
39685         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
39686         perl to print the current year.  Gilles Espinasse reported that
39687         the replaced use of perl was hard-coded as /usr/bin/perl.
39688
39689 2009-11-23  Bruno Haible  <bruno@clisp.org>
39690
39691         duplocale: Add support for glibc 2.3.x.
39692         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
39693
39694 2009-11-22  Bruno Haible  <bruno@clisp.org>
39695
39696         vasnprintf: Tiny optimization.
39697         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
39698         MacOS X.
39699
39700 2009-11-22  Bruno Haible  <bruno@clisp.org>
39701
39702         Tests for module 'duplocale'.
39703         * modules/duplocale-tests: New file.
39704         * tests/test-duplocale.c: New file.
39705
39706         New module 'duplocale'.
39707         * m4/duplocale.m4: New file.
39708         * lib/locale.in.h (duplocale): New declaration.
39709         * lib/duplocale.c: New file.
39710         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
39711         gl_LOCALE_H_DEFAULTS): New macros.
39712         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
39713         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
39714         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
39715         REPLACE_DUPLOCALE.
39716         * modules/duplocale: New file.
39717         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
39718
39719 2009-11-22  Bruno Haible  <bruno@clisp.org>
39720
39721         * modules/locale-tests (configure.ac): Test for newlocale function.
39722         * tests/test-locale.c: When the system has extended locale functions,
39723         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
39724
39725         locale: Make locale_t available when possible.
39726         * lib/locale.in.h: Include <xlocale.h> when it exists.
39727         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
39728         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
39729         * modules/locale (Depends-on): Add extensions.
39730         (Makefile.am): Also substitute HAVE_XLOCALE_H.
39731         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39732
39733 2009-11-22  Bruno Haible  <bruno@clisp.org>
39734
39735         Add comments.
39736         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
39737         invocation.
39738         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39739         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39740         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39741
39742 2009-11-22  Bruno Haible  <bruno@clisp.org>
39743
39744         error: account for the possibility of freopen (stdout).
39745         * lib/error.c: Include <unistd.h>.
39746         (flush_stdout): New function, extracted from error and error_at_line.
39747         Determine stdout's fd dynamically.
39748         (error, error_at_line): Invoke flush_stdout.
39749         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
39750         * modules/error (Depends-on): Add unistd.
39751
39752 2009-11-22  Bruno Haible  <bruno@clisp.org>
39753
39754         diffseq: Add comment.
39755         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
39756
39757 2009-11-22  Jim Meyering  <meyering@redhat.com>
39758
39759         c-stack: avoid defining an unused static function
39760         * lib/c-stack.c (find_stack_direction): Do not define this function
39761         when it will not be used.
39762
39763         diffseq: avoid spurious gcc warnings
39764         * lib/diffseq.h (IF_LINT2): Define.
39765         (compareseq): Use it to initialize two members of "part".
39766         This avoids two used-uninitialized warnings.
39767
39768 2009-11-21  Jim Meyering  <meyering@redhat.com>
39769
39770         c-stack: avoid "ignoring return value of `write'" warning
39771         * lib/c-stack.c: Include "ignore-value.h".
39772         (die): Explicitly ignore each write return value.
39773         * modules/c-stack (Depends-on): Add ignore-value.
39774
39775 2009-11-21  Bruno Haible  <bruno@clisp.org>
39776
39777         diffseq: reduce scope of variable 'best'.
39778         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
39779         variable, earlier used for two different purposes.
39780
39781 2009-11-21  Jim Meyering  <meyering@redhat.com>
39782
39783         diffseq: remove useless assignment to "best"
39784         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
39785         assignment.  At that point "best" is already guaranteed to be zero.
39786
39787 2009-11-20  Eric Blake  <ebb9@byu.net>
39788
39789         build: mention ftp redirector in release announcements
39790         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
39791         values that used to come from cfg.mk; mention FTP redirect URL.
39792         * build-aux/announce-gen: Mention the mirror list.
39793         Suggested by Karl Berry.
39794
39795         nanosleep: improve port to mingw
39796         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
39797         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
39798         LIB_NANOSLEEP, but only when needed.
39799         * modules/select (Link): Document LIBSOCKET.
39800         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
39801         enough.
39802
39803         nanosleep: work around cygwin bug
39804         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
39805         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
39806         bug.
39807         (getnow): Delete, not needed.
39808         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
39809         LIB_CLOCK_GETTIME.
39810         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
39811         clock-time, gettime.
39812         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
39813         bug.
39814         * modules/nanosleep-tests: New test.
39815         * tests/test-nanosleep.c: New file.
39816
39817         sleep: work around cygwin bug
39818         * lib/sleep.c (rpl_sleep): Work around the bug.
39819         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
39820         (gl_PREREQ_SLEEP): Delete unused macro.
39821         * modules/sleep (Depends-on): Add verify.
39822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39823         * modules/unistd (Makefile.am): Substitute witness.
39824         * lib/unistd.in.h (sleep): Update prototype.
39825         * doc/posix-functions/sleep.texi (sleep): Document the bug.
39826         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
39827         * modules/sleep-tests (Depends-on): Check for alarm.
39828
39829 2009-11-20  Jim Meyering  <meyering@redhat.com>
39830
39831         maint.mk: improve sc_prohibit_magic_number_exit
39832         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
39833         so it does not match uses like System.exit(1).
39834         Add comments showing how to correct all offenders.
39835
39836 2009-11-19  Eric Blake  <ebb9@byu.net>
39837
39838         xalloc-die-tests: add missing library
39839         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
39840
39841         test-xvasprintf: silence compiler warnings
39842         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
39843         empty string from gcc.
39844
39845 2009-11-19  Jim Meyering  <meyering@redhat.com>
39846
39847         xfreopen: new module, from coreutils
39848         * modules/xfreopen: New module.
39849         * lib/xfreopen.c: New file.
39850         * lib/xfreopen.h: New file.
39851         * MODULES.html.sh (File stream based Input/Output"): Add it.
39852
39853 2009-11-19  Eric Blake  <ebb9@byu.net>
39854
39855         manywarnings: depend on warnings
39856         * modules/manywarnings (Depends-on): Add warnings.
39857
39858         build: avoid compiler warnings
39859         * lib/select.c (rpl_select): Delete unused variable.
39860         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
39861
39862 2009-11-18  Eric Blake  <ebb9@byu.net>
39863
39864         tests: avoid false negative with --with-packager
39865         * tests/test-version-etc.sh: Discard packager information.
39866         * tests/test-argp-version-etc-1.sh: Likewise.
39867         Reported by Mike Frysinger.
39868
39869         utimens: fix regression on Solaris
39870         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
39871         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
39872         can only change fd timestamps via futimesat.  Instead, use an
39873         additional witness macro to avoid BSD bug.
39874         Reported by Jim Meyering.
39875
39876 2009-11-17  Eric Blake  <ebb9@byu.net>
39877
39878         usleep: use it to simplify tests
39879         * modules/stat-time-tests (Depends-on): Add usleep.
39880         (configure.ac): Drop usleep check.
39881         * modules/chown-tests (Depends-on, configure.ac): Likewise.
39882         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
39883         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
39884         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
39885         * modules/openat-tests (Depends-on, configure.ac): Likewise.
39886         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
39887         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
39888         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
39889         Likewise.
39890         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
39891         * tests/test-lchown.h (nap): Likewise.
39892         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
39893         * tests/test-stat-time.c (nap): Likewise.
39894         * tests/test-utimens-common.h (nap): Update comments.
39895
39896         usleep: new module
39897         * modules/usleep: New file.
39898         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
39899         * lib/usleep.c (usleep): Likewise.
39900         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39901         * modules/unistd (Makefile.am): Substitute witnesses.
39902         * lib/unistd.in.h (usleep): Add declaration.
39903         * doc/pastposix-functions/usleep.texi (usleep): Document this.
39904         * MODULES.html.sh (Date and time): Likewise.
39905         * modules/usleep-tests (Depends-on): New test.
39906         * tests/test-usleep.c: New file.
39907
39908         chown: work around OpenBSD bug
39909         * lib/chown.c (rpl_chown): Work around the bug.
39910         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
39911         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
39912         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
39913         * modules/chown (Depends-on): Add stdbool.
39914         * modules/lchown (Depends-on): Likewise.
39915         * doc/posix-functions/chown.texi (chown): Document the bug.
39916         * doc/posix-functions/lchown.texi (lchown): Likewise.
39917         * tests/test-lchown.h (test_chown): Relax test.
39918
39919         mkstemp: avoid conflict with C++ keyword template
39920         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
39921         * lib/mkostemp.c (mkostemp): Likewise.
39922         * lib/mkostemps.c (mkostemps): Likewise.
39923         * lib/mkstemp.c (mkstemp): Likewise.
39924         * lib/mkstemps.c (mkstemps): Likewise.
39925
39926         xalloc-die-tests: optimize
39927         * tests/test-xalloc-die.sh: Reduce number of processes.
39928
39929 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39930
39931         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
39932         patch from ludo@gnu.org (Ludovic Courtès).
39933
39934 2009-11-17  Jim Meyering  <meyering@redhat.com>
39935
39936         version-etc: use proper license string
39937         * modules/version-etc (License): Use LGPL, not LGPLv3+.
39938         * modules/version-etc-fsf: Likewise.
39939
39940 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39941
39942         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
39943         printed to stdout.  Deal with EOL differences.
39944
39945 2009-11-17  Eric Blake  <ebb9@byu.net>
39946
39947         unsetenv: work around Solaris bug
39948         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
39949         * lib/unsetenv.c (rpl_unsetenv): Work around it.
39950         Reported by Jim Meyering.
39951
39952         vasnprintf: avoid compiler warnings
39953         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
39954         variables.
39955         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
39956
39957 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39958
39959         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
39960         settings since xalloc-die is no longer the self test,
39961         xalloc-die.sh is.
39962
39963 2009-11-17  Jim Meyering  <meyering@redhat.com>
39964
39965         test-xalloc-die.sh: make the code agree with the commit log
39966         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
39967         at the end, just in case you happen to have a test-xalloc-die
39968         program in some other PATH directory.
39969
39970         test-xalloc-die.sh: fix a portability bug
39971         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
39972         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
39973         Otherwise, argv[0] (as often seen in diagnostics) would be too
39974         system-dependent, sometimes with, and sometimes without the leading "./".
39975
39976         version-etc-fsf: relax license to LGPLv3+
39977         * modules/version-etc-fsf (License): Relax license.
39978
39979 2009-11-16  Eric Blake  <ebb9@byu.net>
39980
39981         xalloc-die-tests: avoid printing null pointer
39982         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
39983         shell script.
39984         * tests/test-xalloc-die.c (program_name): Declare.
39985         * tests/test-xalloc-die.sh (tmpfiles): New file.
39986
39987         setenv, unsetenv: work around various bugs
39988         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
39989         (setenv) [HAVE_SETENV]: Work around bugs.
39990         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
39991         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
39992         for bugs.
39993         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
39994         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
39995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
39996         * modules/stdlib (Makefile.am): Update substitutions.
39997         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
39998         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
39999         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40000         * modules/setenv-tests: New test.
40001         * modules/unsetenv-tests: Likewise.
40002         * tests/test-setenv.c: New file.
40003         * tests/test-unsetenv.c: Likewise.
40004
40005 2009-11-16  Jim Meyering  <meyering@redhat.com>
40006
40007         version-etc: relax license to LGPLv3+
40008         * modules/version-etc (License): Relax license.
40009
40010         better AC_REQUIRE expanded-before-required-warning avoidance
40011         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40012         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40013         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40014         which is no longer needed.
40015
40016 2009-11-16  Eric Blake  <ebb9@byu.net>
40017
40018         test-freading: clean up temporary file
40019         * tests/test-freading.c (main): Remove file on success, and use
40020         ASSERT more liberally.
40021         Reported by Jim Meyering.
40022
40023 2009-11-16  Jim Meyering  <meyering@redhat.com>
40024
40025         avoid new AC_REQUIRE expanded-before-required warnings
40026         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40027         merely using it.
40028         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40029         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40030
40031 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40032
40033         * tests/test-xalloc-die.c: New file.
40034         * modules/xalloc-die-tests: New file.
40035         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40036         XFAIL_TESTS so it can be appended by modules.
40037
40038 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40039
40040         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40041         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40042
40043 2009-11-14  Eric Blake  <ebb9@byu.net>
40044
40045         fnmatch: avoid compiler warning
40046         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40047         to silence compiler warning about mismatch signedness in ?:.
40048         Reported by Robert Millan.
40049
40050         intprops: add double-inclusion guard
40051         * lib/intprops.h: Allow idempotent includes.
40052         Suggested by Bruce Korb.
40053
40054         openat: detect Solaris fchownat bug
40055         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40056         penalizing glibc chownat when only lchownat is broken.
40057         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40058         trailing slash bugs.
40059         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40060         * modules/openat-tests (Files): Include more files.
40061         (Depends-on): Add mgetgroups, sleep, stat-time.
40062         (configure.ac): Add additional checks.
40063         (Makefile.am): Build new test.
40064         * tests/test-fchownat.c: New file.
40065
40066         lchown: detect Solaris and FreeBSD bug
40067         * lib/lchown.c (rpl_lchown): Work around bug.
40068         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
40069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40070         * modules/unistd (Makefile.am): Populate it.
40071         * lib/unistd.in.h (lchown): Update declaration.
40072         * doc/posix-functions/lchown.texi (lchown): Document the bug.
40073         * modules/lchown-tests: New file.
40074         * tests/test-lchown.h (test_lchown): Likewise.
40075         * tests/test-lchown.c (main): Likewise.
40076
40077         chown: detect Solaris and FreeBSD bug
40078         * lib/chown.c (rpl_chown): Work around bug.
40079         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
40080         (gl_PREREQ_CHOWN): Delete.
40081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40082         * modules/unistd (Makefile.am): Populate it.
40083         * lib/unistd.in.h (chown): Update declaration.
40084         * lib/lchown.c (chown): Update client.
40085         * modules/lchown (Depends-on): Add lstat.
40086         * doc/posix-functions/chown.texi (chown): Document the bug.
40087         * doc/posix-functions/getgroups.texi (getgroups): Document
40088         getgroups pitfall.
40089         * modules/chown-tests: New file.
40090         * tests/test-chown.h (test_chown): Likewise.
40091         * tests/test-chown.c (main): Likewise.
40092
40093 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
40094
40095         gnulib-tool: correctly detect absence of m4 directories
40096         * gnulib-tool: Avoid extra newline on data passed to wc -l.
40097
40098 2009-11-14  Jim Meyering  <meyering@redhat.com>
40099
40100         maint.mk: Prohibit inclusion of "xalloc.h" without use.
40101         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40102
40103 2009-11-14  John W. Eaton  <jwe@gnu.org>
40104
40105         strftime.h: wrap function declaration in extern "C" block
40106         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
40107
40108 2009-11-13  Eric Blake  <ebb9@byu.net>
40109
40110         getgroups: avoid compiler warning
40111         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
40112
40113         getgroups: work around FreeBSD bug
40114         * lib/getgroups.c (rpl_getgroups): Work around the bug.
40115         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
40116         * doc/posix-functions/getgroups.texi (getgroups): Document it.
40117         * tests/test-getgroups.c (main): Fix buffer overrun.
40118
40119         getgroups: avoid compilation failure
40120         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
40121         * modules/getgroups (Depends-on): Add stdint.
40122
40123 2009-11-13  Jim Meyering  <meyering@redhat.com>
40124
40125         test-getgroups: avoid compilation failure
40126         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
40127
40128 2009-11-13  Eric Blake  <ebb9@byu.net>
40129
40130         mgetgroups: new module, taken from coreutils
40131         * modules/mgetgroups: New file.
40132         * lib/mgetgroups.h: Likewise.
40133         * lib/mgetgroups.c (mgetgroups): Likewise.
40134         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
40135         * MODULES.html.sh (Users and groups): Mention it.
40136
40137         getgroups: don't expose GETGROUPS_T to user
40138         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
40139         an element at a time if GETGROUPS_T is wrong size.
40140         * lib/getugroups.h (getugroups): Change signature.
40141         * lib/unistd.in.h (getgroups): Likewise.
40142         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
40143         signature needs fixing.
40144         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
40145         AC_TYPE_GETGROUPS.
40146         * modules/group-member (Depends-on): Add getgroups.
40147         * lib/group-member.c (group_info, get_group_info): Use gid_t.
40148         (group_member): Rely on getgroups replacement.
40149         * lib/getugroups.c (getugroups): Use gid_t.
40150         * tests/test-getgroups.c (main): Likewise.
40151         * NEWS: Mention the signature change.
40152         * doc/posix-functions/getgroups.texi (getgroups): Mention the
40153         problem with signature.
40154         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
40155         GETGROUPS_T is still useful for setgroups.
40156
40157         getgroups, getugroups: provide stubs for mingw
40158         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
40159         * lib/getugroups.c (getugroups): Likewise.
40160         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
40161         function.  Modernize replacement scheme.
40162         (gl_PREREQ_GETGROUPS): Delete.
40163         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
40164         * modules/getgroups (configure.ac): Declare witness.
40165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40166         * modules/unistd (Depends-on): Substitute witness.
40167         * lib/unistd.in.h (getgroups): Declare replacement.
40168
40169         getgroups: avoid calling exit
40170         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
40171         drop xalloc.
40172         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
40173         dependencies.
40174         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
40175         exiting, in the rare case of malloc failure.
40176
40177         getgroups: fix logic error
40178         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
40179         has more than 20 groups.
40180         * modules/getgroups-tests: New test.
40181         * tests/test-getgroups.c: New file.
40182
40183 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40184
40185         * tests/test-base64.c: Improve.
40186
40187 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40188
40189         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
40190         Blake <ebb9@byu.net>.
40191
40192 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40193
40194         * tests/test-xvasprintf.c: Add %s%s related checks.
40195
40196 2009-11-12  Eric Blake  <ebb9@byu.net>
40197
40198         version-etc: match standards.texi style
40199         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
40200         and use <> only for URLs.
40201
40202 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
40203
40204         fts: do not fail on a submount during traversal
40205         * lib/fts.c (fts_build): Read the stat info again after opening
40206         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
40207         Original report at http://bugzilla.redhat.com/501848.
40208
40209 2009-11-12  Jim Meyering  <meyering@redhat.com>
40210
40211         bootstrap: sync from coreutils
40212         * build-aux/bootstrap (bootstrap_epilogue): New function.
40213         Use git_modules_config in one more place.  This make bootstrap's
40214         --gnulib-srcdir option more useful for testing.
40215
40216         bootstrap: generalize autoheader check
40217         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
40218         AC_CONFIG_HEADERS.
40219
40220 2009-11-11  Eric Blake  <ebb9@byu.net>
40221
40222         mkfifoat: use new modules for Solaris and BSD bugs
40223         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
40224         * lib/mkfifoat.c (mknodat): Split...
40225         * lib/mknodat.c (mknodat): ...into new file.
40226         * modules/mkfifoat (Files): Ship new file.
40227         (Depends-on): Add mkfifo, mknod.
40228         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
40229         (Depends-on): Add symlink.
40230         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
40231         redundant with test_mkfifo.h.
40232         (do_mkfifoat, do_mknodat): New helpers.
40233
40234         mknod: new module
40235         * modules/mknod: New file.
40236         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
40237         * lib/mknod.c (mknod): Likewise.
40238         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40239         defaults.
40240         * modules/sys_stat (Makefile.am): Substitute them.
40241         * lib/sys_stat.in.h (mknod): Declare replacement.
40242         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40243         Document it.
40244         * doc/posix-functions/mknod.texi (mknod): Likewise.
40245         * modules/mknod-tests: New test.
40246         * tests/test-mknod.c: Likewise.
40247
40248         mkfifo: new module
40249         * modules/mkfifo: New file.
40250         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
40251         * lib/mkfifo.c (mkfifo): Likewise.
40252         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40253         defaults.
40254         * modules/sys_stat (Makefile.am): Substitute them.
40255         * lib/sys_stat.in.h (mkfifo): Declare replacement.
40256         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40257         Document it.
40258         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
40259         * modules/mkfifo-tests: New test.
40260         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
40261         from test-mkfifoat.c.
40262         * tests/test-mkfifo.c: New file.
40263
40264         readlink: detect FreeBSD bug
40265         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
40266         slash on symlink.
40267         * doc/posix-functions/readlink.texi (readlink): Document the bug.
40268         * tests/test-readlink.h (test_readlink): Enhance test.
40269
40270         symlink: detect FreeBSD bug
40271         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
40272         slash on symlink.
40273         * doc/posix-functions/symlink.texi (symlink): Document the bug.
40274         * tests/test-symlink.h (test_symlink): Enhance test.
40275
40276 2009-11-10  Eric Blake  <ebb9@byu.net>
40277
40278         link: detect FreeBSD bug
40279         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
40280         symlink.
40281         * doc/posix-functions/link.texi (link): Document the bug.
40282         * tests/test-link.h (test_link): Enhance test.
40283         * tests/test-linkat.c (main): Update caller.
40284
40285         unlink, remove: detect FreeBSD bug
40286         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
40287         slash on symlink.
40288         * doc/posix-functions/unlink.texi (unlink): Document the bug.
40289         * doc/posix-functions/remove.texi (remove): Likewise.
40290         * tests/test-unlink.h (test_unlink): Enhance test.
40291         * tests/test-remove.c (main): Likewise.
40292
40293 2009-11-09  Eric Blake  <ebb9@byu.net>
40294
40295         rename: detect FreeBSD bug
40296         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
40297         slash on symlink.
40298         * modules/renameat-tests (Depends-on): Add filenamecat.
40299         * tests/test-rename.h (test_rename): Allow one more errno.
40300         * tests/test-renameat.c (main): Likewise.
40301         * doc/posix-functions/rename.texi (rename): Document the bug.
40302
40303         open: detect FreeBSD bug
40304         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
40305         symlink.
40306         * doc/posix-functions/open.texi (open): Document the bug.
40307         * doc/posix-functions/utimes.texi (utimes): Likewise.
40308         * tests/test-open.h (test_open): Add parameters, and test symlink
40309         handling.
40310         * tests/test-open.c (main): Adjust caller.
40311         * tests/test-fcntl-safer.c (main): Likewise.
40312         * modules/open-tests (Depends-on): Add stdbool, symlink.
40313         * modules/fcntl-safer-tests (Depends-on): Likewise.
40314         * tests/test-openat.c (main): Add test-open tests.
40315
40316         stat: detect FreeBSD bug
40317         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
40318         symlink.
40319         * doc/posix-functions/stat.texi (stat): Document the bug.
40320         * tests/test-stat.h (test_stat_func): Add argument.
40321         * tests/test-stat.c (main): Adjust caller.
40322         * tests/test-fstatat.c (main): Likewise.
40323         * modules/stat-tests (Depends-on): Add stdbool, symlink.
40324         Reported by Jim Meyering.
40325
40326 2009-11-09  James Youngman  <jay@gnu.org>
40327
40328         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
40329         * lib/strftime.c: Correct placement of #include "ignore-value.h".
40330
40331 2009-11-08  Jim Meyering  <meyering@redhat.com>
40332
40333         utimens: remove invalid futimesat call
40334         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
40335         It used the file descriptor of the target file as the DIR_FD
40336         parameter and NULL as the file name.  That caused failure with
40337         errno == EFAULT on FreeBSD-8.0-rc2
40338
40339 2009-11-07  Eric Blake  <ebb9@byu.net>
40340
40341         fflush, freadseek: use fseeko, not fseek
40342         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
40343         (clear_ungetc_buffer): Avoid potential problems on large files.
40344         * lib/freadseek.c (freadseek): Likewise.
40345         * modules/freadseek (Depends-on): Add fseeko.
40346         * modules/fseek (configure.ac): Set a witness.
40347         * tests/test-fflush.c (main): Use fseeko.
40348         * tests/test-fpurge.c (fseek): Disable link warning.
40349         * tests/test-freadable.c (fseek): Likewise.
40350         * tests/test-freading.c (fseek): Likewise.
40351         * tests/test-fseeko.c (fseek): Likewise.
40352         * tests/test-ftell.c (fseek): Likewise.
40353         * tests/test-ftello.c (fseek): Likewise.
40354         * tests/test-fwritable.c (fseek): Likewise.
40355         * tests/test-fwriting.c (fseek): Likewise.
40356
40357 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40358
40359         * modules/memchr (Depends-on): Drop getpagesize dependency.
40360
40361 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40362
40363         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
40364         Reported by Ludovic Courtès.
40365         * build-aux/pmccabe2html: Improve example usage.
40366         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
40367
40368 2009-11-06  Jim Meyering  <meyering@redhat.com>
40369
40370         do-release-commit-and-tag: New module.
40371         Automate the release-commit and tag process.
40372         * build-aux/do-release-commit-and-tag: New script, from coreutils.
40373         * modules/do-release-commit-and-tag: New file.
40374         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40375
40376 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40377
40378         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
40379         because test-select.c uses inet_pton.
40380
40381 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40382
40383         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
40384         GETADDRINFO_LIB.  Bump serial number.
40385         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
40386         Suggested by Eric Blake <ebb9@byu.net>.
40387
40388 2009-11-05  Eric Blake  <ebb9@byu.net>
40389
40390         strtod: detect darwin bug
40391         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
40392         Reported by Leo Davis.
40393
40394         freopen-safer: new module
40395         * modules/freopen-safer: New module.
40396         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
40397         * lib/freopen-safer.c (freopen_safer): New file.
40398         * lib/stdio-safer.h (freopen_safer): New declaration.
40399         * lib/stdio--.h (freopen): New override.
40400         * MODULES.html.sh (File stream based Input/Output): Mention it.
40401         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
40402         freopen-safer module.
40403         * doc/posix-functions/stderr.texi (stderr): Likewise.
40404         * doc/posix-functions/stdin.texi (stdin): Likewise.
40405         * doc/posix-functions/stdout.texi (stdout): Likewise.
40406         * modules/freopen-safer-tests: New test.
40407         * tests/test-reopen-safer.c: New file.
40408
40409 2009-11-05  Jim Meyering  <meyering@redhat.com>
40410
40411         maint.mk: Prohibit inclusion of "close-stream.h" without use.
40412         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40413
40414 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40415
40416         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
40417
40418 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40419
40420         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
40421
40422 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40423
40424         Fix link error.
40425         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40426         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40427
40428 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40429
40430         * tests/test-func.c: Also test value of __func__.
40431
40432 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40433
40434         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40435         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40436
40437 2009-11-05  Bruno Haible  <bruno@clisp.org>
40438
40439         Fix link error.
40440         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40441         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40442         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40443
40444 2009-11-05  Bruno Haible  <bruno@clisp.org>
40445
40446         Tests for module 'inet_pton'.
40447         * modules/inet_pton-tests: New file.
40448         * tests/test-inet_pton.c: New file.
40449
40450 2009-11-05  Bruno Haible  <bruno@clisp.org>
40451
40452         Tests for module 'inet_ntop'.
40453         * modules/inet_ntop-tests: New file.
40454         * tests/test-inet_ntop.c: New file.
40455
40456 2009-11-04  Eric Blake  <ebb9@byu.net>
40457
40458         stdlib-safer: wrap all mkstemp variants
40459         * modules/mkostemp (configure.ac): Set witness.
40460         * modules/mkostemps (configure.ac): Likewise.
40461         * modules/mkstemps (configure.ac): Likewise.
40462         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40463         (mkstemps_safer): Wrap more functions.
40464         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40465         wrapping.
40466         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40467         (mkstemps_safer): Implement the wrappers.
40468
40469         mkstemps, mkostemps: new modules
40470         * modules/mkostemps: New module.
40471         * modules/mkstemps: Likewise.
40472         * lib/mkostemps.c (mkostemps): New file.
40473         * lib/mkstemps.c (mkstemps): Likewise.
40474         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40475         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40476         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40477         * modules/stdlib (Makefile.am): Substitute them.
40478         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40479         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40480         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40481         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40482         * MODULES.html.sh (File system functions): Mention them.
40483
40484         tempname: resync from glibc
40485         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40486         same values for __GT_FILE as glibc.  Abort even when assertions
40487         are disabled.
40488         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40489         match its value otherwise.  Allow idempotent inclusion.
40490         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40491         * lib/mkostemp.c (mkostemp): Likewise.
40492         * lib/mkstemp.c (mkstemp): Likewise.
40493         * lib/tmpfile.c (tmpfile): Likewise.
40494         * NEWS: Document this.
40495
40496         utimens: fix use of futimens on older Linux
40497         * lib/utimens.c (fdutimens): Use updated, rather than original,
40498         timespec to avoid bug in older Linux kernel.
40499         Reported by Simon Josefsson.
40500
40501 2009-11-04  Bruno Haible  <bruno@clisp.org>
40502
40503         Make num_processors more flexible and consistent.
40504         * lib/nproc.h (enum nproc_query): New type.
40505         (num_processors): Add a 'query' argument.
40506         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40507         (num_processors): Add a 'query' argument. Test the value of the
40508         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40509         mingw, count the number of CPUs available for the current process.
40510         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40511         Check for sched_getaffinity and sched_getaffinity_np.
40512         * modules/nproc (Depends-on): Add c-ctype, extensions.
40513         * NEWS: Mention the change.
40514
40515 2009-11-03  Bruno Haible  <bruno@clisp.org>
40516
40517         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40518
40519 2009-11-03  Jim Meyering  <meyering@redhat.com>
40520
40521         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40522         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40523         if it is defined.
40524
40525 2009-11-02  Eric Blake  <ebb9@byu.net>
40526
40527         mktime, timegm: share common declaration
40528         * lib/mktime-internal.h: New file.
40529         * lib/mktime.c: Use it rather than open-coding a declaration.
40530         * lib/timegm.c: Likewise.
40531         * modules/mktime (Files): Ship it.
40532         * modules/timegm (Files): Likewise.
40533         Suggested by Bruno Haible.
40534
40535         test-update-copyright: update test to match script changes
40536         * tests/test-update-copyright.sh: Avoid hard-coding perl
40537         location.  Don't update *.bak created by earlier runs.
40538
40539 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40540             Simon Josefsson  <simon@josefsson.org>
40541             Bruno Haible  <bruno@clisp.org>
40542
40543         Fix link error on Solaris 8.
40544         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40545         also in libnsl. Define also INET_PTON_LIB.
40546         * modules/inet_pton (Link): New section.
40547
40548 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40549             Bruno Haible  <bruno@clisp.org>
40550
40551         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40552         * modules/inet_ntop (Link): New section.
40553         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40554
40555 2009-11-02  Eric Blake  <ebb9@byu.net>
40556
40557         maint: avoid compiler warnings in m4 macros
40558         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40559         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40560
40561 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40562
40563         * m4/pmccabe2html.m4: Remove file.
40564         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40565         function.  Change maintainer.
40566         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40567         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40568         Courtès).
40569
40570 2009-10-31  Eric Blake  <ebb9@byu.net>
40571
40572         fseeko: fix m4 regression
40573         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40574         regression from 2009-10-27.
40575         Reported by Ralf Wildenhues.
40576
40577 2009-10-31  Jim Meyering  <meyering@redhat.com>
40578
40579         inttostr: aesthetics and improved (compile-time) safety
40580         Define inttype_is_signed rather than inttype_is_unsigned,
40581         since the sole use is via "#if inttype_is_signed".
40582         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40583         inttype_is_unsigned.
40584         * lib/offtostr.c (inttype_is_signed): Likewise.
40585         * lib/uinttostr.c (inttype_is_signed): Likewise.
40586         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40587         * lib/inttostr.c (inttostr): Use verify to cross-check the
40588         inttype_is_signed value and the signedness of the actual type.
40589         * modules/inttostr (Depends-on): Add verify.
40590
40591 2009-10-30  Eric Blake  <ebb9@byu.net>
40592
40593         build: avoid compiler warnings
40594         * lib/fchmodat.c (lchmod): Mark unused variables.
40595         * lib/getopt.c (_getopt_initialize): Likewise.
40596         * lib/mktime.c (__mktime_internal): Provide prototype.
40597         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40598         older gcc that do not understand #pragma GCC diagnostic.
40599         * lib/uinttostr.c (inttype_is_unsigned): Define.
40600         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
40601
40602 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
40603
40604         stat: fix compilation on AIX
40605         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
40606         only see struct stat64.
40607
40608 2009-10-30  Eric Blake  <ebb9@byu.net>
40609
40610         exclude: make more robust
40611         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
40612         rather than masking a coding bug.
40613         Suggested by Bruno Haible.
40614
40615 2009-10-30  Jim Meyering  <meyering@redhat.com>
40616
40617         perl scripts: remove #!/usr/bin/perl in favor of more portable...
40618         Rather than putting #!/usr/bin/perl on the first line,
40619         start with a variant of what's recommended by "man perlrun" that
40620         invokes the first "perl" program from your shell's search path.
40621         * build-aux/gitlog-to-changelog: Replace #!... as above.
40622         Add a "Local Variables" perl mode setting.
40623         Prompted by a patch from Ludovic Courtès.
40624         Improved by Eric Blake.
40625         * build-aux/useless-if-before-free: Likewise.
40626         * build-aux/announce-gen: Likewise.
40627         * build-aux/update-copyright: Likewise.
40628
40629 2009-10-29  Eric Blake  <ebb9@byu.net>
40630
40631         filenamecat-lgpl: adjust clients
40632         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
40633         filenamecat.
40634         * modules/renameat (Depends-on): Likewise.
40635
40636         filenamecat: split into filenamecat-lgpl
40637         * modules/filenamecat-lgpl: New module.
40638         * modules/filenamecat (Files): Move library-safe files into
40639         filenamecat-lgpl.
40640         (Depends-on): Add filenamecat-lgpl.
40641         (configure.ac): Declare witness.
40642         * lib/filenamecat.h (file_name_concat): Only declare when using
40643         GPL module.
40644         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40645         Move...
40646         * lib/filenamecat-lgpl.c: ...into new file.
40647         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40648         (gl_FILE_NAME_CONCAT): Use it.
40649         * MODULES.html.sh (File system functions): Mention new module.
40650
40651         argp: avoid memory leak
40652         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40653         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40654         base_name, since the latter malloc()s and can call exit().
40655         Leak introduced 2006-07-03.
40656
40657         dirname-lgpl: adjust clients that don't need full dirname
40658         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40659         * modules/filenamecat (Depends-on): Likewise.
40660         * modules/linkat (Depends-on): Likewise.
40661         * modules/mkancesdirs (Depends-on): Likewise.
40662         * modules/mkdir (Depends-on): Likewise.
40663         * modules/openat (Depends-on): Likewise.
40664         * modules/savewd (Depends-on): Likewise.
40665         * modules/rename (Depends-on): Likewise.
40666         (License): Relax license.
40667         * modules/mkdir-tests (Depends-on): Drop progname.
40668         (Makefile.am): Delete unneeded LDADD.
40669         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
40670
40671         dirname: split into dirname-lgpl
40672         * modules/dirname-lgpl: New module.
40673         * modules/dirname (Files): Move library-safe files into
40674         dirname-lgpl.
40675         (Depends-on): Add dirname-lgpl.
40676         (configure.ac): Declare witness.
40677         * modules/double-slash-root (License): Relax license.
40678         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
40679         module.
40680         * lib/dirname.c (dir_len, mdir_name): Move...
40681         * lib/dirname-lgpl.c: ...into new file.
40682         * lib/basename.c (last_component, base_len): Move...
40683         * lib/basename-lgpl.c: ...into new file.
40684         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
40685         (gl_DIRNAME): Use it.
40686         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
40687         Mention new module.
40688         * modules/dirname-tests (Depends-on): Add progname.
40689         * tests/test-dirname.c (program_name): Delete.
40690
40691         mkdir: make safe for libraries
40692         * modules/mkdir (Depends-on): Drop xalloc.
40693         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
40694         exit.
40695
40696         tests: avoid some compiler warnings
40697         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
40698         literals.
40699         * tests/test-memchr.c (main): Avoid type mismatch.
40700         * tests/test-arpa_inet.c (main): Avoid unused parameters.
40701         * tests/test-base64.c (main): Likewise.
40702         * tests/test-getdelim.c (main): Likewise.
40703         * tests/test-gethostname.c (main): Likewise.
40704         * tests/test-getline.c (main): Likewise.
40705         * tests/test-netinet_in.c (main): Likewise.
40706         * tests/test-select.c (open_server_socket, main): Likewise.
40707         * tests/test-select-stdin.c (main): Likewise.
40708         * tests/test-sockets.c (main): Likewise.
40709         * tests/test-strsignal.c (main): Likewise.
40710         * tests/test-sys_select.c (main): Likewise.
40711         * tests/test-sys_socket.c (main): Likewise.
40712         * tests/test-u64.c (main): Likewise.
40713         * tests/test-xfprintf-posix.c (main): Likewise.
40714         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
40715
40716         sockets: avoid compiler warning
40717         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
40718
40719         maint: detect usage(1) and other suspicious exits
40720         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
40721
40722 2009-10-29  Jim Meyering  <meyering@redhat.com>
40723
40724         timespec: long-to-int truncation could make timespec_cmp malfunction
40725         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
40726         a multiple of 2^32 nanoseconds as no difference.
40727
40728 2009-10-28  Jim Meyering  <meyering@redhat.com>
40729
40730         fprintftime: wrap macro code argument in "do {...} while(0)"
40731         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
40732         cpy macro must be a statement that can be followed by a semicolon.
40733         Now that the else clause contains a comment and is hence longer
40734         than one line, I require curly braces.  That in turn requires
40735         that we wrap this code block in the standard do...while(0).
40736
40737         fprintftime: remove stray semicolon from previous change
40738         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
40739
40740         fprintftime: avoid a warning about ignored fwrite return value
40741         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
40742         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
40743         that is unsafe.
40744         * modules/fprintftime (Depends-on): Add ignore-value.
40745
40746         exclude: avoid an unwarranted warning
40747         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
40748
40749 2009-10-27  Eric Blake  <ebb9@byu.net>
40750
40751         fseek: avoid compilation failure when fflush is replaced
40752         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
40753         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
40754         module is in use.
40755         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
40756         module is not in use; since REPLACE_FSEEK worked otherwise.
40757         (GNULIB_FTELLO): Likewise for ftell.
40758         Reported by Ian Beckwith and others.
40759
40760 2009-10-27  Bruno Haible  <bruno@clisp.org>
40761
40762         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
40763         Reported by Jim Meyering.
40764
40765 2009-10-27  Jim Meyering  <jim@meyering.net>
40766             Bruno Haible  <bruno@clisp.org>
40767
40768         Avoid warning despite dropping the return value of fwrite.
40769         * lib/unicodeio.c: Include ignore-value.h.
40770         (fwrite_success_callback): Explicitly ignore fwrite's return value.
40771         * modules/unicodeio (Depends-on): Add ignore-value.
40772
40773 2009-10-26  Eric Blake  <ebb9@byu.net>
40774
40775         areadlinkat: fix fallback path
40776         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
40777         pointer and zero.
40778
40779 2009-10-22  Pádraig Brady  <P@draigBrady.com>
40780
40781         Use a better IO block size for modern systems
40782         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
40783         * lib/md2.c: Likewise.
40784         * lib/md4.c: Likewise.
40785         * lib/md5.c: Likewise.
40786         * lib/sha1.c: Likewise.
40787         * lib/sha256.c: Likewise.
40788         * lib/sha512.c: Likewise.
40789
40790 2009-10-22  Eric Blake  <ebb9@byu.net>
40791
40792         tests: avoid several compiler warnings
40793         * tests/test-getcwd.c (main): Avoid buffer underflow.
40794         * tests/test-getdate.c (main): String literals are not safe with
40795         putenv, so use setenv.  Declare unused argument.
40796         * modules/getdate-tests (Depends-on): Add setenv.
40797         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
40798         problems with string literals in char *.
40799         * tests/test-hash.c (main): Avoid shadowing declaration.
40800         (insert_new): Treat string literals as char const *.
40801         * tests/test-getopt.h (test_getopt): Likewise.
40802         (getopt_loop): Alter types to minimize casting elsewhere.
40803         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
40804         (test_getopt_long_posix): Likewise.
40805         (do_getopt_long): Add wrapper to minimize casting.
40806         * tests/test-atexit.c (clear_temp_file): Use void.
40807         * tests/test-areadlink-with-size.c (main): Declare unused
40808         arguments.
40809         * tests/test-areadlink.c (main): Likewise.
40810         * tests/test-areadlinkat-with-size.c (main): Likewise.
40811         * tests/test-areadlinkat.c (main): Likewise.
40812         * tests/test-canonicalize-lgpl.c (main): Likewise.
40813         * tests/test-canonicalize.c (main): Likewise.
40814         * tests/test-dirent-safer.c (main): Likewise.
40815         * tests/test-dirname.c (main): Likewise.
40816         * tests/test-dup2.c (main): Likewise.
40817         * tests/test-fchdir.c (main): Likewise.
40818         * tests/test-fcntl-h.c (main): Likewise.
40819         * tests/test-fcntl-safer.c (main): Likewise.
40820         * tests/test-fdopendir.c (main): Likewise.
40821         * tests/test-fdutimensat.c (main): Likewise.
40822         * tests/test-fflush.c (main): Likewise.
40823         * tests/test-filenamecat.c (main): Likewise.
40824         * tests/test-filevercmp.c (main): Likewise.
40825         * tests/test-fopen-safer.c (main): Likewise.
40826         * tests/test-fopen.c (main): Likewise.
40827         * tests/test-fpending.c (main): Likewise.
40828         * tests/test-fpurge.c (main): Likewise.
40829         * tests/test-freading.c (main): Likewise.
40830         * tests/test-fstatat.c (main): Likewise.
40831         * tests/test-fsync.c (main): Likewise.
40832         * tests/test-futimens.c (main): Likewise.
40833         * tests/test-getndelim2.c (main): Likewise.
40834         * tests/test-gettimeofday.c (main): Likewise.
40835         * tests/test-getopt.c (main): Likewise.
40836         * tests/test-i-ring.c (main): Likewise.
40837         * tests/test-inttypes.c (main): Likewise.
40838         * tests/test-link.c (main): Likewise.
40839         * tests/test-lstat.c (main): Likewise.
40840         * tests/test-math.c (main): Likewise.
40841         * tests/test-md5.c (main): Likewise.
40842         * tests/test-memchr2.c (main): Likewise.
40843         * tests/test-memrchr.c (main): Likewise.
40844         * tests/test-mkdir.c (main): Likewise.
40845         * tests/test-mkdirat.c (main): Likewise.
40846         * tests/test-mkfifoat.c (main): Likewise.
40847         * tests/test-open.c (main): Likewise.
40848         * tests/test-openat-safer.c (main): Likewise.
40849         * tests/test-openat.c (main): Likewise.
40850         * tests/test-quotearg.c (main): Likewise.
40851         * tests/test-rawmemchr.c (main): Likewise.
40852         * tests/test-readlink.c (main): Likewise.
40853         * tests/test-remove.c (main): Likewise.
40854         * tests/test-rename.c (main): Likewise.
40855         * tests/test-renameat.c (main): Likewise.
40856         * tests/test-rmdir.c (main): Likewise.
40857         * tests/test-sha1.c (main): Likewise.
40858         * tests/test-signal.c (main): Likewise.
40859         * tests/test-sigaction.c (main): Likewise.
40860         * tests/test-stat.c (main): Likewise.
40861         * tests/test-stat-time.c (main): Likewise.
40862         * tests/test-stddef.c (main): Likewise.
40863         * tests/test-stdint.c (main): Likewise.
40864         * tests/test-stdio.c (main): Likewise.
40865         * tests/test-stdlib.c (main): Likewise.
40866         * tests/test-strchrnul.c (main): Likewise.
40867         * tests/test-strerror.c (main): Likewise.
40868         * tests/test-string.c (main): Likewise.
40869         * tests/test-strtod.c (main): Likewise.
40870         * tests/test-strverscmp.c (main): Likewise.
40871         * tests/test-symlink.c (main): Likewise.
40872         * tests/test-symlinkat.c (main): Likewise.
40873         * tests/test-sys_stat.c (main): Likewise.
40874         * tests/test-sys_time.c (main): Likewise.
40875         * tests/test-time.c (main): Likewise.
40876         * tests/test-unistd.c (main): Likewise.
40877         * tests/test-unlink.c (main): Likewise.
40878         * tests/test-unlinkat.c (main): Likewise.
40879         * tests/test-utimens.c (main): Likewise.
40880         * tests/test-utimensat.c (main): Likewise.
40881         * tests/test-version-etc.c (main): Likewise.
40882         * tests/test-wchar.c (main): Likewise.
40883         * tests/test-wctype.c (main): Likewise.
40884         * tests/test-xprintf-posix.c (main): Likewise.
40885         * tests/test-posixtm.c (main): Likewise.
40886         (STREQ): Delete unused macro.
40887         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
40888         shadowed variables.
40889         * tests/test-memchr.c (main): Likewise.
40890
40891 2009-10-21  Eric Blake  <ebb9@byu.net>
40892
40893         areadlinkat: avoid failure on older glibc
40894         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
40895         rather than mis-comparing 0 against FUNC_RESULT of char*.
40896
40897 2009-10-21  Bruno Haible  <bruno@clisp.org>
40898
40899         * modules/stpncpy (License): Relicense under LGPLv2+.
40900         Reported by David Lutterkort <lutter@redhat.com>.
40901
40902 2009-10-20  Eric Blake  <ebb9@byu.net>
40903
40904         utimensat: work around Solaris 9 bug
40905         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
40906         has trailing slash bugs.
40907         * tests/test-lutimens.h (test_lutimens): Enhance test.
40908         * tests/test-utimens.h (test_utimens): Likewise.
40909         * doc/posix-functions/utime.texi (utime): Enhance documentation.
40910         * doc/posix-functions/utimes.texi (utimes): Likewise.
40911         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40912         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
40913         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
40914         * doc/posix-functions/futimens.texi (futimens): Likewise.
40915
40916         fdutimensat: new module
40917         * modules/fdutimensat: New file.
40918         * lib/fdutimensat.c (fdutimensat): Likewise.
40919         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
40920         * MODULES.html.sh (File system functions): Mention module.
40921         * modules/fdutimensat-tests: New test.
40922         * tests/test-fdutimensat.c: Likewise.
40923
40924         doc: regenerate INSTALL
40925         * doc/INSTALL: Reflect recent autoconf update.
40926         * doc/INSTALL.ISO: Likewise.
40927         * doc/INSTALL.UTF-8: Likewise.
40928
40929 2009-10-20  Pádraig Brady  <P@draigBrady.com>
40930
40931         acl: warn if ACL support is not detected
40932         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
40933
40934 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
40935
40936         * lib/nproc.h: Add extern "C" block for C++.
40937
40938 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
40939             Bruno Haible  <bruno@clisp.org>
40940
40941         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
40942         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
40943         * doc/posix-functions/isalpha.texi: Likewise.
40944         * doc/posix-functions/isblank.texi: Likewise.
40945         * doc/posix-functions/iscntrl.texi: Likewise.
40946         * doc/posix-functions/isdigit.texi: Likewise.
40947         * doc/posix-functions/isgraph.texi: Likewise.
40948         * doc/posix-functions/islower.texi: Likewise.
40949         * doc/posix-functions/isprint.texi: Likewise.
40950         * doc/posix-functions/ispunct.texi: Likewise.
40951         * doc/posix-functions/isspace.texi: Likewise.
40952         * doc/posix-functions/isupper.texi: Likewise.
40953         * doc/posix-functions/isxdigit.texi: Likewise.
40954
40955 2009-10-18  Bruno Haible  <bruno@clisp.org>
40956
40957         Tests for module 'isblank'.
40958         * modules/isblank-tests: New file.
40959         * tests/test-isblank.c: New file.
40960
40961         New module 'isblank'.
40962         * lib/isblank.c: New file.
40963         * m4/isblank.m4: New file.
40964         * modules/isblank: New file.
40965         * doc/posix-functions/isblank.texi: Mention the new module.
40966
40967 2009-10-18  Bruno Haible  <bruno@clisp.org>
40968
40969         New module 'ctype'.
40970         * lib/ctype.in.h: New file.
40971         * m4/ctype.m4: New file.
40972         * modules/ctype: New file.
40973         * doc/posix-headers/ctype.texi: Mention the new module.
40974
40975 2009-10-18  Jim Meyering  <meyering@redhat.com>
40976
40977         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
40978         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
40979         right after its initialization, rather than farther down.
40980         Keeping these in close proximity makes it easier to ensure
40981         that each such variable is initialized.  E.g.,
40982
40983             LIB_CLOCK_GETTIME=
40984             AC_SUBST([LIB_CLOCK_GETTIME])
40985
40986         This change also increments these serial numbers.
40987         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
40988         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40989         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40990
40991 2009-10-18  Bruno Haible  <bruno@clisp.org>
40992
40993         Don't let environment variables perturb build.
40994         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
40995         (gl_PREREQ_GETHRXTIME): ... not here.
40996
40997 2009-10-18  Bruno Haible  <bruno@clisp.org>
40998
40999         Avoid symlink attack in localcharset module.
41000         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
41001         (O_NOFOLLOW): Define fallback.
41002         (get_charset_aliases): Don't open the file if it is a symbolic link.
41003         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
41004         gl_FCNTL_H.
41005         (gl_FCNTL_H): Require it.
41006         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41007         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41008         Reported by Fergal Glynn <fglynn@veracode.com>.
41009
41010 2009-10-18  Bruno Haible  <bruno@clisp.org>
41011
41012         Implement nproc for mingw.
41013         * lib/nproc.c: Include <windows.h>
41014         (num_processors): On native Windows platforms, try GetSystemInfo.
41015
41016 2009-10-18  Bruno Haible  <bruno@clisp.org>
41017
41018         Implement nproc for IRIX.
41019         * lib/nproc.c: Include <sys/sysmp.h>.
41020         (num_processors): On IRIX systems, try sysmp.
41021         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41022
41023 2009-10-18  Bruno Haible  <bruno@clisp.org>
41024
41025         Implement nproc for HP-UX.
41026         * lib/nproc.c: Include <sys/pstat.h>
41027         (num_processors): On HP-UX systems, try pstat_getdynamic.
41028         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41029         pstat_getdynamic.
41030
41031 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41032             Bruno Haible  <bruno@clisp.org>
41033
41034         Implement nproc for NetBSD, OpenBSD.
41035         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41036         (ARRAY_SIZE): New macro.
41037         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41038         * m4/nproc.m4: New file.
41039         * modules/nproc (Files): Add m4/nproc.m4.
41040         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41041         (Makefile.am): Instead, augment lib_SOURCES.
41042
41043 2009-10-18  Bruno Haible  <bruno@clisp.org>
41044
41045         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41046         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41047         sys/param.h.
41048
41049 2009-10-16  Eric Blake  <ebb9@byu.net>
41050
41051         utimensat: new module
41052         * modules/utimensat: New file.
41053         * lib/utimensat.c (utimensat): Likewise.
41054         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41055         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41056         so we can work around Linux bugs.
41057         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41058         * modules/sys_stat (Makefile.am): Substitute them.
41059         * lib/sys_stat.in.h (utimensat): Declare it.
41060         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41061         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41062         * modules/utimensat-tests: New test.
41063         * tests/test-utimensat.c: Likewise.
41064
41065         utimens: let lutimens work on non-symlinks
41066         * lib/utimens.c (lutimens): Fall back to utimens rather than
41067         failing with ENOSYS, when file is not a symlink.
41068         (utimens): Reduce redirection.
41069         * tests/test-lutimens.h (test_lutimens): Update test to cover
41070         non-symlinks.
41071         * tests/test-utimens.h (test_utimens): Update test to cover
41072         symlinks.
41073         * tests/test-utimens.c (main): Update caller.
41074
41075         utimens: cache whether utimensat syscall works
41076         * lib/utimens.c (utimensat_works_really): New cache variable.
41077         (fdutimens, lutimens): Use it to avoid failing syscall.
41078
41079         test-stat-time, test-utimens: improve portability
41080         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
41081         ext4 on alpha, and for cygwin.
41082         * tests/test-utimens-common.h: New file.
41083         (nap): Factor delays into single function.
41084         * tests/test-lutimens.h (test_lutimens): Use new header.
41085         * tests/test-futimens.h (test_futimens): Likewise.
41086         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
41087         timestamps to occur from same machine, as was done previously for
41088         test_utimens.
41089         * modules/utimens-tests (Files): Ship new file.
41090         * modules/futimens-tests (Files): Likewise.
41091         Reported in part by Jim Meyering.
41092
41093         sys_stat: sort replacement declarations
41094         * lib/sys_stat.in.h: Sort declarations.
41095         * lib/futimens.c (futimens): Fix typo.
41096
41097 2009-10-15  Jim Meyering  <meyering@redhat.com>
41098
41099         don't let environment settings perturb build
41100         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
41101         could cause a configure-time and/or build-time malfunction.
41102         Typically, a configure-time function-in-library test is performed
41103         via code like this:
41104
41105           LIB_VAR=
41106           AC_SUBST([LIB_VAR])
41107           prefix_saved_LIBS=$LIBS
41108             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
41109                        [test "$ac_cv_search_FUNC" = "none required" ||
41110                         LIB_VAR=$ac_cv_search_FUNC])
41111           LIBS=$prefix_saved_LIBS
41112
41113         However, in each of the files affected by this change, the LIB_VAR=
41114         initialization was omitted.  Thus, when set in the environment, its
41115         value would propagate into generated Makefiles when FUNC is not found
41116         in LIB_NAME.
41117         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
41118         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41119         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41120
41121 2009-10-14  Eric Blake  <ebb9@byu.net>
41122
41123         fchdir: avoid infinite recursion in mingw
41124         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
41125         recursing.
41126
41127         test-stat-time: port to mingw
41128         * tests/test-stat-time.c (force_unlink): Return a value.
41129         (test_ctime) [W32]: Fix compilation error.
41130         (nap): Don't call usleep with too large an argument.  Use
41131         force_unlink.
41132         * doc/pastposix-functions/usleep.texi (usleep): Document the
41133         portability issue.
41134
41135 2009-10-13  Jim Meyering  <meyering@redhat.com>
41136
41137         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
41138         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
41139         * modules/pipe-filter-ii: Likewise.
41140         * modules/sys_socket-tests: Likewise.
41141         * modules/tsearch-tests: Likewise.
41142         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
41143         (check): Depend on it.
41144
41145 2009-10-12  Eric Blake  <ebb9@byu.net>
41146
41147         utimens-tests: port to NFS file systems
41148         * tests/test-utimens.h (test_utimens): Refactor utimecmp
41149         comparisons to avoid spurious failures from timestamp drift
41150         between NFS machines.
41151
41152 2009-10-12  Eric Blake  <ebb9@byu.net>
41153
41154         stat-time-tests: minor cleanups
41155         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
41156         * tests/test-stat-time.c (nap): Separate assignment from call.
41157         Suggested by Paolo Bonzini and Bruno Haible.
41158
41159         sys_stat: guarantee struct timespec
41160         * lib/sys_stat.in.h (includes): Always include <time.h>
41161         * modules/sys_stat (Depends-on): Add time.
41162         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
41163         mode_t permission values.
41164         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
41165         get at subsecond timestamps.
41166
41167 2009-10-10  Eric Blake  <ebb9@byu.net>
41168
41169         futimens: new module
41170         * modules/futimens: New file.
41171         * lib/futimens.c (futimens): Likewise.
41172         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
41173         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
41174         we can work around Linux bugs.
41175         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41176         * modules/sys_stat (Makefile.am): Substitute them.
41177         * lib/sys_stat.in.h (futimens): Declare it.
41178         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41179         * doc/posix-functions/futimens.texi (futimens): Likewise.
41180         * modules/futimens-tests: New test.
41181         * tests/test-futimens.c: Likewise.
41182
41183         utimens: introduce fdutimens
41184         * lib/utimens.h (fdutimens): New prototype.
41185         * lib/utimens.c (gl_futimens): Move guts...
41186         (fdutimens): ...to new interface.
41187         * tests/test-utimens.c (do_fdutimens): Use it.
41188
41189         utimens: add UTIME_NOW and UTIME_OMIT support
41190         * lib/utimens.c (validate_timespec, update_timespec): New helper
41191         functions.
41192         (gl_futimens, lutimens): Use them.
41193         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
41194         stdbool, sys_stat.
41195         (Link): Mention resulting library dependency.
41196         * modules/utimecmp (Link): Likewise.
41197         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
41198         (Makefile.am): Pick up library dependency.
41199         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
41200         definition.
41201         * tests/test-sys_stat.c: Test the definitions.
41202         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
41203         * NEWS: Document library dependency.
41204
41205         utimecmp: support symlink timestamps
41206         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
41207         hashing when possible.  Use pathconf when available.
41208         (SYSCALL_RESOLUTION): Recognize tighter resolution.
41209         * modules/utimecmp (Depends-on): Add lstat.
41210
41211         utimens: add lutimens interface
41212         * lib/utimens.c (lutimens): New function.
41213         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
41214         * lib/utimens.h (lutimens): Declare new interface.
41215         * tests/test-utimens.c (main): Enhance test.
41216         * tests/test-lutimens.h (test_lutimens): New file.
41217         * modules/utimens-tests (Files): Distribute it.
41218         (Depends-on): Add symlink.
41219         (configure.ac): Check for usleep.
41220
41221         utimens: validate futimens usage
41222         * lib/utimens.c (gl_futimens): Require valid fd up front, using
41223         fewer syscalls on failure later on.  Avoid compiler warning on
41224         mingw.
41225         * modules/utimens (Depends-on): Add dup2.
41226
41227         utimens: add test
41228         * modules/utimens-tests: New test.
41229         * tests/test-utimens.h: New file.
41230         * tests/test-futimens.h: Likewise.
41231         * tests/test-utimens.c: Likewise.
41232
41233         doc: mention timestamp portability issues
41234         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
41235         instead.
41236         * doc/posix-functions/utime.texi (utime): Likewise.
41237         * doc/posix-functions/utimes.texi (utimes): Likewise.
41238         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
41239         instead.
41240         * doc/posix-functions/futimens.texi (futimens): Mention utimens
41241         module.
41242         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41243         Mention weakness with symlink timestamps.
41244         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
41245         to utimensat/futimens instead.
41246         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
41247
41248         test-dup2: enhance test
41249         * tests/test-dup2.c (main): Also check AT_FDCWD.
41250
41251         test-stat-time: avoid more spurious failures
41252         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
41253         xfs; and avoid race if the two timestamps cross quantization edge.
41254
41255         relocatable: prefer 'file system' over 'filesystem'
41256         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
41257         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
41258         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
41259         * doc/relocatable.texi (Enabling Relocatability): Likewise.
41260         * lib/relocatable.c (compute_curr_prefix): Likewise.
41261
41262 2009-10-10  Jim Meyering  <meyering@redhat.com>
41263
41264         stat-time-tests: check for the usleep function
41265         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
41266
41267 2009-10-10  Bruno Haible  <bruno@clisp.org>
41268
41269         * modules/xnanosleep: Put the Link section after the Include section.
41270
41271 2009-10-09  Eric Blake  <ebb9@byu.net>
41272
41273         dup2: work around FreeBSD 6.1 bug
41274         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
41275         * doc/posix-functions/dup2.texi (dup2): Document it.
41276         Reported by Nelson H. F. Beebe and Jim Meyering.
41277
41278         test-stat-time: port to buggy NFS clients
41279         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
41280         (test_ctime): Also skip test if mtime and ctime are skewed.
41281
41282         maint: prefer 'file system' over 'filesystem'
41283         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41284         * doc/posix-functions/lstat.texi (lstat): Likewise.
41285         * lib/file-has-acl.c (file_has_acl): Likewise.
41286         * lib/fwriteerror.c [TEST]: Likewise.
41287         * tests/test-areadlink.h (test_areadlink): Likewise.
41288         * tests/test-areadlinkat-with-size.c (main): Likewise.
41289         * tests/test-areadlinkat.c (main): Likewise.
41290         * tests/test-canonicalize-lgpl.c (main): Likewise.
41291         * tests/test-canonicalize.c (main): Likewise.
41292         * tests/test-fstatat.c (main): Likewise.
41293         * tests/test-linkat.c (main): Likewise.
41294         * tests/test-lstat.h (test_lstat_func): Likewise.
41295         * tests/test-mkdir.h (test_mkdir): Likewise.
41296         * tests/test-readlink.h (test_readlink): Likewise.
41297         * tests/test-remove.c (main): Likewise.
41298         * tests/test-rename.h (test_rename): Likewise.
41299         * tests/test-renameat.c (main): Likewise.
41300         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41301         * tests/test-symlink.h (test_symlink): Likewise.
41302         * tests/test-symlinkat.c (main): Likewise.
41303         * tests/test-unlink.h (test_unlink_func): Likewise.
41304         * tests/test-unlinkat.c (main): Likewise.
41305
41306         maint: make realtime library usage explicit
41307         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
41308         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
41309         * modules/settime (Link): Likewise.
41310         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
41311
41312         test-stat-time: speed up execution
41313         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
41314         warning on mingw.
41315         (nap): New helper function.
41316         (prepare_test): Use it to reduce sleep time.
41317         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
41318         execution.
41319         * modules/stat-time-tests (configure.ac): Check for usleep.
41320
41321 2009-10-09  Jim Meyering  <meyering@redhat.com>
41322
41323         selinux-h: always use getfilecon wrappers
41324         * lib/getfilecon.c: New file.
41325         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
41326         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
41327         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
41328         (fgetfilecon): Provide a stub.
41329         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
41330         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
41331         file unconditionally.
41332         When <selinux/selinux.h> is found, arrange to use wrappers.
41333         * modules/selinux-h (Files): Add getfilecon.c.
41334         (Makefile.am): Substitute include-next-related bits
41335         into the now-always-generated selinux/selinux.h file.
41336         * doc/glibc-functions/lgetfilecon.texi: New file.
41337         * doc/glibc-functions/fgetfilecon.texi: New file.
41338         * doc/glibc-functions/getfilecon.texi: New file.
41339         * doc/glibc-functions/getfilecon-desc.texi: New file.
41340         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
41341         which to pull in the new files.
41342         * MODULES.html.sh (Misc): Add selinux-h.
41343
41344 2009-10-08  Jim Meyering  <meyering@redhat.com>
41345
41346         unistd: fix comment typo
41347         * lib/unistd.in.h (euidaccess): Fix a comment typo.
41348
41349 2009-10-08  Eric Blake  <ebb9@byu.net>
41350
41351         areadlink: use SIZE_MAX consistently
41352         * modules/areadlink (Depends-on): Add stdint.
41353         * modules/areadlink-with-size (Depends-on): Likewise.
41354         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
41355         gives NULL; drop sys/types, since unistd gives size_t; and add
41356         stdint for SIZE_MAX.
41357         (SIZE_MAX): Rely on headers.
41358         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
41359         and add stdint.
41360         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
41361         (SIZE_MAX): Likewise.
41362         (INITIAL_BUF_SIZE): Turn into enum.
41363         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
41364
41365 2009-10-08  Jim Meyering  <meyering@redhat.com>
41366
41367         areadlinkat: avoid compilation failure
41368         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
41369         Fix typo in comment.
41370
41371 2009-10-07  Eric Blake  <ebb9@byu.net>
41372
41373         areadlinkat-with-size: new module
41374         * modules/areadlinkat-with-size: New module.
41375         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
41376         * lib/areadlink.h (areadlinkat): Declare it.
41377         * MODULES.html.sh (File system functions): Mention it.
41378         * modules/areadlinkat-with-size-tests: New test.
41379         * tests/test-areadlinkat-with-size.c: New file.
41380
41381         xreadlinkat: new module
41382         * modules/xreadlinkat: New module.
41383         * lib/xreadlinkat.c (xreadlinkat): New file.
41384         * lib/xreadlink.h (xreadlinkat): Declare it.
41385         * MODULES.html.sh (File system functions): Mention it.
41386
41387         areadlinkat: new module
41388         * lib/at-func.c (FUNC_FAIL): New define.
41389         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
41390         * modules/areadlinkat: New module.
41391         * lib/linkat.c (areadlinkat): Move...
41392         * lib/areadlinkat.c (areadlinkat): ...to new file.
41393         * lib/areadlink.h (areadlinkat): Declare it.
41394         * modules/linkat (Depends-on): Add areadlinkat.
41395         * MODULES.html.sh (File system functions): Mention it.
41396         * modules/areadlinkat-tests: New test.
41397         * tests/test-areadlinkat.c: New file.
41398
41399         areadlink, areadlink-with-size: add tests
41400         * modules/areadlink-tests: New test.
41401         * modules/areadlink-with-size-tests: Likewise.
41402         * tests/test-areadlink.h: New file.
41403         * tests/test-areadlink.c: Likewise.
41404         * tests/test-areadlink-with-size.c: Likewise.
41405
41406         maint: minor cleanups
41407         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
41408         _UNUSED_PARAMETER_ instead.
41409         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
41410         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
41411         * modules/linkat-tests (Files): Distribute test-link.h.
41412
41413         openat, utimens: whitespace cleanup
41414         * lib/openat.c: Prefer space throughout, rather than mix of 8
41415         spaces vs. tabs.
41416         * lib/at-func.c: Likewise.
41417         * lib/utimens.c: Likewise.
41418
41419         openat: avoid using wrong fd
41420         * lib/openat.c (openat_permissive): Reject user's fd if saving the
41421         working directory chooses same fd.
41422         * lib/at-func.c (AT_FUNC_NAME): Likewise.
41423
41424         mkdir, mkdirat: fix cygwin 1.5.x bug
41425         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
41426         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
41427         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
41428         bug.
41429         (gl_PREREQ_MKDIR): Delete unused macro.
41430         * modules/mkdir (Files): Track file rename.
41431         (configure.ac): Update macro name.
41432         * modules/openat (Depends-on): Add mkdir.
41433         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41434
41435         mkdir, mkdirat: add tests
41436         * modules/mkdir-tests: New test.
41437         * tests/test-mkdir.h: New file.
41438         * tests/test-mkdir.c: Likewise.
41439         * tests/test-mkdirat.c: Likewise.
41440         * modules/openat-tests (Files): Add new files.
41441         (Makefile.am): Run new test.
41442
41443 2009-10-06  Eric Blake  <ebb9@byu.net>
41444
41445         doc: tweak *at function documentation
41446         * doc/posix-functions/faccessat.texi (faccessat): Mention
41447         known issue with replacement.
41448         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41449         * doc/posix-functions/linkat.texi (linkat): Likewise.
41450         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41451         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41452         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41453         * doc/posix-functions/renameat.texi (renameat): Likewise.
41454         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41455
41456         openat: fix GNU/Hurd bug in unlinkat
41457         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41458         broken.
41459         * doc/posix-functions/unlink.texi (unlink): Document this.
41460         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41461
41462         fdopendir: fix GNU/Hurd bug
41463         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41464         allowing non-directory fds.
41465         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41466         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41467         * modules/dirent (Makefile.am): Substitute it.
41468         * lib/dirent.in.h (fdopendir): Declare replacement.
41469         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41470         * tests/test-fdopendir.c (main): Test something other than
41471         /dev/null, since on Hurd that behaves like a directory.
41472
41473         test-symlink: port to GNU/Hurd
41474         * tests/test-symlink.h (test_symlink): Relax expected errno.
41475
41476         doc: tweak more cygwin information
41477         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41478         now compatible with glibc.
41479         * doc/posix-functions/getopt.texi (getopt): Likewise.
41480
41481         getopt-gnu: add another test
41482         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41483         guarantee behavior relied on by m4.
41484         * tests/test-getopt.c (main): Use it.
41485         * modules/getopt-posix-tests (Depends-on): Add setenv.
41486         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41487
41488         getopt: fix compilation on darwin
41489         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41490         include.
41491         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41492         Reported by Ludovic Courtès.
41493
41494 2009-10-06  Bruno Haible  <bruno@clisp.org>
41495
41496         * modules/size_max (Description): Discourage its use.
41497         Reported by Simon Josefsson.
41498
41499 2009-10-06  Jim Meyering  <meyering@redhat.com>
41500
41501         linkat: avoid compilation failure
41502         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41503
41504 2009-10-05  Eric Blake  <ebb9@byu.net>
41505
41506         linkat: support Linux 2.6.17
41507         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41508         linkat on Linux, but allow cache variable override.
41509         * lib/linkat.c (rpl_linkat): Define override.
41510         * modules/linkat (Depends-on): Add symlinkat.
41511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41512         * modules/unistd (Makefile.am): Substitute it.
41513         * lib/unistd.in.h (linkat): Declare replacement.
41514         Reported by Pádraig Brady.
41515
41516         quotearg: port test to systems with C.UTF-8 locale
41517         * tests/test-quotearg.c (struct result_strings): Add another
41518         member, differentiating between C.ASCII and C.UTF-8 handling.
41519         (compare_strings): Add parameter.
41520         (main): Adjust all callers.
41521
41522         getopt: avoid clash with FreeBSD _getopt_internal
41523         * lib/getopt.in.h (_getopt_internal): Override the name.
41524         * lib/getopt_int.h (includes): Pick up any overrides.
41525         Reported by Reuben Thomas.
41526
41527         hash: allow C89 compilation
41528         * lib/hash.c (check_tuning): Move declaration before statement.
41529         Reported by Reuben Thomas.
41530
41531 2009-10-05  Karl Berry  <karl@gnu.org>
41532
41533         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41534
41535 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41536             Bruno Haible  <bruno@clisp.org>
41537
41538         * lib/uname.c (uname): Use a table-driven algorithm to compute
41539         Windows NT versions.
41540
41541 2009-10-04  Bruno Haible  <bruno@clisp.org>
41542
41543         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41544         program_invocation_short_name.
41545         * modules/progname (configure.ac): Test for presence of
41546         program_invocation_short_name.
41547         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41548
41549 2009-10-04  Bruno Haible  <bruno@clisp.org>
41550
41551         * lib/progname.c (set_program_name): Fix comment.
41552         Reported by Jim Meyering.
41553
41554 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41555             Bruno Haible  <bruno@clisp.org>
41556
41557         * lib/uname.c: Include <string.h>.
41558         (uname): Do only one call to GetVersionEx in the common case.
41559
41560 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41561             Bruno Haible  <bruno@clisp.org>
41562
41563         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41564         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41565         (uname): Add support for Windows CE and various non-x86 CPU types.
41566
41567 2009-10-03  Bruno Haible  <bruno@clisp.org>
41568
41569         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41570         invocation to tests/configure.ac.
41571         Reported by Ian Beckwith <ianb@erislabs.net>.
41572
41573 2009-10-02  Eric Blake  <ebb9@byu.net>
41574
41575         fchdir: avoid compiler warning
41576         * lib/fchdir.c (canonicalize_file_name)
41577         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41578
41579         test-open: support mingw errno values
41580         * tests/test-open.h (test_open): Relax test.
41581         * tests/test-fopen.h (test_fopen): Likewise.
41582         * tests/test-openat-safer.c (main): Likewise.
41583
41584         open: fix opening directory on mingw
41585         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41586
41587         test-open: on GNU/Hurd, /dev/null is a directory
41588         * tests/test-fopen.h (main): Rename...
41589         (test_fopen): ...to this.  Use a guaranteed non-directory when
41590         confirming open behavior on trailing slash.
41591         * tests/test-openat-safer.c (main): Likewise.
41592         * tests/test-open.h (main): Likewise....
41593         (test_open): ...to this.
41594         * tests/test-fopen.c (main): Adjust caller.
41595         * tests/test-fopen-safer.c (main): Likewise.
41596         * tests/test-open.c (main): Likewise.
41597         * tests/test-fcntl-safer.c (main): Likewise.
41598         Reported by Samuel Thibault.
41599
41600         rename, fchdir: don't ignore chdir failure
41601         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
41602         * lib/rename.c (rpl_rename) [W32]: Likewise.
41603         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
41604         an empty destination directory if source cannot be renamed,
41605         although there is still possibility for failure.
41606         * doc/posix-functions/rename.texi (rename): Document the race.
41607         Reported by Jim Meyering.
41608
41609         maint: cleanup whitespace in recent commits
41610         * lib/rename.c (rpl_rename): Remove tabs.
41611         * tests/test-link.h (test_link): Likewise.
41612         * lib/fchdir.c (get_name): Likewise.
41613         Reported by Jim Meyering.
41614
41615 2009-10-02  Ben Pfaff  <blp@gnu.org>
41616
41617         relocatable-prog-wrapper: Add missing dependency on
41618         double-slash-root.
41619         * modules/relocatable-prog-wrapper: Add dependency.
41620         Reported by Ian Beckwith <ianb@erislabs.net>.
41621
41622 2009-10-02  Eric Blake  <ebb9@byu.net>
41623
41624         renameat: fix Solaris bugs
41625         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
41626         needed fixing.
41627         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
41628         * modules/stdio (Makefile.am): Substitute it.
41629         * lib/stdio.in.h (renameat): Declare replacement.
41630         * lib/renameat.c (rpl_renameat): Implement fix.
41631
41632         renameat: new module
41633         * modules/renameat: New file.
41634         * lib/renameat.c (renameat): Likewise.
41635         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
41636         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41637         * modules/stdio (Makefile.am): Substitute them.
41638         * lib/stdio.in.h (renameat): Declare it.
41639         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41640         * doc/posix-functions/renameat.texi (renameat): Likewise.
41641         * modules/renameat-tests: New test.
41642         * tests/test-renameat.c: Likewise.
41643
41644         rename: fix mingw bugs
41645         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41646         directory overwrite bugs.
41647
41648         rename: fix another cygwin 1.5 bug
41649         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41650         checks.
41651         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41652         unnecessary cygwin workarounds.  Also work around bug with moving
41653         full directory onto an empty one.
41654         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41655
41656         rename-dest-slash: merge into rename module
41657         * modules/rename-dest-slash (Status): Mark obsolete.
41658         (Depends-on): Add rename.
41659         (Files): Let rename do it all.
41660         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41661         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41662         * m4/rename-dest-slash.m4: ...so this file can be deleted.
41663         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
41664         * lib/rename.c (rpl_rename): Update comments.
41665
41666         rename: fix cygwin 1.5.x bugs
41667         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
41668         * lib/rename.c (rpl_rename): Work around them.
41669         * modules/rename (Depends-on): Add same-inode.
41670
41671         rename: fix Solaris 10 bug
41672         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41673         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
41674         was the only bug.
41675
41676         rename: fix Solaris 9 bug
41677         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
41678         on non-directory.  Avoid calling exit.
41679         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
41680         strdup.
41681         * modules/rename-tests (Depends-on): Drop lstat.
41682         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41683         (gl_PREREQ_RENAME): Delete unused macro.
41684
41685         rename-dest-slash: fix NetBSD bug
41686         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
41687         links.
41688         * modules/rename-dest-slash (Depends-on): Add same-inode.
41689
41690         rename-tests: new test, exposes several platform bugs
41691         * modules/rename-tests: New file.
41692         * tests/test-rename.h: Likewise.
41693         * tests/test-rename.c: Likewise.
41694         * doc/posix-functions/rename.texi (rename): Improve documentation,
41695         including bugs that will eventually be fixed in gnulib.
41696
41697 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
41698
41699         * lib/uname.c: Include <stdlib.h>
41700         (uname): Assume version info is available.
41701
41702 2009-10-02  Jim Meyering  <meyering@redhat.com>
41703
41704         gnu-web-doc-update: correct --help output
41705         * build-aux/gnu-web-doc-update: Make --help output relevant.
41706
41707         gnu-web-doc-update: add standard options
41708         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
41709
41710         gnu-web-doc-update: New module.
41711         Use this script to automatically update the on-line web documentation
41712         for your GNU project at http://www.gnu.org/software/$pkg/manual/
41713         * modules/gnu-web-doc-update: New file, from coreutils.
41714         * build-aux/gnu-web-doc-update: New script.
41715
41716 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
41717
41718         link: LoadLibrary is not needed.
41719         * lib/link.c: Use GetModuleHandle.
41720
41721 2009-10-01  Eric Blake  <ebb9@byu.net>
41722
41723         getopt: bump serial number
41724         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
41725         change.
41726
41727         tests: tighten link, rmdir, and remove tests
41728         * tests/test-link.h (includes): No need to use <config.h> here.
41729         Clean up if directory hard link was created, otherwise test for
41730         trailing '.'.
41731         * tests/test-linkat.c (main): Simplify.
41732         * tests/test-remove.c (main): Enhance test for trailing '.'.
41733         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41734
41735 2009-10-01  Jim Meyering  <meyering@redhat.com>
41736
41737         maint.mk: requiring "make major" was annoying, for a "minor" release.
41738         What is intended is "stable", to contrast with alpha and beta,
41739         so require "make stable", not "make major".
41740         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
41741         (get_tool_versions): Likewise.
41742         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
41743
41744 2009-09-30  Ben Pfaff  <blp@gnu.org>
41745
41746         Fix broken build of replacement for Windows tmpfile().
41747         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
41748         flags argument added along with the 'mkostemp' module.
41749
41750 2009-09-28  Bruno Haible  <bruno@clisp.org>
41751
41752         Avoid identifier clash with POSIX function 'remove' defined as a macro.
41753         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
41754         to 'remove_elt'.
41755         (gl_list_remove): Update.
41756         * lib/gl_list.c (gl_list_remove): Update.
41757         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
41758         to 'remove_elt'.
41759         (gl_oset_remove): Update.
41760         * lib/gl_list.c (gl_oset_remove): Update.
41761         Reported by Eric Blake.
41762
41763 2009-09-28  Eric Blake  <ebb9@byu.net>
41764
41765         doc: mention yet more cygwin 1.7 status
41766         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
41767         cygwin.
41768         * doc/glibc-functions/execvpe.texi (execvpe): New file.
41769         * doc/gnulib.texi (Glibc unistd.h): Mention it.
41770
41771         argp: fix test failure
41772         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
41773         that are not upper-case.  Pass correct range to tolower.
41774
41775 2009-09-27  Jim Meyering  <meyering@redhat.com>
41776
41777         test-yesno: work around sparc-dash here-document infelicity
41778         Without this change, the literal \177 byte in a here document
41779         would make dash 0.5.5.1-3 access uninitialized memory.
41780         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
41781         Instead, use a marker, "@", and filter through tr to create the desired
41782         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
41783
41784 2009-09-27  Bruno Haible  <bruno@clisp.org>
41785
41786         Disable untested support for new flavours of ACLs on AIX.
41787         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
41788         progress.
41789         * lib/set-mode-acl.c (qset_acl): Likewise.
41790
41791 2008-12-07  Bruno Haible  <bruno@clisp.org>
41792
41793         Add support for new flavours of ACLs on AIX. (Untested.)
41794         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
41795         (file_has_acl): Add support for newer AIX.
41796         * lib/set-mode-acl.c (qset_acl): Likewise.
41797         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
41798         Rainer Tammer <tammer@tammer.net>.
41799
41800 2009-09-26  Eric Blake  <ebb9@byu.net>
41801
41802         argp: fix compilation of getopt
41803         * lib/getopt.in.h (includes): Use different guard than glibc.
41804         Reported by Sergey Poznyakoff.
41805
41806         doc: mention more cygwin 1.7 status
41807         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
41808         bug.
41809         * doc/posix-functions/execl.texi (execl): Likewise.
41810         * doc/posix-functions/execle.texi (execle): Likewise.
41811         * doc/posix-functions/execlp.texi (execlp): Likewise.
41812         * doc/posix-functions/execv.texi (execv): Likewise.
41813         * doc/posix-functions/execve.texi (execve): Likewise.
41814         * doc/posix-functions/execvp.texi (execvp): Likewise.
41815         * doc/glibc-functions/canonicalize_file_name.texi
41816         (canonicalize_file_name): Cygwin 1.7 now provides this.
41817         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
41818         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
41819         on AT_SYMLINK_NOFOLLOW.
41820
41821 2009-09-24  Eric Blake  <ebb9@byu.net>
41822
41823         test-linkat: make test more robust
41824         * tests/test-linkat.c (main): Avoid collision with EEXIST.
41825
41826         getopt: fix inclusion guards for cygwin
41827         * modules/getopt-posix (Depends-on): Add include-next.
41828         (Makefile.am): Substitute more items in replacement header.
41829         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
41830         <getopt.h>.
41831         * lib/getopt.in.h (includes): Use split inclusion guard, and
41832         prefer <getopt.h> over include <unistd.h> when one is present.
41833         (option): Also override name of 'struct option'.
41834
41835         same-inode: revert prior change; it is not yet ready
41836         * NEWS: Undo mention of this change.
41837         * lib/same-inode.h (same-inode.h): Undo tri-state change.
41838         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41839         * lib/cycle-check.c (cycle_check): Likewise.
41840         * lib/same.c (same_name): Likewise.
41841         * lib/at-func2.c (at_func2): Likewise.
41842
41843 2009-09-23  Eric Blake  <ebb9@byu.net>
41844
41845         linkat: new module
41846         * modules/linkat: New file.
41847         * lib/at-func2.c (at_func2): Likewise.
41848         * lib/linkat.c (linkat): Likewise.
41849         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41850         * lib/openat-priv.h (at_func2): Add declaration.
41851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41852         * modules/unistd (Makefile.am): Substitute them.
41853         * lib/unistd.in.h (linkat): Declare it.
41854         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41855         * doc/posix-functions/linkat.texi (linkat): Likewise.
41856         * doc/posix-functions/link.texi (link): Tweak wording.
41857         * tests/test-link.c (main): Move guts...
41858         * tests/test-link.h (test_link): ...into new file.
41859         * modules/linkat-tests: New test.
41860         * tests/test-linkat.c: Likewise.
41861         * modules/link-tests (Files): Ship new file.
41862         (Depends-on): Add stdbool.
41863
41864         dirname: add library-safe mdir_name
41865         * lib/dirname.h (mdir_name): New prototype.
41866         * lib/dirname.c (dir_name): Move guts...
41867         (mdir_name): ...to new function that avoids xalloc_die.
41868
41869         fchdir: another mingw fix
41870         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
41871         * lib/fchdir.c (get_name): New helper method; skips canonicalize
41872         on mingw (where it has not yet been ported), and make it optional
41873         elsewhere.
41874         (_gl_register_fd): Use it.
41875
41876         same-inode: make SAME_INODE tri-state, to port to mingw
41877         * NEWS: Mention this change.
41878         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
41879         st_ino always being 0.
41880         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41881         * lib/cycle-check.c (cycle_check): Likewise.
41882         * lib/same.c (same_name): Likewise.
41883
41884         lstat: avoid mingw compilation error
41885         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
41886         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
41887         lstat ourselves.
41888         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
41889         was adequate.
41890         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
41891         the checks for lstat.
41892         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
41893
41894         link: fix test failure on Solaris 9
41895         * lib/link.c (rpl_link): Don't assume link will catch bogus
41896         trailing slash on source.
41897
41898         test-symlinkat: enhance test
41899         * tests/test-readlink.c (main): Move guts...
41900         * tests/test-readlink.h (test_readlink): ...into new file.
41901         * tests/test-symlink.c (main): Move guts...
41902         * tests/test-symlink.h (test_symlink): ...into new file.
41903         * tests/test-symlinkat.c (main): Use new files for further
41904         coverage.
41905         (do_symlink, do_readlink): New helper functions.
41906         * modules/symlink-tests (Files): Ship new file.
41907         (Depends-on): Add stdbool.
41908         * modules/readlink-tests (Files): Ship new file.
41909         (Depends-on): Add stdbool.
41910         * modules/symlinkat-tests (Files): Use new files.
41911
41912 2009-09-23  Eric Blake  <ebb9@byu.net>
41913
41914         readlink: document portability issue with symlink length
41915         * doc/posix-functions/lstat.texi (lstat): Mention that some file
41916         systems have bogus st_size on symlinks, and mention the
41917         areadlink-with-size module.
41918         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41919         * doc/posix-functions/readlink.texi (readlink): Mention the
41920         areadlink module, and ERANGE failure.
41921         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41922         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
41923
41924         readlink: fix Solaris 9 bug with trailing slash
41925         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
41926         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
41927         * doc/posix-functions/readlink.texi (readlink): Document this.
41928         * modules/readlink-tests: New test.
41929         * tests/test-readlink.c: Likewise.
41930
41931         readlink: fix cygwin 1.5.x bug with return type
41932         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
41933         * lib/unistd.in.h (readlink): Use ssize_t.
41934         * lib/readlink.c (readlink): Likewise.
41935         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41936         * modules/unistd (Makefile.am): Substitute it.
41937         * lib/unistd.in.h (readlink): Declare replacement.
41938         * doc/posix-functions/readlink.texi (readlink): Document this.
41939
41940         symlink: use throughout gnulib
41941         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
41942         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
41943         symlink is not used.
41944         * modules/symlinkat (Depends-on): Add symlink.
41945         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41946         * modules/canonicalize-tests (Depends-on): Likewise.
41947         * modules/lstat-tests (Depends-on): Likewise.
41948         * modules/openat-tests (Depends-on): Likewise.
41949         * modules/remove-tests (Depends-on): Likewise.
41950         * modules/rmdir-tests (Depends-on): Likewise.
41951         * modules/unlink-tests (Depends-on): Likewise.
41952         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
41953         * tests/test-canonicalize.c (symlink): Likewise.
41954         * tests/test-fstatat.c (symlink): Likewise.
41955         * tests/test-lstat.c (symlink): Likewise.
41956         * tests/test-remove.c (symlink): Likewise.
41957         * tests/test-rmdir.c (symlink): Likewise.
41958         * tests/test-unlink.c (symlink): Likewise.
41959         * tests/test-unlinkat.c (symlink): Likewise.
41960
41961         symlink: new module, for Solaris 9 bug
41962         * modules/symlink: New file.
41963         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41964         * lib/symlink.c: Likewise.
41965         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41966         * modules/unistd (Makefile.am): Substitute them.
41967         * lib/unistd.in.h (symlink): Declare replacement.
41968         * MODULES.html.sh (File system functions): Mention it.
41969         * doc/posix-functions/symlink.texi (symlink): Likewise.
41970         * modules/symlink-tests: New test.
41971         * tests/test-symlink.c: Likewise.
41972
41973 2009-09-23  Bruno Haible  <bruno@clisp.org>
41974
41975         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
41976         when needed.
41977         Test case: gnulib-tool --import --with-tests atexit inttypes.
41978         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
41979
41980 2009-09-23  Bruno Haible  <bruno@clisp.org>
41981
41982         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
41983         subcommand, not in a subshell.
41984
41985 2009-09-22  Eric Blake  <ebb9@byu.net>
41986
41987         unistd: sort replacement declarations
41988         * lib/unistd.in.h: Sort declarations.
41989
41990         open, openat: minor optimization
41991         * lib/open.c (open): If open succeeded, len is non-zero.
41992         * lib/openat.c (rpl_openat): Likewise.
41993
41994         link-follow: ensure correct result
41995         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
41996         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
41997         distinguish between possible failures.
41998
41999 2009-09-21  Eric Blake  <ebb9@byu.net>
42000
42001         fts: avoid compiler warning
42002         * lib/fts.c (dirent_inode_sort_may_be_useful)
42003         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
42004
42005 2009-09-19  Bruno Haible  <bruno@clisp.org>
42006
42007         * lib/progreloc.c (canonicalize_file_name): New declaration.
42008
42009 2009-09-19  Eric Blake  <ebb9@byu.net>
42010
42011         link: fix quoting
42012         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42013
42014         openat: fix openat bugs on Solaris 9
42015         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42016         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42017         * modules/openat (Depends-on): Add open.
42018         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42019         * modules/fcntl-h (Makefile.am): Substitute it.
42020         * lib/fcntl.in.h (openat): Declare replacement.
42021         * doc/posix-functions/openat.texi (openat): Document this.
42022
42023         openat: move fstatat and unlinkat into correct files
42024         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42025         compiled.
42026         * lib/openat.c (fstatat, unlinkat): Move...
42027         * lib/fstatat.c (fstatat): ...into correct files.
42028         * lib/unlinkat.c (unlinkat): Likewise.
42029
42030         openat: fix unlinkat bugs on Solaris 9
42031         * lib/unlinkat.c (unlinkat): New file.
42032         * modules/openat (Depends-on): Add unlink.
42033         (Files): Distribute it.
42034         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42035         trailing slash behavior is broken.
42036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42037         * modules/unistd (Makefile.am): Substitute it.
42038         * lib/unistd.in.h (unlinkat): Declare replacement.
42039         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42040
42041         openat: fix fstatat bugs on Solaris 9
42042         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42043         stat.
42044         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42045
42046         test-unlinkat: enhance test, to expose Solaris 9 bug
42047         * tests/test-unlink.c (main): Factor guts...
42048         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42049         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42050         * tests/test-rmdir.c (main): Adjust caller.
42051         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42052         (unlinker): New helper function.
42053         (rmdirat): Enhance check.
42054         * modules/rmdir-tests (Depends-on): Add stdbool.
42055         * modules/unlink-tests (Depends-on): Likewise.
42056         (Files): Add test-unlink.h.
42057         * modules/openat-tests (Files): Likewise.
42058         (Depends-on): Add unlinkdir.
42059
42060         test-fstatat: new test, to expose Solaris 9 bugs
42061         * tests/test-stat.c (main): Factor guts...
42062         * tests/test-stat.h (test_stat_func): ...into new file.
42063         * tests/test-lstat.c (main): Factor guts...
42064         * tests/test-lstat.h (test_lstat_func): ...into new file.
42065         * tests/test-fstatat.c: New file.
42066         * modules/stat-tests (Files): Add test-stat.h.
42067         * modules/lstat-tests (Files): Add test-lstat.h.
42068         (Depends-on): Add stdbool.
42069         * modules/openat-tests (Depends-on): Add pathmax.
42070         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
42071         (Makefile.am): Run new test.
42072
42073         remove: new module, for mingw and Solaris 9 bugs
42074         * modules/remove: New file.
42075         * lib/remove.c: Likewise.
42076         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
42077         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42078         * modules/stdio (Makefile.am): Use them.
42079         * lib/stdio.in.h (remove): Declare replacement.
42080         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42081         * doc/posix-functions/remove.texi (remove): Likewise.
42082         * modules/remove-tests: New test.
42083         * tests/test-remove.c: Likewise.
42084
42085         unlink: new module, for Solaris 9 bug
42086         * modules/unlink: New file.
42087         * lib/unlink.c: Likewise.
42088         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42090         * modules/unistd (Makefile.am): Use them.
42091         * lib/unistd.in.h (stat): Declare replacement.
42092         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42093         * doc/posix-functions/unlink.texi (unlink): Likewise.
42094         * modules/unlink-tests: New test.
42095         * tests/test-unlink.c: Likewise.
42096
42097         lstat: fix Solaris 9 bug
42098         * lib/lstat.c (lstat): Also check for trailing slash on
42099         non-symlink, non-directories.  Use stat module to simplify logic.
42100         * doc/posix-functions/lstat.texi (lstat): Document it.
42101         * modules/lstat-tests (Depends-on): Add errno, same-inode.
42102         (configure.ac): Check for symlink.
42103         * tests/test-lstat.c (main): Add more tests.
42104
42105         stat: add as dependency to other modules
42106         * modules/chown (Depends-on): Add stat.
42107         * modules/euidaccess (Depends-on): Likewise.
42108         * modules/fchdir (Depends-on): Likewise.
42109         * modules/isdir (Depends-on): Likewise.
42110         * modules/link (Depends-on): Likewise.
42111         * modules/lstat (Depends-on): Likewise.
42112         * modules/mkdir-p (Depends-on): Likewise.
42113         * modules/modechange (Depends-on): Likewise.
42114         * modules/open (Depends-on): Likewise.
42115         * modules/readlink (Depends-on): Likewise.
42116         * modules/same (Depends-on): Likewise.
42117
42118         stat: fix Solaris 9 bug
42119         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
42120         slash.
42121         * lib/stat.c (rpl_stat): Work around it.
42122         * doc/posix-functions/stat.texi (stat): Update documentation.
42123
42124         stat: new module, for mingw bug
42125         * modules/stat: New file.
42126         * lib/stat.c: Likewise.
42127         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42128         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42129         * modules/sys_stat (Makefile.am): Use them.
42130         * lib/sys_stat.in.h (stat): Declare replacement.
42131         * lib/openat.c (fstatat): Deal with lstat and stat being function
42132         macros.
42133         * modules/openat (Depends-on): Add inline.
42134         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42135         * doc/posix-functions/stat.texi (stat): Likewise.
42136         * modules/stat-tests: New test.
42137         * tests/test-stat.c: Likewise.
42138
42139 2009-09-19  Jim Meyering  <meyering@redhat.com>
42140
42141         syntax-check: detect unnecessary inclusion of canonicalize.h
42142         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
42143
42144 2009-09-19  Eric Blake  <ebb9@byu.net>
42145
42146         canonicalize-lgpl: adjust clients to use correct header
42147         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42148         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
42149         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
42150         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
42151         * lib/progreloc.c (includes): Likewise.
42152
42153 2009-09-19  Jim Meyering  <meyering@redhat.com>
42154
42155         test-posixtm.c: correct a comment
42156         * tests/test-posixtm.c: Correct first-line comment.
42157         Spotted by Eric Blake.
42158
42159 2009-09-16  Jim Meyering  <meyering@redhat.com>
42160
42161         posixtm-tests: make T const-correct; add a test case
42162         * tests/test-posixtm.c (T): Declare const.
42163         Add a test for -(2^31+1).
42164         Remove useless can-succeed-only-in-2002 test.
42165
42166         posixtm-tests: adjust the sole failing test
42167         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
42168         expected output matches what mktime now produces.  Cross-checked via
42169         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
42170
42171         posixtm: move #ifdef'd tests into a new module
42172         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
42173         * tests/test-posixtm.c: ... this new file.
42174         * modules/posixtm-tests: New module.
42175
42176 2009-09-19  Eric Blake  <ebb9@byu.net>
42177
42178         openat: simplify use of at-func.c
42179         * lib/at-func.c (includes): Include prerequisites here, to
42180         simplify requirements on client files.
42181         * lib/openat-priv.h: Add double-inclusion guard.
42182         * lib/faccessat.c (includes): Simplify.
42183         * lib/fchmodat.c (includes): Likewise.
42184         * lib/fchownat.c (includes): Likewise.
42185         * lib/mkdirat.c (includes): Likewise.
42186         * lib/mkfifoat.c (includes): Likewise.
42187         * lib/symlinkat.c (includes): Likewise.
42188
42189         openat: allow return of fd 0
42190         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
42191         * modules/save-cwd (Depends-on): Replace fcntl-safer with
42192         unistd-safer.
42193         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
42194         <fcntl.h>; this module does not leak fds.
42195         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
42196         must be allowed to return 0, leaving openat_safer to add the
42197         safety.
42198         (openat_permissive): Avoid writing to just-opened fd 2 if
42199         restoring the current directory fails.
42200         * lib/openat-die.c (openat_restore_fail): Add comment.
42201         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
42202         (save_cwd): Guarantee safe fd, but without use of open_safer.
42203         * tests/test-openat.c: New test.
42204         * modules/openat-tests (Files, Makefile.am): Distribute and build
42205         new file.
42206
42207         relocatable-prog-wrapper: fix build
42208         * modules/relocatable-prog-wrapper (Files): Update name of
42209         canonicalize m4 file, broken on 2009-09-17.
42210         Reported by emad hajjar <aleppos@hotmail.com>.
42211
42212 2009-09-19  Bruno Haible  <bruno@clisp.org>
42213
42214         * lib/safe-alloc.h: Use the standard header with GPL copyright.
42215         * lib/safe-alloc.c: Likewise.
42216         Reported by Ian Beckwith <ianb@erislabs.net>.
42217
42218 2009-09-18  Bruno Haible  <bruno@clisp.org>
42219
42220         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
42221         Reported by <erobles@sensacd.com.mx>.
42222
42223 2009-09-17  Eric Blake  <ebb9@byu.net>
42224
42225         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
42226         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
42227         slashes when checking if last component is missing.
42228         * tests/test-canonicalize.c (main): Test this.
42229
42230         canonicalize, canonicalize-lgpl: honor // if distinct from /
42231         * modules/canonicalize (Files): Add double-slash-root.m4.
42232         * modules/canonicalize-lgpl (Files): Likewise.
42233         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42234         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
42235         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
42236         fallback definition.
42237         (canonicalize_filename_mode): Use it to protect //.
42238         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
42239         (__realpath): Likewise.
42240         * tests/test-canonicalize.c (main): Test this.
42241         * tests/test-canonicalize-lgpl.c (main): Likewise.
42242         * modules/canonicalize-tests (Depends-on): Add same-inode.
42243         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42244
42245         canonicalize-lgpl: fix glibc bug with trailing slash
42246         * m4/canonicalize-lgpl.m4: Move contents...
42247         * m4/canonicalize.m4: ...here.
42248         (gl_CANONICALIZE_LGPL): Factor realpath check...
42249         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
42250         glibc 2.3.5 bug, fixed 2005-04-27.
42251         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
42252         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
42253         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
42254         * modules/canonicalize-lgpl (Files): Manage file rename.
42255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42256         * modules/stdlib (Makefile.am): Substitute witness.
42257         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
42258         is needed.
42259         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
42260         replacement is required.
42261         * lib/canonicalize.c (canonicalize_file_name): Likewise.
42262         * doc/glibc-functions/canonicalize_file_name.texi
42263         (canonicalize_file_name): Document this.
42264         * doc/posix-functions/realpath.texi (realpath): Likewise.
42265
42266         canonicalize-lgpl: reject non-directory with trailing slash
42267         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
42268         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
42269         catches failures in glibc 2.3.5.
42270         * tests/test-canonicalize.c (main): Likewise.
42271
42272         canonicalize-lgpl: use native realpath if it works
42273         * lib/canonicalize-lgpl.c (realpath): Guard with
42274         FUNC_REALPATH_WORKS.
42275         * lib/stdlib.in.h (realpath): Make declaration optional based on
42276         HAVE_REALPATH.
42277         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
42278         native realpath works.
42279         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42280         * modules/stdlib (Makefile.am): Substitute witness.
42281
42282         canonicalize, canonicalize-lgpl: use <stdlib.h>
42283         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
42284         (Include): Mention <stdlib.h>.
42285         (configure.ac): Mention functions we provide.
42286         * modules/canonicalize (configure.ac): Likewise.
42287         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
42288         realpath if canonicalize_file_name is missing.
42289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
42290         * modules/stdlib (Makefile.am): Substitute witnesses.
42291         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
42292         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
42293         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
42294         * NEWS: Document this.
42295         * doc/glibc-functions/canonicalize_file_name.texi
42296         (canonicalize_file_name): Likewise.
42297         * doc/posix-functions/realpath.texi (realpath): Likewise.
42298         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
42299
42300         test-canonicalize: consolidate into single C program
42301         * tests/test-canonicalize.sh: Delete; move setup into...
42302         * tests/test-canonicalize.c (main): ...the program, making it
42303         easier to run in debugger.  Add some tests.
42304         * modules/canonicalize-tests (Files): Remove unused file.
42305         (Depends-on): Add progname.
42306         (configure.ac, Makefile.am): Simplify.
42307
42308         test-canonicalize-lgpl: consolidate into single C program
42309         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
42310         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
42311         easier to run in debugger.  Add some tests.
42312         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
42313         (configure.ac, Makefile.am): Simplify.
42314
42315         canonicalize: avoid resolvepath
42316         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
42317         unnecessary checks.
42318         * lib/canonicalize.c (includes): Simplify.
42319         (canonicalize_file_name): Drop resolvepath implementation.
42320         * modules/canonicalize (Depends-on): Drop filenamecat.
42321
42322         canonicalize: don't lose errno
42323         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
42324         over calls to free.
42325
42326         canonicalize: simplify errno handling
42327         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
42328         assignment.
42329
42330         canonicalize, canonicalize-lgpl: update module dependencies
42331         * modules/canonicalize (Depends-on): Add extensions, lstat,
42332         pathmax, stdlib.
42333         (Files): Drop pathmax.h.
42334         (configure.ac): Adjust macro name.
42335         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
42336         lstat, stdlib, sys_stat.
42337         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
42338         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
42339         extensions.
42340         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
42341         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
42342         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
42343         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
42344         declaration, if available.
42345         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
42346         we can rely on the readlink module.
42347         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
42348         (includes): Use <unistd.h> unconditionally.
42349
42350 2009-09-17  Eric Blake  <ebb9@byu.net>
42351
42352         maint: make Include sections of modules consistent
42353         * modules/alloca: Use only header name; no need to list #include.
42354         * modules/alloca-opt: Likewise.
42355         * modules/arpa_inet: Likewise.
42356         * modules/canon-host: Likewise.
42357         * modules/configmake: Likewise.
42358         * modules/dirent: Likewise.
42359         * modules/eealloc: Likewise.
42360         * modules/environ: Likewise.
42361         * modules/fchdir: Likewise.
42362         * modules/fcntl: Likewise.
42363         * modules/fcntl-h: Likewise.
42364         * modules/gethrxtime: Likewise.
42365         * modules/gettime: Likewise.
42366         * modules/ignore-value: Likewise.
42367         * modules/inet_ntop: Likewise.
42368         * modules/inet_pton: Likewise.
42369         * modules/inttypes: Likewise.
42370         * modules/isnand-nolibm: Likewise.
42371         * modules/isnanf-nolibm: Likewise.
42372         * modules/mbchar: Likewise.
42373         * modules/mbfile: Likewise.
42374         * modules/mbiter: Likewise.
42375         * modules/mbuiter: Likewise.
42376         * modules/netdb: Likewise.
42377         * modules/netinet_in: Likewise.
42378         * modules/nproc: Likewise.
42379         * modules/pagealign_alloc: Likewise.
42380         * modules/poll: Likewise.
42381         * modules/printf-frexp: Likewise.
42382         * modules/pthread: Likewise.
42383         * modules/putenv: Likewise.
42384         * modules/random_r: Likewise.
42385         * modules/relocatable-prog: Likewise.
42386         * modules/search: Likewise.
42387         * modules/select: Likewise.
42388         * modules/selinux-h: Likewise.
42389         * modules/settime: Likewise.
42390         * modules/signal: Likewise.
42391         * modules/size_max: Likewise.
42392         * modules/socklen: Likewise.
42393         * modules/ssize_t: Likewise.
42394         * modules/stdarg: Likewise.
42395         * modules/stdbool: Likewise.
42396         * modules/stddef: Likewise.
42397         * modules/stdint: Likewise.
42398         * modules/stdio: Likewise.
42399         * modules/stdlib: Likewise.
42400         * modules/string: Likewise.
42401         * modules/strings: Likewise.
42402         * modules/sys_file: Likewise.
42403         * modules/sys_ioctl: Likewise.
42404         * modules/sys_select: Likewise.
42405         * modules/sys_socket: Likewise.
42406         * modules/sys_stat: Likewise.
42407         * modules/sys_time: Likewise.
42408         * modules/sys_times: Likewise.
42409         * modules/sys_utsname: Likewise.
42410         * modules/sys_wait: Likewise.
42411         * modules/sysexits: Likewise.
42412         * modules/time: Likewise.
42413         * modules/times: Likewise.
42414         * modules/tmpfile: Likewise.
42415         * modules/trim: Likewise.
42416         * modules/unistd: Likewise.
42417         * modules/wchar: Likewise.
42418         * modules/wctype: Likewise.
42419
42420 2009-09-17  Bruno Haible  <bruno@clisp.org>
42421
42422         Make getdate.y compile on QNX and NetBSD 5 / i386.
42423         * m4/getdate.m4 (gl_GETDATE): Conditionally define
42424         TIME_T_FITS_IN_LONG_INT.
42425         * lib/getdate.y (long_time_t): New type.
42426         (relative_time): Change type of 'seconds' field to long_time_t.
42427         (get_date): Update types of local variables. Check against overflow
42428         during conversion from long_time_t to time_t.
42429         Reported by Matt Kraai <kraai@ftbfs.org>
42430         and Hasso Tepper <hasso@netbsd.org>.
42431
42432 2009-09-17  Bruno Haible  <bruno@clisp.org>
42433
42434         * modules/COPYING: Update copyright years.
42435         * modules/README: Likeiwse.
42436         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42437         Reported by Ian Beckwith <ianb@erislabs.net>.
42438
42439 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42440
42441         * users.txt: Update references for gnuit package.
42442
42443 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42444
42445         * m4/getdelim.m4: Fix typo in copyright line.
42446
42447 2009-09-17  Bruno Haible  <bruno@clisp.org>
42448
42449         * lib/atoll.c: Use the standard header with GPL copyright.
42450         * lib/argz.in.h: Likewise.
42451         * lib/glob.c: Likewise.
42452         * lib/glob-libc.h: Likewise.
42453         * lib/random_r.c: Likewise.
42454         * lib/siglist.h: Likewise.
42455         * lib/strsignal.c: Likewise.
42456         Reported by Ian Beckwith <ianb@erislabs.net>.
42457
42458 2009-09-17  Eric Blake  <ebb9@byu.net>
42459
42460         rmdir: ensure correct dependency order
42461         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42462
42463 2009-09-17  Bruno Haible  <bruno@clisp.org>
42464
42465         Disable assertion that fails on NetBSD 5 / i386.
42466         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42467         Reported by Sam Steingold <sds@gnu.org>
42468         and Hasso Tepper <hasso@netbsd.org>.
42469
42470 2009-09-16  Eric Blake  <ebb9@byu.net>
42471
42472         unlinkdir: port to mingw
42473         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42474         on which no one can unlink a directory.
42475
42476         stdlib: sort witness names
42477         * modules/stdlib (Makefile.am): Sort replacements.
42478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42479         * lib/stdlib.in.h: Likewise.
42480
42481         parse-duration-tests: avoid link failure
42482         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42483         LIBINTL.
42484         Reported by Tom G. Christensen.
42485
42486         openat-tests: ensure unlinkat behaves like rmdir
42487         * tests/test-rmdir.c (main): Factor guts...
42488         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42489         * modules/rmdir-tests (Files): Ship new file.
42490         * modules/openat-tests: New test.
42491         * tests/test-unlinkat.c: Likewise.
42492
42493         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42494         * modules/rmdir-errno (Status, Notice): Now obsolete.
42495
42496         rmdir: work around cygwin 1.5.x and mingw bugs
42497         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42498         * lib/rmdir.c (rmdir): Work around it.
42499         * modules/rmdir (Status, Notice): No longer obsolete.
42500         (Files): Add dos.m4.
42501         (Depends-on): Add unistd.
42502         (configure.ac): Set witnesses.
42503         (License): Relax to LGPLv2+.
42504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42505         * modules/unistd (Makefile.am): Substitute witnesses.
42506         * lib/unistd.in.h (rmdir): Declare replacement.
42507         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42508         * modules/rmdir-tests: New tests.
42509         * tests/test-rmdir.c: Likewise.
42510
42511 2009-09-15  Eric Blake  <ebb9@byu.net>
42512
42513         fchdir: improve use of replacement functions
42514         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42515         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42516         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42517         REPLACE_CLOSEDIR.
42518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42519         * modules/sys_stat (Makefile.am): Substitute correct witness.
42520         * modules/dirent (Makefile.am): Likewise.
42521         * modules/unistd (Makefile.am): Likewise.
42522         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42523         * lib/unistd.in.h (dup): Likewise.
42524         * lib/sys_stat.in.h (fstat): Likewise.
42525
42526         maint: ignore gnulib-tool temp files
42527         * .gitignore: Ignore files created during gnulib-tool --test.
42528
42529 2009-09-13  Jim Meyering  <meyering@redhat.com>
42530
42531         posixtm: don't reject a time that specify "60" as the number of seconds
42532         * lib/posixtm.c (posixtime): The code to reject invalid dates
42533         would also reject a time specified with the .60 suffix.
42534         But POSIX allows that, in order to accommodate leap seconds.
42535         So don't reject it.
42536         (main): Adjust tests accordingly.
42537         * modules/posixtm (Depends-on): Add stpcpy.
42538
42539 2009-09-11  Jim Meyering  <meyering@redhat.com>
42540
42541         announce-gen: include [$release_type] in emitted Subject:
42542         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42543         e.g., [stable] in the emitted Subject: line.
42544
42545 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42546
42547         Remove obsolete macros from several modules.
42548         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42549         obsolete Autoconf macros with their modern counterparts.
42550         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42551         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42552         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42553         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42554         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42555         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42556         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42557         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42558         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42559         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42560         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42561         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42562         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42563         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42564         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42565         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42566         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42567         * m4/time_r.m4 (gl_TIME_R): Likewise.
42568         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42569         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42570         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42571
42572         Fix copyright header in build-aux scripts.
42573         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42574         recommendation.
42575         * build-aux/ncftpput-ftp: Likewise.
42576         * build-aux/update-copyright: Likewise.
42577
42578 2009-09-09  Eric Blake  <ebb9@byu.net>
42579
42580         test-link: allow Linux choice of errno
42581         * tests/test-link.c (main): Relax test for alternate error.
42582
42583         strndup: fix improper m4 caching
42584         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42585         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42586         (gl_PREREQ_STRNDUP): Delete.
42587         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42588         * modules/string (Makefile.am): Substitute it.
42589         * lib/string.in.h (strndup): Modernize prototype.
42590
42591         getcwd: port to mingw
42592         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42593         different from the POSIX assumptions made throughout the getcwd
42594         module; fortunately, the mingw getcwd does not need replacement.
42595         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42596         * modules/getcwd-tests: New test.
42597         * tests/test-getcwd.c: Likewise.
42598
42599         link: fix platform bugs
42600         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
42601         * lib/link.c (link): Work around them.  Fix related mingw bug.
42602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
42603         * modules/unistd (Makefile.am): Substitute it.
42604         * lib/unistd.in.h (link): Declare replacement.
42605         * doc/posix-functions/link.texi (link): Document this.
42606         * modules/link (Depends-on): Add strdup-posix, sys_stat.
42607
42608         test-link: consolidate into single C program, test more cases
42609         * tests/test-link.sh: Delete.
42610         * tests/test-link.c: Test more error conditions.  Exposes bugs on
42611         at least Cygwin and Solaris.
42612         * modules/link-tests (Files): Remove unused file.
42613         (Depends-on): Add errno, sys_stat.
42614         (Makefile.am): Simplify.
42615
42616 2009-09-08  Bruno Haible  <bruno@clisp.org>
42617
42618         Work around towlower, towupper bug on mingw.
42619         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
42620         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
42621         * doc/posix-functions/towlower.texi: Mention the mingw bug.
42622         * doc/posix-functions/towupper.texi: Likewise.
42623         Reported by Eric Blake.
42624
42625 2009-09-08  Jim Meyering  <meyering@redhat.com>
42626
42627         build: don't try to run autoheader if we don't use it
42628         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
42629         is not used in configure.ac.
42630
42631 2009-09-08  Eric Blake  <ebb9@byu.net>
42632
42633         euidaccess: fix compilation error
42634         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
42635
42636         rawmemchr: relax license
42637         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
42638         okay.
42639         Reported by Jim Meyering.
42640
42641         mkfifoat: new module
42642         * modules/mkfifoat: New file.
42643         * lib/mkfifoat.c: Likewise.
42644         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42645         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42646         * modules/sys_stat (Makefile.am): Use them.
42647         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42648         * MODULES.html.sh (File system functions): Mention module.
42649         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42650         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42651         * modules/mkfifoat-tests: New test.
42652         * tests/test-mkfifoat.c: Likewise.
42653
42654         strchrnul: relax license
42655         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42656         okay.
42657         Reported by Jim Meyering.
42658
42659 2009-09-08  Eric Blake  <ebb9@byu.net>
42660
42661         fstatat: fix compilation on Solaris
42662         * lib/fstatat.c (includes): Add fcntl.h.
42663         Reported by Pádraig Brady.
42664
42665 2009-09-07  Eric Blake  <ebb9@byu.net>
42666
42667         rename: modernize replacement
42668         * modules/rename (Depends-on): Add stdio.
42669         (configure.ac): Declare witness.
42670         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
42671         stdio take care of replacement.
42672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
42673         * modules/stdio (Makefile.am): Substitute them.
42674         * lib/stdio.in.h (rename): Declare replacement.
42675         * lib/rename.c (includes): Allow cross-compilation to non-windows
42676         machines.
42677         * doc/posix-functions/rename.texi (rename): Improve
42678         documentation.
42679
42680         stdio: sort witness names
42681         * modules/stdio (Makefile.am): Sort replacements.
42682         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42683         * lib/stdio.in.h: Likewise.
42684
42685         getcwd: minor cleanups
42686         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
42687         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
42688
42689         openat: provide more convenience names
42690         * modules/faccessat (configure.ac): Add C witness.
42691         * lib/unistd.in.h (readlinkat): Fix typo.
42692         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
42693         convenience wrappers.
42694         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
42695         wrappers in syntax checks.
42696
42697 2009-09-06  Eric Blake  <ebb9@byu.net>
42698
42699         doc: fix comments in recent patches
42700         * lib/faccessat.c: Mention correct function.
42701         * lib/fchmodat.c: Likewise.
42702         * lib/fchownat.c: Likewise.
42703         * lib/symlinkat.c: Likewise.
42704         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
42705         constants.
42706
42707         faccessat, symlinkat: continue cleanup of previous patch
42708         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
42709         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42710         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
42711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
42712         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
42713         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
42714         set.
42715
42716 2009-09-06  Bruno Haible  <bruno@clisp.org>
42717
42718         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
42719         (fstatat): Declare if GNULIB_FSTATAT is set.
42720         (mkdirat): Declare if GNULIB_MKDIRAT is set.
42721         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
42722         (unlinkat): Declare if GNULIB_UNLINKAT is set.
42723         * modules/fcntl-h (Files): Remove m4/openat.m4.
42724         * modules/sys_stat (Files): Remove m4/openat.m4.
42725         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
42726         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
42727         * modules/unistd (Files): Remove m4/openat.m4.
42728         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
42729         GNULIB_OPENAT.
42730         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
42731         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
42732         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
42733         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
42734         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
42735         gl_OPENAT_DEFAULTS.
42736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
42737         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
42738         Don't require gl_OPENAT_DEFAULTS.
42739         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
42740         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
42741         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
42742         (gl_OPENAT_DEFAULTS): Remove macro.
42743
42744 2009-09-06  Bruno Haible  <bruno@clisp.org>
42745
42746         * modules/openat (configure.ac): Remove unneeded witness.
42747
42748 2009-09-06  Bruno Haible  <bruno@clisp.org>
42749
42750         Set errno to ENOSYS when a function is entirely unsupported.
42751         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
42752         EOPNOTSUPP.
42753         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42754         * modules/chown (Depends-on): Remove errno.
42755
42756 2009-09-06  Bruno Haible  <bruno@clisp.org>
42757
42758         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
42759
42760 2009-09-06  Bruno Haible  <bruno@clisp.org>
42761
42762         * lib/sys_stat.in.h: Fix preprocessor command indentation.
42763
42764 2009-09-06  Ben Pfaff  <blp@gnu.org>
42765             Bruno Haible  <bruno@clisp.org>
42766
42767         Work around a glibc bug in strtok_r.
42768         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
42769         Undefine if UNDEFINE_STRTOK_R is set.
42770         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
42771         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42772         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
42773         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
42774         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
42775         UNDEFINE_STRTOK_R.
42776         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
42777
42778 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
42779
42780         exclude: minor fix
42781         * lib/exclude.c: Include wctype.h
42782
42783 2009-09-06  Akim Demaille  <demaille@gostai.com>
42784
42785         bootstrap: improve error message
42786         * build-aux/bootstrap (find_tool): Upon failure, report the list
42787         of candidates.
42788         Honor the initial value of the envvar.
42789
42790 2009-09-05  Eric Blake  <ebb9@byu.net>
42791
42792         symlinkat: new module
42793         * modules/symlinkat: New file.
42794         * lib/symlinkat.c: Likewise.
42795         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
42796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42797         * modules/unistd (Makefile.am): Use them.
42798         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
42799         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
42800         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
42801         * MODULES.html.sh (File system functions): Mention module.
42802         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42803         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42804         * modules/symlinkat-tests: New test.
42805         * tests/test-symlinkat.c: Likewise.
42806
42807         test-openat-safer: add more checks
42808         * tests/test-openat-safer.c (main): Check more code paths.
42809
42810 2009-09-05  Jim Meyering  <meyering@redhat.com>
42811
42812         syntax-check: detect unnecessary inclusion of openat.h
42813         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
42814
42815 2009-09-05  Bruno Haible  <bruno@clisp.org>
42816
42817         Support towlower, towupper.
42818         * doc/posix-functions/towlower.texi: Mention module wctype.
42819         * doc/posix-functions/towupper.texi: Likewise.
42820         * lib/wctype.in.h (towlower, towupper): New functions.
42821         * tests/test-wctype.c: Include stdio.h, stdlib.h.
42822         (ASSERT): New macro.
42823         (e): New variable.
42824         (main): Test also towlower, towupper. Test WEOF argument.
42825         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42826
42827 2009-09-05  Bruno Haible  <bruno@clisp.org>
42828
42829         Fix conversion behaviour when the input is invalid.
42830         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
42831         mark occurring in first pass of indirect conversion.
42832         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
42833         input.
42834         Found by clang's static analyzer.
42835
42836 2009-09-05  Bruno Haible  <bruno@clisp.org>
42837
42838         * tests/test-striconveh.c (main): Test indirect conversion on platforms
42839         where direct conversion is possible.
42840
42841 2009-09-04  Eric Blake  <ebb9@byu.net>
42842
42843         openat: fail with ENOENT on empty name
42844         * lib/openat-proc.c (openat_proc_name): Special-case the empty
42845         buffer.
42846
42847         link-follow: fix logic bug in prior patch
42848         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
42849         reversed sense of yes and no in prior patch.  Avoid confusing
42850         compilation failure with desired semantics.
42851
42852         link-follow: accommodate mingw and cross-compilation
42853         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
42854         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
42855         cross-compilation results to -1, to make linkat easier to
42856         implement when cross-compiling.  Trivially support mingw.
42857         * modules/link-follow (configure.ac): Call new name.
42858         * NEWS: Mention this.
42859
42860 2009-09-03  Eric Blake  <ebb9@byu.net>
42861
42862         faccessat: compile replacement
42863         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
42864         needed.
42865
42866         fts: fix compilation error
42867         * lib/fts.c (includes): Re-add "openat.h", for
42868         openat_needs_fchdir.
42869
42870         faccessat: new module
42871         * modules/faccessat: New file.
42872         * lib/faccessat.c: Likewise.
42873         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42875         * modules/unistd (Makefile.am): Use it.
42876         * lib/unistd.in.h (faccessat): Declare it.
42877         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
42878         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
42879         * MODULES.html.sh (File system functions): Mention it.
42880         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
42881         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42882
42883         euidaccess: prefer POSIX over non-standard implementation
42884         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
42885         * lib/euidaccess.c (euidaccess): Use it if available.
42886
42887         openat: make template easier to use
42888         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
42889         AT_FUNC_F2 to be undefined.
42890         (VALIDATE_FLAG): New macro; use it to reject bad flags.
42891         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
42892         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
42893         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
42894         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
42895         Likewise.
42896         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
42897         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
42898         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
42899         Likewise.
42900
42901         openat: declare in POSIX headers
42902         * NEWS: Mention this.
42903         * modules/openat (configure.ac): Declare witnesses.
42904         (Depends-on): Add fcntl-h, sys_stat, unistd.
42905         (Include): Mention correct headers.
42906         * modules/fcntl-h (Depends-on): Add link-warning.
42907         (Files): Add openat.m4.
42908         (Makefile.am): Substitute witnesses.
42909         * modules/sys_stat (Files, Makefile.am): Likewise.
42910         * modules/unistd (Files, Makefile.am): Likewise.
42911         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
42912         (gl_OPENAT_DEFAULTS): New macro.
42913         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
42914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
42915         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
42916         (SYS_STAT_H): Remove unused variable.
42917         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
42918         * lib/fcntl--.h (includes): Remove unneeded header.
42919         * lib/openat-safer.c (includes): Likewise.
42920         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
42921         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
42922         appropriate headers.
42923         (__OPENAT_PREFIX): Delete.
42924         * lib/fcntl.in.h (openat): Provide declaration.
42925         (AT_FDCWD): Fix Solaris bug.
42926         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
42927         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
42928         * lib/fchmodat.c (includes):  Adjust to find declaration.
42929         * lib/fchownat.c (includes): Likewise.
42930         * lib/mkdirat.c (includes): Likewise.
42931         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
42932         still visible.
42933
42934 2009-09-02  Eric Blake  <ebb9@byu.net>
42935
42936         errno: use consistently
42937         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
42938         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
42939         * lib/canonicalize.c (ELOOP): Likewise.
42940         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
42941         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
42942         * lib/lchown.c (EOPNOTSUPP): Likewise.
42943         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
42944         * lib/savewd.c (ESTALE): Likewise.
42945         * lib/settime.c (ENOSYS): Likewise.
42946         * lib/utimens.c (ENOSYS): Likewise.
42947         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
42948         * lib/chdir-safer.c (ELOOP): Likewise.
42949         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
42950         * modules/c-stack (Depends-on): Add errno.
42951         * modules/canonicalize (Depends-on): Likewise.
42952         * modules/chdir-safer (Depends-on): Likewise.
42953         * modules/fdopendir (Depends-on): Likewise.
42954         * modules/inet_ntop (Depends-on): Likewise.
42955         * modules/inet_pton (Depends-on): Likewise.
42956         * modules/lchown (Depends-on): Likewise.
42957         * modules/openat (Depends-on): Likewise.
42958         * modules/savewd (Depends-on): Likewise.
42959         * modules/settime (Depends-on): Likewise.
42960         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
42961
42962         fts: avoid leaking fds
42963         * modules/fts (Depends-on): Add cloexec.
42964         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
42965         flag.
42966
42967         fts: make directory fds more robust
42968         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
42969         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
42970
42971         backupfile, chdir-long, fts, savedir: make safer
42972         * lib/backupfile.c (includes): Use "dirent--.h", since
42973         numbered_backup can write to stderr during readdir.
42974         * lib/savedir.c (includes): Likewise.
42975         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
42976         emulation can write to stderr on failure.
42977         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
42978         * lib/getcwd.c: Document why opendir_safer is unused.
42979         * lib/glob.c: Likewise.
42980         * lib/scandir.c: Likewise.
42981         * lib/openat-proc.c: Likewise, for open_safer.
42982         * modules/backupfile (Depends-on): Add dirent-safer.
42983         * modules/savedir (Depends-on): Likewise.
42984         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
42985         * modules/chdir-long (Depends-on): Add openat-safer.
42986
42987         openat-safer: new module
42988         * modules/openat-safer: New file.
42989         * lib/openat-safer.c: Likewise.
42990         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
42991         * lib/fcntl-safer.h (openat_safer): Declare.
42992         * lib/fcntl--.h (openat): Override.
42993         * MODULES.html.sh (File descriptor based I/O): Mention it.
42994         * lib/openat.h: Add double-inclusion guards.
42995         * lib/openat.c (includes): Only include "fcntl-safer.h", not
42996         "fcntl--.h", so we can implement openat.
42997         * modules/openat-safer-tests: New test.
42998         * tests/test-openat-safer.c: New file.
42999
43000         dirent-safer: new module
43001         * modules/dirent-safer: New file.
43002         * lib/dirent--.h: Likewise.
43003         * lib/dirent-safer.h: Likewise.
43004         * lib/opendir-safer.c: Likewise.
43005         * m4/dirent-safer.m4: Likewise.
43006         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43007         * modules/dirent-safer-tests: New test.
43008         * tests/test-dirent-safer.c: New file.
43009         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43010
43011         fdopendir: optimize on mingw
43012         * lib/unistd.in.h (_gl_directory_name): New prototype.
43013         * lib/fchdir.c (_gl_directory_name): Implement it.
43014         (fchdir): Use it to simplify implementation.
43015         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43016         fchdir, when available, to avoid calling [f]chdir().
43017
43018         fdopendir: split into its own module
43019         * lib/openat.c (fdopendir): Move...
43020         * lib/fdopendir.c: ...into new file.
43021         * modules/fdopendir: New module.
43022         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43023         * modules/openat (Depends-on): Add fdopendir.
43024         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43025         fdopendir here.
43026         * modules/savedir (Depends-on): Only need fdopendir, not full
43027         openat.
43028         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43029         * lib/openat.h (fdopendir): Drop prototype.
43030         * lib/dirent.in.h (fdopendir): Provide prototype.
43031         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43032         * modules/dirent (Makefile.am): Substitute them.
43033         * MODULES.html.sh (File system functions): Mention it.
43034         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43035         * modules/fdopendir-tests: New file.
43036         * tests/test-fdopendir.c: Likewise.
43037
43038         fchdir: use more consistent macro convention
43039         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43040         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43041         REPLACE_FCHDIR, rather than relying on config.h macros.
43042         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43043         inside a single make-time REPLACE_FCHDIR block, rather than using
43044         the config.h FCHDIR_REPLACEMENT.
43045         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43046         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43047         Manage fstat replacement.
43048         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43049         REPLACE_FCHDIR.
43050         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43051         (Makefile.am): Substitute REPLACE_FCHDIR.
43052         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43053         FCHDIR_REPLACEMENT.
43054         * lib/dup-safer.c (dup_safer): Likewise.
43055         * lib/dup2.c (rpl_dup2): Likewise.
43056         * lib/dup3.c (rpl_dup3): Likewise.
43057         * lib/open.c (rpl_open): Likewise.
43058
43059         fchdir: simplify error handling, and support dup3
43060         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43061         stdbool, malloc-posix, realloc-posix.
43062         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43063         (ensure_dirs_slot): Return false on allocation failure.
43064         (rpl_dup2): Delete.
43065         (_gl_register_dup): New function.
43066         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
43067         (_gl_register_fd): Close fd on allocation failure.
43068         * lib/fcntl.in.h (_gl_register_fd): Update signature.
43069         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
43070         prototype.
43071         (rpl_dup2_fchdir): Delete prototype.
43072         * lib/open.c (open): Update caller.
43073         * lib/dup2.c (dup2): Track fchdir metadata.
43074         * lib/dup3.c (dup3): Likewise.
43075         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
43076         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
43077
43078 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43079
43080         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
43081         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
43082         don't pass arguments to AC_OUTPUT.
43083
43084 2009-09-02  Bruno Haible  <bruno@clisp.org>
43085
43086         * modules/mkdtemp (License): Relicense under LGPLv2+.
43087         Reported by Paolo Bonzini.
43088
43089 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43090
43091         Replace uses of obsolete autoconf macros in Jim's modules.
43092         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
43093         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
43094         can evoke a warning from autoconf when run with -Wobsolete
43095         enabled.  They were declared obsolete for good reasons (see
43096         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
43097         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
43098         should not continue using the deprecated macros.
43099         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
43100         obsolete Autoconf macros with modern counterparts.
43101         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43102         * m4/dos.m4 (gl_AC_DOS): Likewise.
43103         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
43104         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
43105         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
43106         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
43107         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
43108         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
43109         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
43110         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
43111         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43112         Likewise.
43113         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
43114         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43115         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
43116         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
43117         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43118         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43119
43120 2009-09-01  Eric Blake  <ebb9@byu.net>
43121
43122         fchdir: fix off-by-one bug in previous patch
43123         * lib/fchdir.c (rpl_fstat): Use correct bounds.
43124         (_gl_unregister_fd): Delete useless if.
43125
43126 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
43127
43128         maint.mk: sort the list of syntax-check rules
43129         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
43130         easier to get a sense of progress when the rules are run sequentially
43131         and take a long time.
43132
43133 2009-09-01  Simon Josefsson  <simon@josefsson.org>
43134
43135         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
43136         * modules/netinet_in: Likewise.
43137         * modules/sys_file: Likewise.
43138         * modules/sys_ioctl: Likewise.
43139         * modules/sys_select: Likewise.
43140         * modules/sys_socket: Likewise.
43141         * modules/sys_stat: Likewise.
43142         * modules/sys_time: Likewise.
43143         * modules/sys_times: Likewise.
43144         * modules/sys_utsname: Likewise.
43145         * modules/sys_wait: Likewise.
43146
43147 2009-09-01  Jim Meyering  <meyering@redhat.com>
43148
43149         fts: help ensure that return values are not ignored
43150         * lib/fts_.h (__GNUC_PREREQ): Define.
43151         (__attribute_warn_unused_result__): Define.
43152         (fts_children, fts_close, fts_open, fts_read): Declare with
43153         __attribute_warn_unused_result__.
43154
43155         fts: fts_close now fails also when closing a dir file descriptor fails
43156         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
43157         and propagate to caller, along with errno.
43158
43159         announce-gen: correct formatting in --help output
43160         * build-aux/announce-gen (usage): Move the one-line description in
43161         --help output "up", to where it belongs, just after Usage:.
43162
43163 2009-08-31  Eric Blake  <ebb9@byu.net>
43164
43165         fchdir: port to mingw
43166         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
43167         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
43168         opened, then use a substitute.
43169         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
43170         replacement.
43171         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
43172         (_gl_register_fd): No need to check stat if open already filters
43173         all directories.
43174         (fchdir): Fix error condition to match POSIX.
43175         * modules/fchdir (Depends-on): Add sys_stat.
43176         * doc/posix-functions/open.texi (open): Document the limitation.
43177         * modules/fchdir-tests: New file.
43178         * tests/test-fchdir.c: Likewise.
43179
43180         canonicalize: allow cross-testing from cygwin to mingw
43181         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
43182         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
43183         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
43184         Likewise.
43185         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
43186         target does not support symlinks.
43187         * tests/test-canonicalize-lgpl.sh: Likewise.
43188
43189         chown: avoid compilation warning on mingw
43190         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
43191         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
43192         mingw.
43193         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43194         * modules/chown (Depends-on): Add errno.
43195
43196 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
43197
43198         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
43199         command.
43200
43201 2009-08-31  Jim Meyering  <meyering@redhat.com>
43202
43203         canonicalize: remove useless initialization
43204         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
43205         initialization of local, "end".
43206
43207 2009-08-30  Bruno Haible  <bruno@clisp.org>
43208
43209         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
43210         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
43211         ENOSYS.
43212
43213 2009-08-30  Bruno Haible  <bruno@clisp.org>
43214
43215         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
43216         /usr/xpg4/bin/tr when it exists.
43217         * tests/test-pipe-filter-gi1.sh: Likewise.
43218
43219 2009-08-30  Bruno Haible  <bruno@clisp.org>
43220
43221         Work around deficient /usr/bin/id program on Solaris.
43222         * tests/test-file-has-acl.sh (ID): New variable.
43223         * tests/test-set-mode-acl.sh (ID): Likewise.
43224         * tests/test-copy-acl.sh (ID): Likewise.
43225         * tests/test-copy-file.sh (ID): Likewise.
43226
43227 2009-08-30  Bruno Haible  <bruno@clisp.org>
43228
43229         New module 'xstriconveh'.
43230         * lib/xstriconveh.h: New file.
43231         * lib/xstriconveh.c: New file.
43232         * modules/xstriconveh: New file.
43233
43234 2009-08-30  Bruno Haible  <bruno@clisp.org>
43235
43236         Make it easier to use mem_cd_iconveh.
43237         * lib/striconveh.h (iconveh_t): New type.
43238         (iconveh_open, iconveh_close): New declarations.
43239         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43240         with a single 'const iconveh_t *' argument.
43241         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
43242         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43243         with a single 'const iconveh_t *' argument.
43244         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
43245         * tests/test-striconveh.c (main): Update.
43246         * NEWS: Mention the change.
43247
43248 2009-08-30  Bruno Haible  <bruno@clisp.org>
43249
43250         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
43251         problem.
43252
43253 2009-08-30  Bruno Haible  <bruno@clisp.org>
43254
43255         Work around iconv_open problem on Solaris.
43256         * lib/iconv_open-solaris.gperf: New file.
43257         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
43258         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
43259         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
43260         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
43261         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
43262         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
43263
43264 2009-08-29  Jim Meyering  <meyering@redhat.com>
43265
43266         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
43267         * top/maint.mk (cvs-check): Remove target; it was just an alias
43268         to the better-named vc-diff-check.
43269         (maintainer-distcheck): Remove rule.  It was used only from
43270         the (alpha/beta/major) target, and all of its commands but one
43271         were coreutils-specific.
43272         (vc-dist): Remove rule.
43273         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
43274         Run vc-diff-check, not vc-dist.
43275         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
43276
43277 2009-08-27  Bruno Haible  <bruno@clisp.org>
43278
43279         * tests/test-bitrotate.c (main): Remove test that uses a shift count
43280         of 0.
43281
43282 2009-08-27  Bruno Haible  <bruno@clisp.org>
43283
43284         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
43285         compilers.
43286         * doc/func.texi: Document the SunPRO C bug.
43287
43288 2009-08-27  Bruno Haible  <bruno@clisp.org>
43289
43290         Fix link error on Solaris.
43291         * tests/test-parse-duration.c (xstrdup): Remove function.
43292
43293 2009-08-26  Pádraig Brady  <P@draigbrady.com>
43294
43295         ignore-value: handle pointer types, too
43296         * lib/ignore-value.h (__attribute__): Remove definition.
43297         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
43298         of a more concise and more-often effective "(void) i" statement.
43299         (ignore_ptr): New function to suppress warnings from functions that
43300         return pointers, and to make it explicit that one function doesn't
43301         handle all cases.
43302
43303 2009-08-25  Bruno Haible  <bruno@clisp.org>
43304
43305         dup2: work around a Linux bug.
43306         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
43307         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
43308         * doc/posix-functions/dup2.texi: Mention the Linux bug.
43309         Reported by Simon Josefsson.
43310
43311 2009-08-25  Jim Meyering  <meyering@redhat.com>
43312
43313         libguestfs uses gnulib
43314         * users.txt: Add libguestfs.
43315
43316 2009-08-24  Eric Blake  <ebb9@byu.net>
43317
43318         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
43319         * lib/pipe2.c (includes): Add binary-io.h.
43320         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
43321
43322 2009-08-24  Bruno Haible  <bruno@clisp.org>
43323
43324         Tolerate declared but missing accept4 syscall.
43325         * lib/accept4.c (accept4): Invoke original accept4 function first, if
43326         available.
43327         * lib/sys_socket.in.h (accept4): If the function is already present,
43328         override it.
43329         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
43330         * modules/accept4 (Makefile.am): Compile accept4.c always.
43331         Reported by Paolo Bonzini and Eric Blake.
43332
43333 2009-08-23  Bruno Haible  <bruno@clisp.org>
43334
43335         New module 'accept4'.
43336         * lib/sys_socket.in.h (accept4): New declaration.
43337         * lib/accept4.c: New file.
43338         * m4/accept4.m4: New file.
43339         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43340         GNULIB_ACCEPT4, HAVE_ACCEPT4.
43341         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
43342         HAVE_ACCEPT4.
43343         * modules/accept4: New file.
43344         * doc/glibc-functions/accept4.texi: Mention the new module.
43345
43346 2009-08-24  Jim Meyering  <meyering@redhat.com>
43347
43348         progname: also set global program_invocation_name, when possible
43349         Before this change, a libtool-enabled program that calls glibc's
43350         error function would report the program name as
43351         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
43352         * modules/progname (configure.ac): Check for a declaration of
43353         program_invocation_name.
43354         * lib/progname.c:  Include <errno.h>.
43355         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
43356         Set program_invocation_name.
43357
43358 2009-08-23  Bruno Haible  <bruno@clisp.org>
43359
43360         * lib/dup3.c: Include <string.h>.
43361
43362 2009-08-23  Bruno Haible  <bruno@clisp.org>
43363
43364         * lib/dup3.c (dup3): Test only once whether the system actually exists.
43365         * lib/pipe2.c (pipe2): Likewise.
43366         Suggested by Eric Blake.
43367
43368 2009-08-23  Bruno Haible  <bruno@clisp.org>
43369
43370         Tolerate declared but missing dup3 syscall.
43371         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
43372         * lib/unistd.in.h (dup3): If the function is already present,
43373         override it.
43374         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
43375         * modules/dup3 (Makefile.am): Compile dup3.c always.
43376         Reported by Paolo Bonzini.
43377
43378 2009-08-23  Bruno Haible  <bruno@clisp.org>
43379
43380         Tolerate declared but missing pipe2 syscall.
43381         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
43382         available.
43383         * lib/unistd.in.h (pipe2): If the function is already present,
43384         override it.
43385         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
43386         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
43387         Reported by Paolo Bonzini.
43388
43389 2009-08-23  Bruno Haible  <bruno@clisp.org>
43390
43391         * lib/pipe2.c (pipe2): Move #ifs inside function.
43392
43393 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43394
43395         quotearg: document limitations of quote_these_too
43396         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
43397         those limitations are created.
43398         * lib/quotearg.h (set_char_quoting): Document that digits and
43399         letters that are special after backslash are not permitted.
43400         (quotearg_char): Cross-reference set_char_quoting documentation.
43401
43402 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
43403
43404         quotearg: implement custom_quoting_style
43405         * lib/quotearg.c: (struct quoting_options): Add left_quote and
43406         right_quote fields.
43407         (set_custom_quoting): New public function.
43408         (quotearg_buffer_restyled): Add left_quote and right_quote
43409         arguments, handle them very much like locale quoting, and update
43410         all uses.
43411         (quotearg_n_custom): New public function.
43412         (quotearg_n_custom_mem): New public function.
43413         (quotearg_custom): New public function.
43414         (quotearg_custom_mem): New public function.
43415         * lib/quotearg.h: Prototype and document new public functions.
43416         (enum quoting_style): For escape_quoting_style and
43417         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
43418         ignored even though they're otherwise like c_quoting_style.
43419         Add custom_quoting_style member and document with comparison to
43420         clocale_quoting_style.
43421         * tests/test-quotearg.c (custom_quotes): New array.
43422         (custom_results): New array.
43423         (main): Extend to test custom quoting.
43424
43425 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43426
43427         quotearg: fix right quote escaping when it's in quote_these_too
43428         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
43429         quote, be sure to prepend only one backslash.
43430         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43431         (main): Test it.
43432
43433 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43434
43435         quotearg-tests: test escaping of embedded locale quotes
43436         * tests/test-quotearg.c (struct result_strings): Add member for
43437         new input.
43438         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43439         (inputs): Add new input.
43440         (results_g): Add expected results.
43441         (flag_results): Likewise.
43442         (locale_results): Likewise.
43443         (compare_strings): Check those.
43444
43445 2009-08-23  Bruno Haible  <bruno@clisp.org>
43446
43447         Tests for module 'dup3'.
43448         * modules/dup3-tests: New file.
43449         * tests/test-dup3.c: New file.
43450
43451         New module 'dup3'.
43452         * lib/unistd.in.h (dup3): New declaration.
43453         * lib/dup3.c: New file.
43454         * m4/dup3.m4: New file.
43455         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43456         HAVE_DUP3.
43457         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43458         * modules/dup3: New file.
43459         * doc/glibc-functions/dup3.texi: Mention the new module.
43460
43461 2009-08-23  Bruno Haible  <bruno@clisp.org>
43462
43463         Tweak the dup2 test.
43464         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43465         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43466         the test file is still empty. Fix argument order of lseek.
43467
43468 2009-08-23  Bruno Haible  <bruno@clisp.org>
43469
43470         Avoid test link errors when the modules getopt-gnu, gettext are used.
43471         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43472         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43473
43474 2009-08-23  Bruno Haible  <bruno@clisp.org>
43475
43476         Fix getdtablesize() on mingw.
43477         * lib/getdtablesize.c (getdtablesize): Implement differently.
43478         * lib/unistd.in.h (getdtablesize): Improve comment.
43479
43480 2009-08-23  Bruno Haible  <bruno@clisp.org>
43481
43482         New module 'mkostemp'.
43483         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43484         * lib/stdlib.in.h (mksotemp): New declaration.
43485         * lib/mkostemp.c: New file, from glibc with modifications.
43486         * lib/tempname.h (GT_FILE): Remove outdated comment.
43487         (gen_tempname): Add flags argument.
43488         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43489         (__GT_FILE): Map to 1.
43490         (small_open, large_open): Remove macros.
43491         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43492         * lib/mkstemp.c (mkstemp): Update.
43493         * lib/mkdtemp.c (mkdtemp): Likewise.
43494         * m4/mkostemp.m4: New file.
43495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43496         HAVE_MKOSTEMP.
43497         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43498         HAVE_MKOSTEMP.
43499         * modules/mkostemp: New file, based on modules/mkstemp.
43500         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43501         * NEWS: Mention the change.
43502
43503 2009-08-23  Bruno Haible  <bruno@clisp.org>
43504
43505         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43506         Reported by Eric Blake.
43507
43508 2009-08-23  Bruno Haible  <bruno@clisp.org>
43509
43510         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43511         Reported by Eric Blake.
43512
43513 2009-08-23  Bruno Haible  <bruno@clisp.org>
43514
43515         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43516         * modules/pipe2 (Depends-on): Likewise.
43517
43518 2009-08-23  Eric Blake  <ebb9@byu.net>
43519
43520         fcntl-h: add O_TTY_INIT support
43521         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43522         * tests/test-fcntl-h.c (o): Test it.
43523         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43524
43525         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43526         * modules/fcntl: Move <fcntl.h> header replacement...
43527         * modules/fcntl-h: ...to new name, so as not to collide with
43528         like-named function.
43529         * tests/test-fcntl.c: Rename...
43530         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43531         * modules/fcntl-tests: Rename...
43532         * modules/fcntl-h-tests: ...to this.  Update test file name.
43533         * modules/chdir-long (Depends-on): Update clients.
43534         * modules/chdir-safer (Depends-on): Likewise.
43535         * modules/fcntl-safer (Depends-on): Likewise.
43536         * modules/fts (Depends-on): Likewise.
43537         * modules/mkancesdirs (Depends-on): Likewise.
43538         * modules/mkdir-p (Depends-on): Likewise.
43539         * modules/open (Depends-on): Likewise.
43540         * modules/savewd (Depends-on): Likewise.
43541         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43542         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43543
43544 2009-08-22  Bruno Haible  <bruno@clisp.org>
43545
43546         * modules/binary-io (License): Relicense under LGPL.
43547         * modules/pipe2 (License): Likewise.
43548
43549 2009-08-22  Bruno Haible  <bruno@clisp.org>
43550
43551         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43552         return value.
43553         * lib/pipe-filter-gi.c (filter_init): Likewise.
43554         Reported by Eric Blake.
43555
43556 2009-08-22  Bruno Haible  <bruno@clisp.org>
43557
43558         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43559         * modules/pipe (Depends-on): Add pipe2.
43560
43561 2009-08-22  Bruno Haible  <bruno@clisp.org>
43562
43563         Tests for module 'pipe2'.
43564         * modules/pipe2-tests: New file.
43565         * tests/test-pipe2.c: New file.
43566
43567         New module 'pipe2'.
43568         * lib/unistd.in.h (pipe2): New declaration.
43569         * lib/pipe2.c: New file.
43570         * m4/pipe2.m4: New file.
43571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43572         HAVE_PIPE2.
43573         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43574         * modules/pipe2: New file.
43575         * doc/glibc-functions/pipe2.texi: Mention the new module.
43576
43577 2009-08-22  Bruno Haible  <bruno@clisp.org>
43578
43579         Reference some new glibc functions.
43580         * doc/glibc-functions/accept4.texi: New file.
43581         * doc/glibc-functions/dup3.texi: New file.
43582         * doc/glibc-functions/mkostemp.texi: New file.
43583         * doc/glibc-functions/pipe2.texi: New file.
43584         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43585         (Glibc sys/socket.h): Refer to accept4.
43586         (Glibc unistd.h): Refer to dup3, pipe2.
43587         Reported by Eric Blake.
43588
43589 2009-08-22  Jim Meyering  <meyering@redhat.com>
43590             Bruno Haible  <bruno@clisp.org>
43591
43592         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43593         This makes it so packages using automake-1.11's silent-rules option
43594         can print e.g., a single "GEN    configmake.h" line, rather than
43595         the 30+ statements that perform the job.  If you want to see the
43596         actual commands, you can still run "make V=1".
43597         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43598         so that make output is abbreviated when those variables are defined
43599         appropriately.
43600         * modules/argz: Likewise.
43601         * modules/arpa_inet: Likewise.
43602         * modules/byteswap: Likewise.
43603         * modules/configmake: Likewise.
43604         * modules/dirent: Likewise.
43605         * modules/errno: Likewise.
43606         * modules/fcntl: Likewise.
43607         * modules/float: Likewise.
43608         * modules/fnmatch: Likewise.
43609         * modules/getopt-posix: Likewise.
43610         * modules/glob: Likewise.
43611         * modules/iconv_open: Likewise.
43612         * modules/inttypes: Likewise.
43613         * modules/localcharset: Likewise.
43614         * modules/locale: Likewise.
43615         * modules/math: Likewise.
43616         * modules/netdb: Likewise.
43617         * modules/netinet_in: Likewise.
43618         * modules/poll: Likewise.
43619         * modules/posix_spawnp-tests: Likewise.
43620         * modules/sched: Likewise.
43621         * modules/search: Likewise.
43622         * modules/selinux-h: Likewise.
43623         * modules/signal: Likewise.
43624         * modules/spawn: Likewise.
43625         * modules/stdarg: Likewise.
43626         * modules/stdbool: Likewise.
43627         * modules/stddef: Likewise.
43628         * modules/stdint: Likewise.
43629         * modules/stdio: Likewise.
43630         * modules/stdlib: Likewise.
43631         * modules/string: Likewise.
43632         * modules/strings: Likewise.
43633         * modules/sys_file: Likewise.
43634         * modules/sys_ioctl: Likewise.
43635         * modules/sys_select: Likewise.
43636         * modules/sys_socket: Likewise.
43637         * modules/sys_stat: Likewise.
43638         * modules/sys_time: Likewise.
43639         * modules/sys_times: Likewise.
43640         * modules/sys_utsname: Likewise.
43641         * modules/sys_wait: Likewise.
43642         * modules/sysexits: Likewise.
43643         * modules/time: Likewise.
43644         * modules/unistd: Likewise.
43645         * modules/wchar: Likewise.
43646         * modules/wctype: Likewise.
43647
43648 2009-08-22  Jim Meyering  <meyering@redhat.com>
43649
43650         announce-gen: detect write failure
43651         * build-aux/announce-gen: Add Coda at end.
43652         Remove equivalent-but-more-verbose block at top.
43653
43654 2009-08-19  Akim Demaille  <demaille@gostai.com>
43655
43656         bootstrap: --help to stdout.
43657         * bootstrap (usage): Don't send --help to stderr.
43658         Use a here doc instead of a long string.
43659
43660 2009-08-21  Eric Blake  <ebb9@byu.net>
43661
43662         test-popen-safer: split from test-popen
43663         * tests/test-popen.c (main): Move...
43664         * tests/test-popen.h: ...into new file.
43665         * tests/test-popen-safer2.c: New file.
43666         * modules/popen-tests (Files): Add test-popen.h.
43667         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
43668         Suggested by Bruno Haible.
43669
43670         test-fcntl-safer: split from test-open
43671         * tests/test-open.c (main): Move...
43672         * tests/test-open.h: ...into new file.
43673         * tests/test-fcntl-safer.c: New file.
43674         * modules/open-tests (Files): Add test-open.h.
43675         * modules/fcntl-safer-tests: New file.
43676         Suggested by Bruno Haible.
43677
43678         test-fopen-safer: split from test-fopen
43679         * tests/test-fopen.c (main): Move...
43680         * tests/test-fopen.h: ...into new file.
43681         * tests/test-fopen-safer.c: New file.
43682         * modules/fopen-tests (Files): Add test-fopen.h.
43683         * modules/fopen-safer-tests: New file.
43684         Suggested by Bruno Haible.
43685
43686 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43687
43688         popen-safer: test O_CLOEXEC at run-time.
43689         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
43690
43691 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43692
43693         fcntl: move more flags to the header
43694         * lib/cloexec.c: Do not define FD_CLOEXEC here.
43695         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
43696         * lib/fcntl.in.h: Do both things here.
43697
43698 2009-08-21  Jim Meyering  <meyering@redhat.com>
43699
43700         consistently remove $@-t before redirecting to it
43701         * modules/argz: Remove $@-t and $@ before redirecting to the former.
43702         * modules/alloca-opt: Likewise.
43703         * modules/byteswap: Likewise.
43704         * modules/fnmatch: Likewise.
43705         * modules/getopt-posix: Likewise.
43706         * modules/glob: Likewise.
43707         * modules/poll: Likewise.
43708         * modules/posix_spawnp-tests: Likewise.
43709         * modules/sys_socket: Likewise.
43710         * modules/sysexits: Likewise.
43711
43712 2009-08-21  Eric Blake  <ebb9@byu.net>
43713
43714         popen: simplify access to original popen
43715         * lib/popen.c (rpl_popen): No need to worry about popen being a
43716         macro.
43717         Reported by Bruno Haible.
43718
43719 2009-08-20  Eric Blake  <ebb9@byu.net>
43720
43721         build: avoid some compiler warnings
43722         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
43723         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
43724         type.
43725         (new_exclude_segment, excluded_file_pattern_p)
43726         (excluded_file_name_p): Reduce scope.
43727         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
43728         old-style declaration.
43729
43730 2009-08-20  Simon Josefsson  <simon@josefsson.org>
43731
43732         * tests/test-exclude1.sh: Handle Windows EOL.
43733         * tests/test-exclude2.sh: Likewise.
43734         * tests/test-exclude3.sh: Likewise.
43735         * tests/test-exclude4.sh: Likewise.
43736         * tests/test-exclude5.sh: Likewise.
43737         * tests/test-exclude6.sh: Likewise.
43738         * tests/test-exclude7.sh: Likewise.
43739
43740 2009-08-19  Akim Demaille  <demaille@gostai.com>
43741
43742         bootstrap: find sha1sum when named gsha1sum.
43743         * bootstrap (find_tool): New.
43744         ($SHA1SUM): New.
43745         Use it.
43746
43747 2009-08-20  Jim Meyering  <meyering@redhat.com>
43748
43749         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
43750         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
43751         expression that converts "." in a file name to "\." in the resulting
43752         regexp.  Start with a dummy statement, so that prior shell variable
43753         definitions are expanded portably.  Reported by Simon Josefsson.
43754
43755 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
43756
43757         Fix polling for writeability of a screen buffer.
43758         * lib/poll.c: Distinguish input and screen buffers for the
43759         Win32 implementation.
43760         * lib/select.c: Likewise.
43761
43762 2009-08-19  Eric Blake  <ebb9@byu.net>
43763
43764         popen-safer: prevent popen from clobbering std descriptors
43765         * modules/popen-safer: New file.
43766         * lib/popen-safer.c: Likewise.
43767         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
43768         * lib/stdio--.h (popen): Provide override.
43769         * lib/stdio-safer.h (popen_safer): Provide declaration.
43770         * tests/test-popen.c (includes): Partially test this.
43771         * modules/popen-safer-tests: New file, for more tests.
43772         * tests/test-popen-safer.c: Likewise.
43773         * MODULES.html.sh (file stream based Input/Output): Mention it.
43774
43775         tests: test some of the *-safer modules
43776         * modules/fopen-safer (Depends-on): Add fopen.
43777         * modules/fcntl-safer (Depends-on): Add fcntl.
43778         * modules/stdlib-safer (Depends-on): Add stdlib.
43779         (configure.ac): Set indicator.
43780         * modules/unistd-safer (configure.ac): Likewise.
43781         * modules/tmpfile-safer (configure.ac): Likewise.
43782         (Depends-on): Add tmpfile.
43783         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
43784         active.
43785         * tests/test-fopen.c (includes): Test safer versions when they are
43786         in use.
43787         * tests/test-open.c (includes): Likewise.
43788
43789         popen: fix cygwin 1.5 bug when stdin closed
43790         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
43791         * modules/popen: New file.
43792         * modules/popen-tests: Likewise.
43793         * tests/test-popen.c: Likewise.
43794         * m4/popen.m4: Likewise.
43795         * lib/popen.c: Likewise.
43796         * lib/stdio.in.h (popen): New declaration.
43797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
43798         * modules/stdio (Makefile.am): Likewise.
43799         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
43800
43801 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
43802
43803         maint.mk: give full control over update-copyright exclusions
43804         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
43805         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
43806         (update-copyright): Don't force inclusion of top-level
43807         ChangeLog.  Don't force exclusion of all COPYING files, but make
43808         them the default exclusion instead.
43809
43810 2009-08-16  Bruno Haible  <bruno@clisp.org>
43811
43812         Fix test failures on Solaris 10.
43813         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
43814         tests when Solaris iconv() is used.
43815         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43816         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43817         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43818         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43819         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43820
43821 2009-08-16  Bruno Haible  <bruno@clisp.org>
43822
43823         Fix test failures on Solaris 10.
43824         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
43825         'tr' program and pass it as first argument.
43826         * tests/test-pipe-filter-gi1.sh: Likewise.
43827         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
43828         program as first argument.
43829         * tests/test-pipe-filter-gi1.c (main): Likewise.
43830
43831 2009-08-16  Eric Blake  <ebb9@byu.net>
43832
43833         fpurge: fix previous commits
43834         * modules/fpurge (Makefile.am): Make replacement conditional,
43835         partially reverting 2007-04-29 change; missed in previous
43836         attempt.
43837         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
43838         is missing.
43839
43840 2009-08-16  Bruno Haible  <bruno@clisp.org>
43841
43842         Clarify fpurge's effect on the file position.
43843         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
43844         * tests/test-fpurge.c (main): Make a second pass for checking the file
43845         position.
43846
43847 2009-08-16  Bruno Haible  <bruno@clisp.org>
43848
43849         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
43850         declaration of fpurge is missing.
43851         * tests/test-fpurge.c (main): Check that the file has not more contents
43852         than expected. Close the file before removing it.
43853
43854 2009-08-15  Eric Blake  <ebb9@byu.net>
43855
43856         fpurge: don't wrap working cygwin implementation
43857         * lib/fpurge.c (fpurge): Fix comment typo.
43858         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
43859         1.7 to avoid replacement.
43860         * tests/test-fpurge.c (main): Enhance test.
43861
43862 2009-08-15  Eric Blake  <ebb9@byu.net>
43863         and Jim Meyering  <meyering@redhat.com>
43864
43865         test-update-copyright: skip if perl is insufficient
43866         * tests/test-update-copyright.sh: Failure to run maintainer tool
43867         should not cause testsuite failure on cygwin 1.5.
43868
43869 2009-08-14  Eric Blake  <ebb9@byu.net>
43870
43871         doc: mention more functions added in cygwin 1.7.0
43872         * doc/posix-headers/limits.texi (limits.h): Update for recent
43873         cygwin additions.
43874         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
43875         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
43876         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
43877         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
43878         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
43879
43880 2009-08-14  Eric Blake  <ebb9@byu.net>
43881
43882         maint.mk: simplify update-copyright rule
43883         * top/maint.mk (update-copyright-local): Delete, and document how
43884         to do it in cfg.mk instead.
43885         (update-copyright-exclude-regexp): Delete, and document how to do
43886         it in .x-update-copyright instead.
43887         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
43888         exclude ChangeLog.
43889
43890 2009-08-14  Bruno Haible  <bruno@clisp.org>
43891
43892         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
43893
43894 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43895
43896         maint.mk: support update-copyright-env
43897         * top/maint.mk (update-copyright-env): Define place-holder.
43898         (update-copyright): Expand $(update-copyright-env) before
43899         invoking update-copyright.
43900
43901 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43902
43903         update-copyright: implement forced reformatting
43904         * build-aux/update-copyright: Implement and document
43905         UPDATE_COPYRIGHT_FORCE.
43906         * tests/test-update-copyright.sh: Test it.
43907
43908 2009-08-14  Eric Blake  <ebb9@byu.net>
43909         and Bruno Haible  <bruno@clisp.org>
43910
43911         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
43912         * tests/test-locale.c: Revert previous patch related to NULL.
43913         * tests/test-stdio.c: Likewise.
43914         * tests/test-stdlib.c: Likewise.
43915         * tests/test-string.c: Likewise.
43916         * tests/test-unistd.c: Likewise.
43917         * modules/time-tests (Depends-on): Add verify.
43918         * modules/wchar-tests (Depends-on): Likewise.
43919         * tests/test-time.c: Test for NULL compliance.
43920         * tests/test-wchar.c: Likewise.
43921         * modules/locale (Depends-on): Add stddef.
43922         * modules/stdio (Depends-on): Likewise.
43923         * modules/stdlib (Depends-on): Likewise.
43924         * modules/string (Depends-on): Likewise.
43925         * modules/time (Depends-on): Likewise.
43926         * modules/unistd (Depends-on): Likewise.
43927         * modules/wchar (Depends-on): Likewise.
43928         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
43929         * lib/stdlib.in.h (includes): Likewise.
43930         * lib/string.in.h (includes): Likewise.
43931         * lib/time.in.h (includes): Likewise.
43932         * lib/unistd.in.h (includes): Likewise.
43933         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
43934         replaced.
43935         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43936         * m4/stddef_h.m4: New file.
43937         * modules/stddef: Likewise.
43938         * lib/stddef.in.h: Likewise.
43939         * modules/stddef-tests: Likewise.
43940         * tests/test-stddef.c: Likewise.
43941         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
43942         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
43943         * doc/posix-headers/locale.texi (locale.h): Likewise.
43944         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
43945         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43946         * doc/posix-headers/string.texi (string.h): Likewise.
43947         * doc/posix-headers/time.texi (time.h): Likewise.
43948         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
43949         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
43950
43951 2009-08-14  Eric Blake  <ebb9@byu.net>
43952
43953         doc: improve git diff of texinfo files
43954         * .gitattributes: Add rule for *.texi files, with hint on how to
43955         use it.
43956         Copied from m4, and based on a report by Bruno Haible.
43957
43958 2009-08-14  Bruno Haible  <bruno@clisp.org>
43959
43960         Disable multithread support by default on Cygwin 1.5.x for real.
43961         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
43962
43963 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43964
43965         update-copyright: much ado about intervals
43966         * build-aux/update-copyright: Implement and document
43967         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
43968         of copyright year intervals.
43969         Also, document UPDATE_COPYRIGHT_YEAR.
43970         * tests/test-update-copyright.sh: Test it.
43971
43972         update-copyright: convert 2-digit to 4-digit years
43973         * build-aux/update-copyright: Implement and document.
43974         * tests/test-update-copyright.sh: Update.
43975
43976 2009-08-14  Jim Meyering  <meyering@redhat.com>
43977
43978         test-exclude: avoid coreutils "make check" failure
43979         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
43980         just as in test-argmatch.c.
43981
43982 2009-08-13  Eric Blake  <ebb9@byu.net>
43983
43984         test-dup2: fix bad assumption
43985         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
43986         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
43987
43988         test-version-etc: fix CRLF portability issue
43989         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
43990         recognize \r.
43991         * tests/test-argp-version-etc-1.sh: Likewise.
43992
43993         getopt: update client modules
43994         * modules/argp (Depends-on): Use getopt-gnu.
43995         * modules/git-merge-changelog (Depends-on): Likewise.
43996         * modules/long-options (Depends-on): Likewise.
43997         * modules/xstrtol (Depends-on): Likewise.
43998
43999 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44000
44001         * tests/test-version-etc.sh: Don't fail on different
44002         project/version.  Don't fail on CRLF differences.  Rewrite to use
44003         multiple -e instead of multiple sed forks, suggested by Eric Blake
44004         <ebb9@byu.net>.
44005         * tests/test-argp-version-etc-1.sh: Likewise.
44006
44007 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44008
44009         * tests/test-version-etc.sh: Don't fail on different
44010         project/version.
44011
44012 2009-08-12  Bruno Haible  <bruno@clisp.org>
44013
44014         Tests for modules 'getopt-posix', 'getopt-gnu'.
44015         * modules/getopt-posix-tests: New file.
44016         * tests/test-getopt.c: New file.
44017         * tests/test-getopt.h: New file.
44018         * tests/test-getopt_long.h: New file.
44019
44020         New modules 'getopt-posix', 'getopt-gnu'.
44021         * modules/getopt-gnu: New file, renamed from modules/getopt.
44022         * modules/getopt-posix: New file.
44023         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44024         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44025         (gl_GETOPT): Remove macro.
44026         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44027         Disable the test against BSD systems that declare optreset. Test
44028         against mingw bug. Test against lack of support of optional arguments
44029         on many platforms.
44030         * doc/glibc-headers/getopt.texi: Update module name and list of
44031         relevant platforms.
44032         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44033         'getopt-gnu' and more portability problems.
44034         * NEWS: Mention the changes.
44035
44036 2009-08-12  Bruno Haible  <bruno@clisp.org>
44037
44038         Ensure that optarg etc. get declared by <unistd.h>.
44039         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44040         AC_USE_SYSTEM_EXTENSIONS.
44041         * modules/getopt (Depends-on): Add 'extensions'.
44042
44043 2009-08-12  Bruno Haible  <bruno@clisp.org>
44044
44045         Avoid test link errors.
44046         * modules/pipe-filter-ii-tests (Makefile.am): Define
44047         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44048         * modules/pipe-filter-gi-tests (Makefile.am): Define
44049         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44050         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44051
44052 2009-08-12  Bruno Haible  <bruno@clisp.org>
44053
44054         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44055         gl_GETOPT_SUBSTITUTE before.
44056         (gl_GETOPT): Use it.
44057         * m4/argp.m4 (gl_ARGP): Update.
44058         Reported by Sergey Poznyakoff.
44059
44060         * m4/getopt.m4: Reorder macros.
44061         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44062         (gl_GETOPT_SUBSTITUTE): Remove macro.
44063
44064 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44065
44066         Minor improvement in gitlog-to-changelog
44067
44068         * build-aux/gitlog-to-changelog: New option `--format' makes
44069         output format string configurable.
44070
44071 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44072
44073         Optimize exclude: use hash tables for non-wildcard patterns.
44074
44075         * lib/exclude.c: Include hash.h and mbuiter.h
44076         (struct exclude_pattern, exclude_segment): New data types.
44077         (struct exclude): Rewrite.
44078         (fnmatch_pattern_has_wildcards): New function.
44079         (new_exclude_segment, free_exclude_segment): New functions.
44080         (excluded_file_pattern_p, excluded_file_name_p): New functions.
44081         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
44082         * lib/exclude.h (is_fnmatch_pattern): New prototype.
44083         * modules/exclude: Depend on hash and mbuiter.
44084
44085         * modules/exclude-tests: New file.
44086         * tests/test-exclude.c: New file.
44087         * tests/test-exclude1.sh: New file.
44088         * tests/test-exclude2.sh: New file.
44089         * tests/test-exclude3.sh: New file.
44090         * tests/test-exclude4.sh: New file.
44091         * tests/test-exclude5.sh: New file.
44092         * tests/test-exclude6.sh: New file.
44093         * tests/test-exclude7.sh: New file.
44094
44095 2009-08-12  Bruno Haible  <bruno@clisp.org>
44096
44097         Ensure that getopt() gets declared by <unistd.h>.
44098         * lib/unistd.in.h: Conditionally include getopt.h.
44099         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
44100         Set GNULIB_UNISTD_H_GETOPT.
44101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44102         GNULIB_UNISTD_H_GETOPT.
44103         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
44104
44105 2009-08-12  Bruno Haible  <bruno@clisp.org>
44106
44107         Clarify logic.
44108         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
44109         gl_replace_getopt instead of GETOPT_H.
44110
44111 2009-08-12  Bruno Haible  <bruno@clisp.org>
44112
44113         * m4/getopt.m4: Add comments.
44114
44115 2009-08-12  Bruno Haible  <bruno@clisp.org>
44116
44117         Disable multithread support by default on Cygwin 1.5.x.
44118         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
44119         set gl_use_threads=no if not specified otherwise.
44120
44121 2009-08-11  Bruno Haible  <bruno@clisp.org>
44122
44123         Avoid compilation error on NetBSD 5.0.
44124         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
44125         * tests/test-stdio.c: Likewise.
44126         * tests/test-stdlib.c: Likewise.
44127         * tests/test-string.c: Likewise.
44128         * tests/test-unistd.c: Likewise.
44129         Reported by Greg Troxel <gdt@ir.bbn.com>
44130         at <https://savannah.gnu.org/support/?106973>.
44131
44132 2009-08-11  Bruno Haible  <bruno@clisp.org>
44133
44134         * modules/dup2-tests (Depends-on): Remove close.
44135
44136         Undo 2009-07-19 commit.
44137         * modules/acl-tests (Depends-on): Remove close.
44138         * modules/binary-io-tests (Depends-on): Likewise.
44139         * modules/closein-tests (Depends-on): Likewise.
44140         * modules/flock-tests (Depends-on): Likewise.
44141         * modules/fsync-tests (Depends-on): Likewise.
44142         * modules/lseek-tests (Depends-on): Likewise.
44143         * modules/pipe-tests (Depends-on): Likewise.
44144         * modules/posix_spawn-tests (Depends-on): Likewise.
44145         * modules/posix_spawnp-tests (Depends-on): Likewise.
44146         * modules/stat-time-tests (Depends-on): Likewise.
44147         * modules/yesno-tests (Depends-on): Likewise.
44148
44149 2009-08-10  Bruno Haible  <bruno@clisp.org>
44150
44151         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
44152
44153 2009-08-10  Bruno Haible  <bruno@clisp.org>
44154
44155         Fix a gcc warning.
44156         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
44157
44158 2009-08-10  Bruno Haible  <bruno@clisp.org>
44159
44160         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
44161         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
44162         not only the first time.
44163         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
44164         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
44165         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
44166         is 1, not only the the first time.
44167
44168 2009-08-10  Bruno Haible  <bruno@clisp.org>
44169
44170         Make it possible to use module 'gethostname' without module 'close'.
44171         * lib/unistd.in.h (close): Evoke a link error only if
44172         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44174         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44175         * modules/unistd (Makefile.am): Substitute
44176         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44177         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
44178         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44179         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
44180         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44181         * modules/sys_ioctl (Makefile.am): Substitute
44182         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44183         * modules/socket (configure.ac): On native Windows, set
44184         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
44185         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44186         Reported by Sam Steingold <sds@gnu.org>.
44187
44188 2009-08-10  Bruno Haible  <bruno@clisp.org>
44189
44190         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
44191         * modules/ioctl (configure.ac): Likewise.
44192
44193 2009-08-10  Bruno Haible  <bruno@clisp.org>
44194
44195         Avoid collision between gnulib wrapper and libintl wrapper.
44196         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
44197         already defined in intl/printf.c.
44198         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
44199         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
44200
44201 2009-08-09  Bruno Haible  <bruno@clisp.org>
44202
44203         Make <sys/select.h> really self-contained, also on Solaris 10.
44204         * lib/sys_select.in.h: Include <string.h>.
44205         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
44206         Solaris 10 problem.
44207         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
44208         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
44209         Reported by Jim Meyering.
44210
44211 2009-08-09  Bruno Haible  <bruno@clisp.org>
44212
44213         Avoid warnings from 'aclocal' that are due to a use of macro name
44214         AM_XGETTEXT_OPTION that is not defined in automake.
44215         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
44216         automake.
44217         * modules/error (configure.ac): Likewise.
44218         * modules/propername (configure.ac): Likewise.
44219         * modules/vasprintf (configure.ac): Likewise.
44220         * modules/verror (configure.ac): Likewise.
44221         * modules/xprintf (configure.ac): Likewise.
44222         * modules/xvasprintf (configure.ac): Likewise.
44223
44224 2009-08-08  Bruno Haible  <bruno@clisp.org>
44225
44226         Avoid compilation error in C++ mode.
44227         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
44228         Reported by Sam Steingold <sds@gnu.org>.
44229
44230 2009-08-08  Bruno Haible  <bruno@clisp.org>
44231
44232         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
44233         for the various Unix platforms.
44234         * doc/posix-headers/limits.texi: Update platforms list regarding
44235         HOST_NAME_MAX.
44236         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44237
44238 2009-08-07  Jim Meyering  <meyering@redhat.com>
44239
44240         selinux-at: fix typo in a comment
44241         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
44242         Spotted by Paolo Bonzini.
44243
44244         selinux-at: remove redundant m4 code, add documentation
44245         * modules/selinux-at (configure.ac): Remove redundant code.
44246         LIB_SELINUX is already set via the dependent module, selinux-h.
44247         (Include): Add quotes around selinux-at.h.
44248         * lib/selinux-at.h: Add documentation.
44249         Reported by Bruno Haible in
44250         http://marc.info/?l=gnulib-bug&m=124958988300749
44251
44252 2009-08-07  Bruno Haible  <bruno@clisp.org>
44253
44254         Avoid link error on MacOS X 10.3 and 10.4.
44255         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
44256         on non-ELF systems.
44257         * lib/argp-pv.c (argp_program_version): Likewise.
44258         Reported by Simon Josefsson.
44259
44260 2009-08-07  Simon Josefsson  <simon@josefsson.org>
44261
44262         * tests/test-version-etc.sh: Use $EXEEXT.
44263
44264 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
44265
44266         update-copyright: update documentation to point to maint.mk
44267         * build-aux/update-copyright: Here.
44268
44269 2009-08-06  Jim Meyering  <meyering@redhat.com>
44270
44271         maint.mk: support update-copyright-local
44272         * top/maint.mk (update-copyright-local): Define place-holder.
44273         (update-copyright): Depend on $(update-copyright-local).
44274
44275 2009-08-06  Jim Meyering  <meyering@redhat.com>
44276
44277         selinux-at: new module
44278         Initially written for coreutils, this module will soon be
44279         used by findutils, too.
44280         * MODULES.html.sh [Misc]: Add selinux-at.
44281         * lib/selinux-at.h: New file, from coreutils.
44282         * lib/selinux-at.c: Likewise.
44283         * modules/selinux-at: Likewise.
44284         (License): Change from LGPL to GPL, since it depends
44285         on the GPL'd openat module.
44286
44287         doc: update README
44288         * README: Remove references to cogito.
44289         Remove cvs-repo-updating instructions from 2007.
44290         Don't imply that CVS is better if you have limited disk space.
44291
44292 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44293
44294         update-copyright: support C-style comments
44295         * build-aux/update-copyright: Implement and document.
44296         * tests/test-update-copyright.sh: Test.
44297
44298 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44299
44300         update-copyright: support omitted "(C)"
44301         * build-aux/update-copyright: Implement and document.  Also,
44302         allow variable whitespace before "(C)".
44303         * tests/test-update-copyright.sh: Test.
44304
44305 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44306
44307         update-copyright: don't trip on non-FSF copyright statements
44308         * build-aux/update-copyright: Fix so that the first correctly
44309         formatted FSF copyright statement is recognized no matter what
44310         appears before it.  Update documentation.
44311         * tests/test-update-copyright.sh: Test that.
44312
44313 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44314
44315         update-copyright: clean up code a little
44316         * build-aux/update-copyright: Append "_re" to the name of any
44317         variable holding a regular expression.
44318         Replace "old" and "new" with "stmt" in variable names.
44319         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
44320         handled correctly.
44321         Format code more consistently.
44322
44323 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44324
44325         update-copyright-tests: improve portability
44326         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
44327         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
44328
44329 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44330
44331         update-copyright: support @copyright{} and &copy;
44332         * build-aux/update-copyright: Implement and document.
44333         * tests/test-update-copyright.sh: Test.
44334
44335 2009-08-04  Jim Meyering  <meyering@redhat.com>
44336
44337         update-copyright-tests: correctly test EOL=\r\n handling
44338         * tests/test-update-copyright.sh: Put \r at the end of some lines
44339         for the dos-eol tests.  Based on a patch by Joel E. Denny.
44340
44341         maint.mk: make update-copyright exclusion list more configurable
44342         * top/maint.mk (update-copyright): Default to excluding COPYING,
44343         but allow an override, in case someone does want to update that file.
44344
44345         maint.mk: don't update copyright date in COPYING
44346         * top/maint.mk (update-copyright): Exclude COPYING.
44347
44348         maint.mk: add a copyright-updating rule
44349         * top/maint.mk (update-copyright): New rule.
44350         Derived from coreutils/Makefile.am.
44351
44352         update-copyright: rename some variables
44353         * build-aux/update-copyright: Rename a few variables for clarity.
44354         Tweak syntax.  List Joel E. Denny as coauthor.
44355
44356 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44357
44358         update-copyright: fix bug for 2-digit last year and add tests
44359         * build-aux/update-copyright: Fix bug.
44360         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
44361         specified.
44362         * modules/update-copyright-tests: New
44363         * tests/test-update-copyright.sh: New.
44364
44365 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44366
44367         update-copyright: handle leading tabs in line prefix
44368         * build-aux/update-copyright: Count leading tabs as 8 spaces
44369         when computing margin.  This helps with the formatting of
44370         ChangeLogs, for example.
44371         Fix documentation a little.
44372
44373 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44374
44375         update-copyright: support EOL=\r\n
44376         * build-aux/update-copyright: Implement that.
44377
44378 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44379
44380         update-copyright: automatically format copyright statements
44381         * build-aux/update-copyright: Implement that.
44382         Also, be a little more predictable and safer by always failing
44383         when the full copyright format is not perfectly recognized as an
44384         unbroken whole.  Discussed at
44385         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
44386         Rewrite documentation.
44387
44388 2009-08-03  Bruno Haible  <bruno@clisp.org>
44389
44390         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
44391
44392 2009-08-02  Bruno Haible  <bruno@clisp.org>
44393
44394         Tests for module 'uname'.
44395         * modules/uname-tests: New file.
44396         * tests/test-uname.c: New file.
44397
44398         New module 'uname'.
44399         * lib/uname.c: New file.
44400         * m4/uname.m4: New file.
44401         * modules/uname: New file.
44402         * doc/posix-functions/uname.texi: Mention the new module.
44403
44404 2009-08-02  Bruno Haible  <bruno@clisp.org>
44405
44406         Tests for module 'sys_utsname'.
44407         * modules/sys_utsname-tests: New file.
44408         * tests/test-sys_utsname.c: New file.
44409
44410         New module 'sys_utsname'.
44411         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
44412         * m4/sys_utsname_h.m4: New file.
44413         * modules/sys_utsname: New file.
44414         * doc/posix-headers/sys_utsname.texi: Mention the new module.
44415
44416 2009-08-02  Bruno Haible  <bruno@clisp.org>
44417
44418         Implicitly initialize the sockets library.
44419         * lib/gethostname.c: Include sockets.h.
44420         (rpl_gethostname): Invoke gl_sockets_startup.
44421         * lib/socket.c: Include sockets.h.
44422         (rpl_socket): Invoke gl_sockets_startup.
44423         * modules/gethostname (Depends-on): Add sockets.
44424         * modules/socket (Depends-on): Likewise.
44425         * tests/test-poll.c: Don't include sockets.h.
44426         (main): Don't invoke gl_sockets_startup.
44427         * tests/test-select.c: Don't include sockets.h.
44428         (main): Don't invoke gl_sockets_startup.
44429
44430 2009-08-02  Bruno Haible  <bruno@clisp.org>
44431
44432         Allow multiple calls to gl_sockets_startup.
44433         * lib/sockets.c (initialized_sockets_version): New variable.
44434         (gl_sockets_startup): Do nothing if already called for this or a higher
44435         version.
44436         (gl_sockets_cleanup): Reset initialized_sockets_version.
44437
44438 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44439
44440         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44441         different project/version.
44442
44443 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44444             Bruno Haible  <bruno@clisp.org>
44445
44446         Tests for module 'pipe-filter-gi'.
44447         * modules/pipe-filter-gi-tests: New file.
44448         * tests/test-pipe-filter-gi1.sh: New file.
44449         * tests/test-pipe-filter-gi1.c: New file.
44450         * tests/test-pipe-filter-gi2.sh: New file.
44451         * tests/test-pipe-filter-gi2-main.c: New file.
44452         * tests/test-pipe-filter-gi2-child.c: New file.
44453
44454         New module 'pipe-filter-gi'.
44455         * lib/pipe-filter-gi.c: New file.
44456         * modules/pipe-filter-gi: New file.
44457
44458 2009-08-02  Bruno Haible  <bruno@clisp.org>
44459             Paolo Bonzini  <bonzini@gnu.org>
44460
44461         Tests for module 'pipe-filter-ii'.
44462         * modules/pipe-filter-ii-tests: New file.
44463         * tests/test-pipe-filter-ii1.sh: New file.
44464         * tests/test-pipe-filter-ii1.c: New file.
44465         * tests/test-pipe-filter-ii2.sh: New file.
44466         * tests/test-pipe-filter-ii2-main.c: New file.
44467         * tests/test-pipe-filter-ii2-child.c: New file.
44468
44469         New module 'pipe-filter-ii'.
44470         * lib/pipe-filter.h: New file.
44471         * lib/pipe-filter-ii.c: New file.
44472         * lib/pipe-filter-aux.h: New file.
44473         * modules/pipe-filter-ii: New file.
44474
44475 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44476
44477         * lib/gc-libgcrypt.c: Change copyright to FSF.
44478         * lib/gc-gnulib.c: Likewise.
44479
44480 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44481
44482         * lib/gethostname.c: Include limits.h.
44483
44484 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44485             Bruno Haible  <bruno@clisp.org>
44486
44487         Ensure HOST_NAME_MAX as part of the gethostname module.
44488         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44489         define also HOST_NAME_MAX.
44490         * tests/test-gethostname.c: Include <limits.h>.
44491         (main): Check also HOST_NAME_MAX.
44492         * doc/posix-headers/limits.texi: Document the mingw problem.
44493
44494 2009-08-02  Bruno Haible  <bruno@clisp.org>
44495
44496         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44497         Add comments.
44498
44499 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44500
44501         * lib/gethostname.c: Add Windows wrapper.
44502         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44503         * modules/gethostname: Depend on sys_socket & errno, for also
44504         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44505         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44506
44507 2009-07-31  Jim Meyering  <meyering@redhat.com>
44508
44509         getloadavg: fix symbol name in comment
44510         * lib/getloadavg.c: Correct a typo I introduced when adding
44511         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44512         Matt Kraai spotted the problem.
44513
44514 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44515
44516         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44517         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44518         code also if ! defined N_NAME_POINTER.
44519         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44520         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44521         but the n_name member is a 12-byte array.
44522
44523 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44524
44525         update-copyright: generalize comment handling
44526         * build-aux/update-copyright: Handle copyright statements
44527         within more comment styles.
44528         Document usage.
44529         Report any file with an external copyright holder or parse failure.
44530
44531 2009-07-29  Jim Meyering  <meyering@redhat.com>
44532
44533         mktime: correct setting of REPLACE_MKTIME
44534         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44535
44536         update-copyright: new module
44537         * modules/update-copyright: New file.
44538         * build-aux/update-copyright: New file.
44539         * MODULES.html.sh (maint+release support): Add update-copyright.
44540
44541 2009-07-27  Bruno Haible  <bruno@clisp.org>
44542
44543         Fix compilation error when <ctime> is used and mktime is replaced.
44544         * lib/time.in.h (mktime): New declaration.
44545         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44546         REPLACE_MKTIME instead of defining mktime in config.h.
44547         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44548         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44549         Reported by Ross McFarland <rwmcfa1@neces.com>.
44550
44551 2009-07-27  Bruno Haible  <bruno@clisp.org>
44552
44553         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44554         Reported by Matt Kraai <mkraai@beckman.com>.
44555
44556 2009-07-25  Jim Meyering  <meyering@redhat.com>
44557
44558         maint.mk: avoid warnings about missing files
44559         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44560         diagnostic when .prev-version does not exist.
44561         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44562         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44563         nonexistent cfg.mk.
44564         Suggestions from Simon Josefsson.
44565
44566 2009-07-25  Bruno Haible  <bruno@clisp.org>
44567
44568         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44569         defined as macros. Needed on QNX 6.4.1.
44570         Reported by Matt Kraai <mkraai@beckman.com>.
44571
44572 2009-07-23  Jim Meyering  <meyering@redhat.com>
44573
44574         maint.mk: invoke "make dist" with a working value of XZ_OPT
44575         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44576
44577 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44578
44579         Make fseeko.c compile on QNX.
44580         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44581
44582 2009-07-22  Peter Simons  <simons@cryp.to>
44583
44584         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44585         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44586         * lib/md4.h: Likewise.
44587         * lib/md5.h: Likewise.
44588         * lib/sha1.h: Likewise.
44589         * lib/sha256.h: Likewise.
44590         * lib/sha512.h: Likewise.
44591
44592         tests-sha1: don't assign literal string to 'char *' variable
44593         * tests/test-sha1.c (main): Declare locals with "const" to match
44594         attributes of the right hand side.
44595
44596 2009-07-21  Eric Blake  <ebb9@byu.net>
44597
44598         dup2: fix more mingw problems
44599         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44600         fd to itself.
44601         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44602         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
44603         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
44604         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
44605         care of mingw bugs.
44606
44607 2009-07-21  Jim Meyering  <meyering@redhat.com>
44608
44609         vc-list-files: avoid failure when /bin/sh is dash
44610         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
44611         On some Debian based systems, /bin/sh is a symlink to dash, and running
44612         this command would omit the "/" following each 'tests' prefix:
44613           dash -x build-aux/vc-list-files -C . tests
44614         That is because bash and dash work differently:
44615           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
44616           bash ok
44617           dash odd
44618
44619 2009-07-21  Eric Blake  <ebb9@byu.net>
44620
44621         dup2-tests: test previous patch
44622         * modules/dup2-tests: New file.
44623         * tests/test-dup2.c: Likewise.
44624         * tests/test-open.c (main): Avoid unspecified behavior.
44625         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
44626         test.
44627
44628         dup2: work around mingw and cygwin 1.5 bug
44629         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
44630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44631         * modules/unistd (Makefile.am): Substitute it.
44632         * lib/unistd.in.h (dup2): Declare the replacement.
44633         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
44634         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
44635         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
44636         * modules/execute (Depends-on): Add dup2.
44637         * modules/fseterr (Depends-on): Likewise.
44638         * modules/pipe (Depends-on): Likewise.
44639         * modules/posix_spawn-internal (Depends-on): Likewise.
44640
44641 2009-07-21  Bruno Haible  <bruno@clisp.org>
44642
44643         * modules/.gitattributes: New file.
44644
44645 2009-07-20  Bruno Haible  <bruno@clisp.org>
44646
44647         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44648         (main): Use it.
44649
44650 2009-07-20  Eric Blake  <ebb9@byu.net>
44651
44652         test-pipe: make a bit more robust.
44653         * tests/test-pipe.c (myerr): Allow error messages regardless of
44654         what we do to stderr.
44655         (test_pipe): Rearrange to avoid deadlock.
44656         (child_main): Try a larger read, to ensure we avoided deadlock.
44657         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44658         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44659         if misused.
44660
44661 2009-07-19  Jim Meyering  <meyering@redhat.com>
44662
44663         fts: avoid false-positive cycle-detection
44664         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
44665         for each new command line argument.
44666
44667 2009-07-19  Bruno Haible  <bruno@clisp.org>
44668
44669         Fix build error on mingw with the modules sys_select and unistd.
44670         * modules/acl-tests (Depends-on): Add close.
44671         * modules/binary-io-tests (Depends-on): Likewise.
44672         * modules/closein-tests (Depends-on): Likewise.
44673         * modules/flock-tests (Depends-on): Likewise.
44674         * modules/fsync-tests (Depends-on): Likewise.
44675         * modules/lseek-tests (Depends-on): Likewise.
44676         * modules/pipe-tests (Depends-on): Likewise.
44677         * modules/posix_spawn-tests (Depends-on): Likewise.
44678         * modules/posix_spawnp-tests (Depends-on): Likewise.
44679         * modules/stat-time-tests (Depends-on): Likewise.
44680         * modules/yesno-tests (Depends-on): Likewise.
44681
44682 2009-07-19  Bruno Haible  <bruno@clisp.org>
44683
44684         Unify conditionals.
44685         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
44686         macros, not at the compiler macros.
44687         * lib/pipe.c: Likewise.
44688         * lib/execute.c: Likewise.
44689         * lib/spawni.c: Likewise.
44690
44691 2009-07-19  Bruno Haible  <bruno@clisp.org>
44692
44693         Fix handling of closed stdin/stdout/stderr on mingw.
44694         * lib/w32spawn.h: Include unistd.h.
44695         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
44696         file descriptor with O_NOINHERIT flag.
44697         (fd_safer_noinherit): New function, based on fd-safer.c.
44698         (dup_safer_noinherit): New function, based on dup-safer.c.
44699         (undup_safer_noinherit): New function.
44700         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
44701         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
44702         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
44703         instead of fd_safer.
44704         * tests/test-pipe.c: Include <windows.h>.
44705         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
44706         result.
44707
44708         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
44709         from main.
44710         (test_pipe): Pass an extra argument for disambiguation.
44711         (main): Invoke parent_main or child_main.
44712
44713         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
44714         consistently.
44715
44716 2009-07-18  Eric Blake  <ebb9@byu.net>
44717
44718         test-pipe: fix mingw build
44719         * tests/test-pipe.c (main): Avoid fcntl on mingw.
44720
44721 2009-07-18  Bruno Haible  <bruno@clisp.org>
44722
44723         * modules/pipe-tests (Makefile.am): Fix typo.
44724
44725 2009-07-18  Eric Blake  <ebb9@byu.net>
44726
44727         error: fix mingw build
44728         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
44729         Reported by Bruno Haible.
44730
44731         error: avoid undefined use of stdout
44732         * lib/error.c (error, error_at_line): Check that fd 1 is open
44733         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
44734         is handling faults and the close_stdout module wants to report the
44735         detection of closed stdout as an error.
44736
44737 2009-07-17  Eric Blake  <ebb9@byu.net>
44738
44739         pipe: be robust in face of closed fds
44740         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
44741         should cause child to misbehave.
44742         * modules/pipe-tests: New module.
44743         * tests/test-pipe.c: New file.
44744         * tests/test-pipe.sh: New file.
44745         Reported by Akim Demaille.
44746
44747 2009-07-14  Bruno Haible  <bruno@clisp.org>
44748
44749         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
44750         Reported by anonymous kc.
44751
44752 2009-07-07  Jim Meyering  <meyering@redhat.com>
44753
44754         maint.mk: don't look for translatable strings in *.m4 or *.mk
44755         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
44756         when searching for translatable strings.
44757
44758 2009-07-05  Jim Meyering  <meyering@redhat.com>
44759
44760         remove superfluous parentheses in STREQ definition
44761         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
44762         * lib/getugroups.c (STREQ): Likewise.
44763         * lib/fnmatch.c (STREQ): Likewise.
44764         Spotted by Bruno Haible.
44765
44766 2009-07-04  Jim Meyering  <meyering@redhat.com>
44767
44768         argv-iter: new module
44769         * MODULES.html.sh: Add argv-iter.
44770         * lib/argv-iter.c, lib/argv-iter.h: New files.
44771         * modules/argv-iter: New file.
44772         * modules/argv-iter-tests: New file.
44773         * tests/test-argv-iter.c: Test it.
44774
44775 2009-07-04  Bruno Haible  <bruno@clisp.org>
44776
44777         Fix assertion.
44778         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
44779         contains more exact copies of a given entry than file2, leave the extra
44780         copies unpaired rather than aborting.
44781         Reported by Eric Blake.
44782
44783 2009-07-02  Bruno Haible  <bruno@clisp.org>
44784
44785         Speedup git-merge-changelog for git cherry-pick.
44786         * lib/git-merge-changelog.c (struct entries_mapping): New type.
44787         (entries_mapping_get): New function, extracted from compute_mapping.
44788         (entries_mapping_reverse_get): New function.
44789         (compute_mapping): Add a 'full' argument. Return the result in a
44790         'struct entries_mapping'.
44791         (main): Update. Access the mappings through entries_mapping_get.
44792         Reported by Eric Blake.
44793
44794 2009-07-02  Bruno Haible  <bruno@clisp.org>
44795
44796         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
44797         best_i.
44798
44799 2009-07-02  Bruno Haible  <bruno@clisp.org>
44800
44801         Speed up approximate search for matching ChangeLog entries.
44802         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
44803         argument. Call fstrcmp_bounded instead of fstrcmp.
44804         (compute_mapping, try_split_merged_entry, main): Update callers.
44805
44806 2009-07-02  Bruno Haible  <bruno@clisp.org>
44807
44808         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
44809
44810 2009-06-30  Bruno Haible  <bruno@clisp.org>
44811
44812         Reduce the number of uc_is_cased calls.
44813         * lib/unicase.h (casing_suffix_context_t): Add
44814         'first_char_except_ignorable' field.
44815         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
44816         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
44817         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
44818         Update initializer.
44819         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
44820         case-ignorable characters.
44821         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
44822         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
44823         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
44824         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
44825         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
44826
44827 2009-06-30  Bruno Haible  <bruno@clisp.org>
44828
44829         Tests for module 'unicase/ignorable'.
44830         * modules/unicase/ignorable-tests: New file.
44831         * tests/unicase/test-ignorable.c: New file, generated by
44832         gen-uni-tables.
44833
44834         Tests for module 'unicase/cased'.
44835         * modules/unicase/cased-tests: New file.
44836         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
44837         * tests/unicase/test-predicate-part1.h: New file, derived from
44838         tests/unictype/test-predicate-part1.h.
44839         * tests/unicase/test-predicate-part2.h: New file, same as
44840         tests/unictype/test-predicate-part2.h.
44841
44842         Fix evaluation of "Before C" condition of FINAL_SIGMA.
44843         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
44844         (output_casing_properties): New function.
44845         (main): Call it.
44846         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
44847         * lib/unicase/cased.c: Include unictype/bitmap.h.
44848         (uc_is_cased): Define through a bitmap lookup.
44849         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
44850         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
44851         (uc_is_case_ignorable): Define through a bitmap lookup.
44852         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
44853         lib/unictype/bitmap.h.
44854         (Depends-on): Add inline. Clean up.
44855         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
44856         lib/unictype/bitmap.h.
44857         (Depends-on): Add inline. Clean up.
44858         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
44859         recognition.
44860         * tests/unicase/test-u16-tolower.c (main): Likewise.
44861         * tests/unicase/test-u32-tolower.c (main): Likewise.
44862
44863 2009-06-30  Bruno Haible  <bruno@clisp.org>
44864
44865         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
44866         * lib/unicase/u16-casemap.c: Likewise.
44867         * lib/unicase/u32-casemap.c: Likewise.
44868
44869 2009-06-29  Bruno Haible  <bruno@clisp.org>
44870
44871         Define u32_casefold as a wrapper around u32_ct_casefold.
44872         * lib/unicase/u32-casefold.c: Update.
44873         * modules/unicase/u32-casefold (Depends-on): Add
44874         unicase/u32-ct-casefold, unicase/empty-prefix-context,
44875         unicase/empty-suffix-context. Clean up.
44876
44877         Define u16_casefold as a wrapper around u16_ct_casefold.
44878         * lib/unicase/u16-casefold.c: Update.
44879         * modules/unicase/u16-casefold (Depends-on): Add
44880         unicase/u16-ct-casefold, unicase/empty-prefix-context,
44881         unicase/empty-suffix-context. Clean up.
44882
44883         Define u8_casefold as a wrapper around u8_ct_casefold.
44884         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
44885         * lib/unicase/u8-casefold.c: Update.
44886         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
44887         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44888
44889         Define u32_totitle as a wrapper around u32_ct_totitle.
44890         * lib/unicase/u32-totitle.c: Update.
44891         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
44892         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44893
44894         Define u16_totitle as a wrapper around u16_ct_totitle.
44895         * lib/unicase/u16-totitle.c: Update.
44896         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
44897         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44898
44899         Define u8_totitle as a wrapper around u8_ct_totitle.
44900         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
44901         functions.
44902         (FUNC): Delegate to U_CT_TOTITLE.
44903         * lib/unicase/u8-totitle.c: Update.
44904         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
44905         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44906
44907         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
44908         invocation.
44909         * modules/unicase/u32-tolower (Depends-on): Add
44910         unicase/empty-prefix-context, unicase/empty-suffix-context.
44911
44912         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
44913         invocation.
44914         * modules/unicase/u16-tolower (Depends-on): Add
44915         unicase/empty-prefix-context, unicase/empty-suffix-context.
44916
44917         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
44918         * modules/unicase/u8-tolower (Depends-on): Add
44919         unicase/empty-prefix-context, unicase/empty-suffix-context.
44920
44921         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
44922         invocation.
44923         * modules/unicase/u32-toupper (Depends-on): Add
44924         unicase/empty-prefix-context, unicase/empty-suffix-context.
44925
44926         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
44927         invocation.
44928         * modules/unicase/u16-toupper (Depends-on): Add
44929         unicase/empty-prefix-context, unicase/empty-suffix-context.
44930
44931         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
44932         * modules/unicase/u8-toupper (Depends-on): Add
44933         unicase/empty-prefix-context, unicase/empty-suffix-context.
44934
44935         New module 'unicase/u32-ct-casefold'.
44936         * lib/unicase/u32-ct-casefold.c: New file.
44937         * modules/unicase/u32-ct-casefold: New file.
44938
44939         New module 'unicase/u16-ct-casefold'.
44940         * lib/unicase/u16-ct-casefold.c: New file.
44941         * modules/unicase/u16-ct-casefold: New file.
44942
44943         New module 'unicase/u8-ct-casefold'.
44944         * lib/unicase/u8-ct-casefold.c: New file.
44945         * lib/unicase/u-ct-casefold.h: New file, derived from
44946         lib/unicase/u-casefold.h.
44947         * modules/unicase/u8-ct-casefold: New file.
44948
44949         New module 'unicase/u32-ct-totitle'.
44950         * lib/unicase/u32-ct-totitle.c: New file.
44951         * modules/unicase/u32-ct-totitle: New file.
44952
44953         New module 'unicase/u16-ct-totitle'.
44954         * lib/unicase/u16-ct-totitle.c: New file.
44955         * modules/unicase/u16-ct-totitle: New file.
44956
44957         New module 'unicase/u8-ct-totitle'.
44958         * lib/unicase/u8-ct-totitle.c: New file.
44959         * lib/unicase/u-ct-totitle.h: New file, derived from
44960         lib/unicase/u-totitle.h.
44961         * modules/unicase/u8-ct-totitle: New file.
44962
44963         New module 'unicase/u32-ct-tolower'.
44964         * lib/unicase/u32-ct-tolower.c: New file.
44965         * modules/unicase/u32-ct-tolower: New file.
44966
44967         New module 'unicase/u16-ct-tolower'.
44968         * lib/unicase/u16-ct-tolower.c: New file.
44969         * modules/unicase/u16-ct-tolower: New file.
44970
44971         New module 'unicase/u8-ct-tolower'.
44972         * lib/unicase/u8-ct-tolower.c: New file.
44973         * modules/unicase/u8-ct-tolower: New file.
44974
44975         New module 'unicase/u32-ct-toupper'.
44976         * lib/unicase/u32-ct-toupper.c: New file.
44977         * modules/unicase/u32-ct-toupper: New file.
44978
44979         New module 'unicase/u16-ct-toupper'.
44980         * lib/unicase/u16-ct-toupper.c: New file.
44981         * modules/unicase/u16-ct-toupper: New file.
44982
44983         New module 'unicase/u8-ct-toupper'.
44984         * lib/unicase/u8-ct-toupper.c: New file.
44985         * modules/unicase/u8-ct-toupper: New file.
44986
44987         Add context arguments to u*_casemap functions.
44988         * lib/unicase/unicasemap.h: Include unicase.h.
44989         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
44990         suffix_context arguments.
44991         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
44992         functions.
44993         (FUNC): Add prefix_context and suffix_context arguments. Use
44994         uc_is_cased and uc_is_case_ignorable.
44995         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
44996         * lib/unicase/u16-casemap.c: Likewise.
44997         * lib/unicase/u32-casemap.c: Likewise.
44998         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
44999         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45000         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
45001         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45002         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
45003         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45004
45005         New module 'unicase/u32-suffix-context'.
45006         * lib/unicase/u32-suffix-context.c: New file.
45007         * modules/unicase/u32-suffix-context: New file.
45008
45009         New module 'unicase/u16-suffix-context'.
45010         * lib/unicase/u16-suffix-context.c: New file.
45011         * modules/unicase/u16-suffix-context: New file.
45012
45013         New module 'unicase/u8-suffix-context'.
45014         * lib/unicase/u8-suffix-context.c: New file.
45015         * lib/unicase/u-suffix-context.h: New file.
45016         * modules/unicase/u8-suffix-context: New file.
45017
45018         New module 'unicase/empty-suffix-context'.
45019         * lib/unicase/empty-suffix-context.c: New file.
45020         * modules/unicase/empty-suffix-context: New file.
45021
45022         New module 'unicase/u32-prefix-context'.
45023         * lib/unicase/u32-prefix-context.c: New file.
45024         * modules/unicase/u32-prefix-context: New file.
45025
45026         New module 'unicase/u16-prefix-context'.
45027         * lib/unicase/u16-prefix-context.c: New file.
45028         * modules/unicase/u16-prefix-context: New file.
45029
45030         New module 'unicase/u8-prefix-context'.
45031         * lib/unicase/u8-prefix-context.c: New file.
45032         * lib/unicase/u-prefix-context.h: New file.
45033         * lib/unicase/context.h: New file.
45034         * modules/unicase/u8-prefix-context: New file.
45035
45036         New module 'unicase/empty-prefix-context'.
45037         * lib/unicase/empty-prefix-context.c: New file.
45038         * modules/unicase/empty-prefix-context: New file.
45039
45040         New module 'unicase/ignorable'.
45041         * lib/unicase/ignorable.c: New file.
45042         * modules/unicase/ignorable: New file.
45043
45044         New module 'unicase/cased'.
45045         * lib/unicase/caseprop.h: New file.
45046         * lib/unicase/cased.c: New file.
45047         * modules/unicase/cased: New file.
45048
45049         New functions for case mapping of substrings.
45050         * lib/unicase.h (casing_prefix_context_t): New type.
45051         (unicase_empty_prefix_context): New variable.
45052         (u8_casing_prefix_context, u16_casing_prefix_context,
45053         u32_casing_prefix_context, u8_casing_prefixes_context,
45054         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45055         declarations.
45056         (casing_suffix_context_t): New type.
45057         (unicase_empty_suffix_context): New variable.
45058         (u8_casing_suffix_context, u16_casing_suffix_context,
45059         u32_casing_suffix_context, u8_casing_suffixes_context,
45060         u16_casing_suffixes_context, u32_casing_suffixes_context,
45061         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45062         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45063         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
45064         declarations.
45065
45066 2009-06-28  Jim Meyering  <meyering@redhat.com>
45067
45068         boostrap: indent only with spaces
45069         * build-aux/bootstrap: Indent only with spaces, never TABs.
45070
45071         bootstrap: split long lines
45072         * build-aux/bootstrap: Keep line length < 80.
45073
45074         bootstrap: sync from coreutils
45075         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
45076         just as autoreconf does.  Verify a list of prerequisite
45077         package-name,version-number pairs if defined in bootstrap.conf.
45078         Refer to README-prereq, if prerequisites are not satisfied.
45079
45080 2009-06-27  Eric Blake  <ebb9@byu.net>
45081
45082         tests: add test for bogus NULL definition
45083         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
45084         * tests/test-stdlib.c: Likewise.
45085         * tests/test-string.c: Likewise.
45086         * tests/test-locale.c: Likewise.
45087         * tests/test-unistd.c: Likewise.
45088         * modules/stdio-tests (Depends-on): Add verify.
45089         * modules/stdlib-tests (Depends-on): Likewise.
45090         * modules/string-tests (Depends-on): Likewise.
45091         * modules/locale-tests (Depends-on): Likewise.
45092         * modules/unistd-tests (Depends-on): Likewise.
45093
45094 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
45095
45096         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
45097         self-explaining comment.
45098         * m4/selinux-selinux-h: Update serial.
45099         (gl_LIBSELINUX): New macro, adding a warning for missing development
45100         packages to code extracted from...
45101         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
45102         Add warning for missing development packages here, too.
45103
45104 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
45105
45106         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
45107
45108 2009-06-25  Eric Blake  <ebb9@byu.net>
45109
45110         version-etc: fix regression
45111         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
45112         gcc.
45113         (version_etc): Use it, to catch bugs with trailing NULL.
45114         * lib/version-etc.c (version_etc_arn): Delete unused argument.
45115         (version_etc_va): Fix logic bug.
45116         * modules/version-etc-tests: Add test.
45117         * tests/test-version-etc.c: New file.
45118         * tests/test-version-etc.sh: Likewise.
45119
45120 2009-06-25  Sam Steingold  <sds@gnu.org>
45121
45122         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
45123         mbtowc declaration.
45124
45125 2009-06-25  Eric Blake  <ebb9@byu.net>
45126
45127         fpurge: migrate into <stdio.h>
45128         * lib/fpurge.h: Delete...
45129         * lib/stdio.in.h (fpurge): ...and declare here, instead.
45130         * lib/fpurge.c (fpurge): Change declaring header.
45131         * modules/fpurge (Files): Drop deleted file.
45132         (Depends-on): Add stdio.
45133         (configure.ac): Set witness.
45134         * modules/stdio (Makefile.am): Support fpurge macros.
45135         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45136         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
45137         * lib/fflush.c: Update client.
45138         * tests/test-fpurge.c: Likewise.
45139         * NEWS: Mention the change.
45140
45141 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45142
45143         * lib/argp-version-etc.c (program_authors): Add const
45144         qualifier.
45145         * lib/version-etc.c: Fix typos in the comments.
45146         * modules/argp-version-etc: Depends on version-etc.
45147
45148 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45149
45150         argp-version-etc: new module.
45151
45152         * lib/argp-version-etc.c: New file.
45153         * lib/argp-version-etc.h: New file.
45154         * modules/argp-version-etc: New file.
45155         * modules/argp-version-etc-tests: New file.
45156         * tests/test-argp-version-etc.c: New test.
45157         * tests/test-argp-version-etc-1.sh: New test.
45158
45159 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45160
45161         Provide additional interfaces and documentation for version-etc
45162         module.
45163
45164         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
45165         interfaces.
45166         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
45167         prototypes.
45168
45169 2009-06-24  Bruno Haible  <bruno@clisp.org>
45170
45171         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
45172         HAVE_LIB${NAME} macro.
45173         Reported by Sam Steingold <sds@gnu.org>.
45174
45175 2009-06-23  Simon Josefsson  <simon@josefsson.org>
45176
45177         * modules/hash-tests (test_hash_LDADD): Link to libintl when
45178         needed.
45179
45180 2009-06-21  Bruno Haible  <bruno@clisp.org>
45181
45182         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
45183         work.
45184         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
45185         together with LIB${NAME}, LTLIB${NAME}.
45186         Reported by Sam Steingold <sds@gnu.org>.
45187
45188 2009-06-20  Jim Meyering  <meyering@redhat.com>
45189
45190         tests: make sc_require_test_exit_idiom more generic
45191         * top/maint.mk (Exit_witness_file): New overridable variable.
45192         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
45193         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
45194
45195 2009-06-19  Jim Meyering  <meyering@redhat.com>
45196
45197         hash: reverse order of src/dst parameters in an internal interface
45198         * lib/hash.c (transfer_entries): Reverse order of parameters to
45199         put DST before SRC.  Adjust callers.
45200
45201         tests: test-hash: avoid wholesale duplication
45202         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
45203         Instead, use a loop and add a single conditional.
45204
45205         tests: test-hash: allow seed selection via a command line argument
45206         * tests/test-hash.c (get_seed): New function.
45207         (main): Use it.
45208
45209 2009-06-19  Eric Blake  <ebb9@byu.net>
45210
45211         hash: avoid memory leak on allocation failure
45212         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
45213         failure.  Factor repeated algorithm...
45214         (transfer_entries): ...into new helper routine.
45215         (hash_delete): React to hash_rehash return value.
45216
45217         hash: reduce memory pressure in hash_rehash no-op case
45218         * lib/hash.c (next_prime): Avoid overflow.
45219         (hash_initialize): Factor bucket size computation...
45220         (compute_bucket_size): ...into new helper function.
45221         (hash_rehash): Use new function and open coding to reduce memory
45222         pressure, and avoid a memory leak in USE_OBSTACK code.
45223         Reported by Jim Meyering.
45224
45225 2009-06-18  Eric Blake  <ebb9@byu.net>
45226
45227         hash: make rotation more obvious
45228         * modules/hash (Depends-on): Add bitrotate and stdint.
45229         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
45230         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
45231         (SIZE_MAX): Rely on headers for definition.
45232         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
45233         (raw_hasher): Use rotr_sz.
45234         Suggested by Jim Meyering.
45235
45236         hash: fix memory leak in last patch
45237         * lib/hash.c (hash_rehash): Avoid memory leak.
45238
45239         hash: avoid no-op rehashing
45240         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
45241
45242         hash: provide default callback functions
45243         * lib/hash.c (raw_hasher, raw_comparator): New functions.
45244         (hash_initialize): Use them as defaults.
45245         * tests/test-hash.c (main): Test this.
45246
45247         hash: minor optimization
45248         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
45249         when possible.
45250         (hash_initialize): Document this promise.
45251         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
45252         * tests/test-hash.c (hash_compare_strings): Test this.
45253
45254 2009-06-18  Bruno Haible  <bruno@clisp.org>
45255
45256         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
45257         going to be replaced anyway.
45258
45259 2009-06-18  Bruno Haible  <bruno@clisp.org>
45260
45261         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
45262         in one place.
45263         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
45264         be replaced anyway.
45265
45266 2009-06-18  Eric Blake  <ebb9@byu.net>
45267
45268         hash: check for resize before insertion
45269         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
45270         threshold before insertion, so that a pathological hash_rehash
45271         that fills every bucket can still trigger another rehash.
45272
45273 2009-06-18  Jim Meyering  <meyering@redhat.com>
45274
45275         hash-tests: add a loop around the small tests
45276         * tests/test-hash.c (main): Repeat small tests with selected
45277         small initial table sizes.
45278
45279 2009-06-17  Eric Blake  <ebb9@byu.net>
45280
45281         hash: minor cleanups
45282         * lib/hash.h (hash_entry): Make opaque, by moving...
45283         * lib/hash.c (hash_entry): ...here.
45284         (hash_insert): Clarify restrictions on what can be inserted.
45285         (hash_get_next): Clarify when it is safe to remove an element
45286         during traversal.
45287         (check_tuning): Skip verification when tuning is known safe.
45288         (hash_initialize): Clarify restrictions on tuning.
45289
45290 2009-06-17  Jim Meyering  <jim@meyering.net>
45291         and Eric Blake  <ebb9@byu.net>
45292
45293         hash-tests: new module
45294         * modules/hash-tests: New file.
45295         * tests/test-hash.c: New file.
45296
45297 2009-06-17  Eric Blake  <ebb9@byu.net>
45298
45299         strstr-simple: document new module
45300         * MODULES.html.sh: Document new module.
45301
45302         strstr, strcasestr: replace on platforms with broken memchr
45303         * modules/strstr: Split into...
45304         * modules/strstr-simple: ...new module that does not care about
45305         performance, but does care about glibc bug.
45306         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
45307         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
45308         if platform memchr is broken, per Debian bug 521737.
45309         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
45310         memchr.
45311         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
45312         * doc/posix-functions/strstr.texi (strstr): Document the fix.
45313         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45314         * modules/mountlist (Depends-on): Add strstr-simple.
45315         * modules/gen-uni-tables (Depends-on): Likewise.
45316         * modules/argz (Depends-on): Add strstr.
45317
45318 2009-06-17  Bruno Haible  <bruno@clisp.org>
45319
45320         * modules/posix_spawn-internal (Depends-on): Add errno.
45321
45322 2009-06-17  Bruno Haible  <bruno@clisp.org>
45323
45324         Define missing ESTALE on Interix 3.5.
45325         * lib/errno.in.h (ESTALE): Assign a value if missing.
45326         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
45327         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
45328         missing.
45329         * doc/posix-headers/errno.texi: Mention the Interix bug.
45330         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
45331
45332 2009-06-15  Eric Blake  <ebb9@byu.net>
45333
45334         memchr, memchr2: add valgrind exception
45335         * lib/memchr.valgrind: New file.
45336         * lib/memchr2.valgrind: New file.
45337         * modules/memchr (Files): Distribute valgrind file.
45338         * modules/memchr2 (Files): Likewise.
45339
45340         docs: memchr is no longer obsolete
45341         * MODULES.html.sh: Move memchr from obsolete to string.h section.
45342         * lib/string.in.h (memchr): Simplify logic.
45343
45344 2009-06-14  Jim Meyering  <meyering@redhat.com>
45345
45346         link-follow: fix the "checking..." message to not mention trailing slash
45347         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
45348         never considered trailing slashes.
45349
45350 2009-06-14  Bruno Haible  <bruno@clisp.org>
45351
45352         * m4/memchr.m4: Mention also the bug on IA-64.
45353         * doc/posix-functions/memchr.texi: Likewise.
45354
45355 2009-06-12  Eric Blake  <ebb9@byu.net>
45356
45357         memchr: detect broken x86_64 and alpha implementations
45358         * modules/memchr-tests (Depends-on): Move mmap detection...
45359         * modules/memchr (Depends-on): ...here.
45360         (configure.ac): Set indicator.
45361         * lib/string.in.h (memchr): Declare replacement.
45362         * modules/string (Makefile.am): Trigger replacement.
45363         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45364         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
45365         bugs.
45366         * doc/posix-functions/memchr.texi (memchr): Document the bug.
45367         * modules/getpagesize (License): Relax license.
45368
45369 2009-06-11  Bruno Haible  <bruno@clisp.org>
45370
45371         * lib/idpriv.h: Add more references.
45372
45373 2009-06-08  Bruno Haible  <bruno@clisp.org>
45374
45375         Tests for module 'idpriv-droptemp'.
45376         * modules/idpriv-droptemp-tests: New file.
45377         * tests/test-idpriv-droptemp.sh: New file.
45378         * tests/test-idpriv-droptemp.su.sh: New file.
45379         * tests/test-idpriv-droptemp.c: New file.
45380
45381         New module 'idpriv-droptemp'.
45382         * lib/idpriv-droptemp.c: New file.
45383         * modules/idpriv-droptemp: New file.
45384
45385 2009-06-08  Bruno Haible  <bruno@clisp.org>
45386
45387         Tests for module 'idpriv-drop'.
45388         * modules/idpriv-drop-tests: New file.
45389         * tests/test-idpriv-drop.sh: New file.
45390         * tests/test-idpriv-drop.su.sh: New file.
45391         * tests/test-idpriv-drop.c: New file.
45392
45393         New module 'idpriv-drop'.
45394         * lib/idpriv.h: New file.
45395         * lib-idpriv-drop.c: New file.
45396         * m4/idpriv.m4: New file.
45397         * modules/idpriv-drop: New file.
45398
45399 2009-06-08  Bruno Haible  <bruno@clisp.org>
45400
45401         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
45402         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45403         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45404         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45405         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45406         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45407         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45408
45409 2009-06-08  Eric Blake  <ebb9@byu.net>
45410
45411         test-strstr: use memory fence, when possible
45412         * tests/test-strstr.c (main): Use memory fence, in order to be
45413         more likely to trigger Debian bug 521737.
45414         * modules/strstr-tests (Files): Pull in additional files.
45415
45416         memchr: no longer obsolete, for wider field testing
45417         * modules/memchr (Status, Notice): Delete, this module is no
45418         longer obsolete.
45419         * modules/vasnprintf (Depends-on): Add memchr.
45420
45421 2009-06-07  Jim Meyering  <meyering@redhat.com>
45422
45423         hash: declare some functions with the warn_unused_result attribute
45424         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
45425
45426 2009-06-07  Bruno Haible  <bruno@clisp.org>
45427
45428         * tests/test-alignof.c: Don't test int64_t if it does not exist.
45429         Reported by Eric Blake.
45430
45431 2009-06-06  Eric Blake  <ebb9@byu.net>
45432
45433         test-alignof: fix typo with long double
45434         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45435         compiler error.
45436
45437 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45438
45439         Escape non-texinfo { and }s.
45440         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45441         markup error.
45442
45443 2009-06-04  Jim Meyering  <meyering@redhat.com>
45444
45445         gitlog-to-changelog: don't infloop on an empty commit log
45446         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45447         Reported by Boris Petersen <transacid@centerim.org>.
45448
45449 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45450
45451         version-etc: extend for packagers
45452         Add three new configure options, intended for packagers:
45453           --with-packager="packager name"
45454           --with-packager-version="packager-specific version"
45455           --with-packager-bug-reports="packager bug reporting"
45456         An example with coreutils:
45457           $ ./configure \
45458             --with-packager=Gentoo \
45459             --with-packager-bug-report=http://bugs.gentoo.org/ \
45460             --with-packager-version="patchset 1.6"
45461           $ ./src/ls --version | head -n2
45462           ls (GNU coreutils) 7.1-dirty
45463           Packaged by Gentoo (patchset 1.6)
45464         Note that the bug reporting info via --help doesn't show up because
45465         coreutils uses its own custom emit_bug_reporting_address() implementation
45466         in src/system.h.  If it didn't, it'd look like:
45467           $ ./src/ls --help | tail -n4
45468           Report bugs to <bug-coreutils@gnu.org>.
45469           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45470           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45471           General help using GNU software: <http://www.gnu.org/gethelp/>.
45472         * lib/version-etc.c: Print new information, if provided.
45473         * m4/version-etc.m4: New file.
45474         * modules/version-etc (Files): Add m4/version-etc.m4.
45475         (configure.ac): Add gl_VERSION_ETC.
45476
45477 2009-05-31  Bruno Haible  <bruno@clisp.org>
45478
45479         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45480         and 'int64_t'.
45481         * modules/alignof-tests (Dependencies): Add stdint.
45482         Reported by Eric Blake.
45483
45484 2009-05-31  Bruno Haible  <bruno@clisp.org>
45485
45486         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45487         restriction due to compiler bugs.
45488         Reported by Eric Blake.
45489
45490 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45491             Bruno Haible  <bruno@clisp.org>
45492
45493         Fix test-alignof failure.
45494         * lib/alignof.h (alignof_slot): New macro.
45495         (alignof_type): New macro, with the same semantics as the previous
45496         'alignof'.
45497         (alignof): Alias to alignof_slot.
45498         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45499         check that the results are usable as constant expressions.
45500
45501 2009-05-31  Bruno Haible  <bruno@clisp.org>
45502
45503         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45504         * tests/test-memchr.c (main): Check that memchr does not read past the
45505         first occurrence of the byte.
45506         * tests/test-strstr.c (main): Update comment.
45507         Suggested by Eric Blake.
45508
45509 2009-05-30  Bruno Haible  <bruno@clisp.org>
45510
45511         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45512         detail how to use dumpbin.
45513         Reported by David Byron <dbyron@dbyron.com>.
45514
45515 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45516
45517         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45518
45519 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45520
45521         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45522
45523 2009-05-28  Bruno Haible  <bruno@clisp.org>
45524
45525         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45526         build-aux/ files.
45527
45528 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45529
45530         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45531
45532 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45533
45534         * gnulib-tool (sed_transform_main_lib_file)
45535         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45536         regexps.
45537
45538 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45539
45540         * tests/test-strstr.c: Add another self-test.
45541         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45542         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45543
45544 2009-05-23  Bruno Haible  <bruno@clisp.org>
45545
45546         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45547         change.
45548
45549 2009-05-21  Bruno Haible  <bruno@clisp.org>
45550
45551         Simplify use of mode_t varargs.
45552         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45553         uses 'mode_t' or 'int'.
45554         * lib/openat.c (openat): Likewise.
45555         * lib/open-safer.c (open_safer): Likewise.
45556         * m4/mode_t.m4: New file.
45557         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45558         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45559         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45560         * modules/open (Files): Add m4/mode_t.m4.
45561         * modules/openat (Files): Likewise.
45562         * modules/fcntl-safer (Files): Likewise.
45563         Suggested by Eric Blake.
45564
45565 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45566
45567         * doc/glibc-functions/fallocate.texi: New file.
45568         * doc/gnulib.texi: Include it.
45569
45570 2009-05-21  Eric Blake  <ebb9@byu.net>
45571             Bruno Haible  <bruno@clisp.org>
45572
45573         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45574         invocations.
45575         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45576
45577 2009-05-21  Eric Blake  <ebb9@byu.net>
45578             Bruno Haible  <bruno@clisp.org>
45579
45580         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45581         include_next. Fix of 2008-11-20 commit.
45582         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45583         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45584         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45585         NEXT_MATH_H.
45586         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45587         instead of NEXT_MATH_H.
45588
45589 2009-05-21  Bruno Haible  <bruno@clisp.org>
45590
45591         Avoid redefinition warnings for SIZE_MAX.
45592         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45593         Reported by Simon Josefsson.
45594
45595 2009-05-21  Bruno Haible  <bruno@clisp.org>
45596
45597         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45598         AC_CACHE_VAL.
45599
45600 2009-05-20  Bruno Haible  <bruno@clisp.org>
45601
45602         Make zeroptr.h work on mingw.
45603         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
45604         mprotect.
45605         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
45606         * modules/memchr2-tests (configure.ac): Likewise.
45607         * modules/memcmp-tests (configure.ac): Likewise.
45608         * modules/memmem-tests (configure.ac): Likewise.
45609         * modules/memrchr-tests (configure.ac): Likewise.
45610         Reported by Simon Josefsson.
45611
45612 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45613
45614         * tests/test-glob.c: Include string.h for strcmp prototype.
45615
45616 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45617
45618         * modules/getdelim (Depends-on): Add explicit stdint, although it
45619         was implicitly already pulled in via realloc-posix.
45620         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
45621
45622 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45623
45624         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
45625         G. Christensen" <tgc@jupiterrise.com>.
45626         * m4/sys_socket_h.m4: Check for sa_family_t.
45627         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
45628         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
45629         * tests/test-sys_socket.c: Check that sa_family_t works.
45630
45631 2009-05-18  Eric Blake  <ebb9@byu.net>
45632
45633         maint.mk: allow gnulib_dir in VPATH build
45634         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
45635
45636 2009-05-15  Jim Meyering  <meyering@redhat.com>
45637
45638         maint.mk: Give gnulib_dir a default definition.
45639         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
45640         Thus, most packages no longer need to specify this variable in cfg.mk
45641
45642 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45643
45644         rename.m4: fix typos that would make non-mingw cross-configure fail
45645         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45646
45647 2009-05-13  Eric Blake  <ebb9@byu.net>
45648
45649         mmap-anon: avoid out-of-order autoconf expansion
45650         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45651         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45652         * modules/memchr-tests (Depends-on): Add extensions.
45653         * modules/memchr2-tests (Depends-on): Add extensions.
45654         * modules/memcmp-tests (Depends-on): Add extensions.
45655         * modules/memmem-tests (Depends-on): Add extensions.
45656         * modules/memrchr-tests (Depends-on): Add extensions.
45657
45658 2009-05-13  Bruno Haible  <bruno@clisp.org>
45659
45660         Make some tests ISO C 99 compliant.
45661         * tests/zerosize-ptr.h: New file.
45662         * tests/test-memchr.c: Include zerosize-ptr.h.
45663         (main): Use a zero-size object pointer instead of NULL.
45664         * tests/test-memchr2.c: Include zerosize-ptr.h.
45665         (main): Use a zero-size object pointer instead of NULL.
45666         * tests/test-memcmp.c: Include zerosize-ptr.h.
45667         (main): Use a zero-size object pointer instead of NULL.
45668         * tests/test-memmem.c: Include zerosize-ptr.h.
45669         (main): Use a zero-size object pointer instead of NULL.
45670         * tests/test-memrchr.c: Include zerosize-ptr.h.
45671         (main): Use a zero-size object pointer instead of NULL.
45672         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
45673         m4/mmap-anon.m4.
45674         (Depends-on): Add getpagesize.
45675         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45676         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
45677         m4/mmap-anon.m4.
45678         (Depends-on): Add getpagesize.
45679         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45680         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
45681         m4/mmap-anon.m4.
45682         (Depends-on): Add getpagesize.
45683         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45684         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
45685         m4/mmap-anon.m4.
45686         (Depends-on): Add getpagesize.
45687         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45688         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
45689         m4/mmap-anon.m4.
45690         (Depends-on): Add getpagesize.
45691         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45692
45693 2009-05-12  Bruno Haible  <bruno@clisp.org>
45694
45695         Tests for module 'alignof'.
45696         * modules/alignof-tests: New file.
45697         * tests/test-alignof.c: New file.
45698
45699 2009-05-12  Bruno Haible  <bruno@clisp.org>
45700
45701         Fix alignof macro.
45702         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
45703         vendor compilers that are always correct.
45704
45705 2009-05-12  Bruno Haible  <bruno@clisp.org>
45706
45707         Make the MAP_ANONYMOUS detection work on HP-UX 11.
45708         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
45709         not whether its fully works.
45710
45711 2009-05-12  Bruno Haible  <bruno@clisp.org>
45712
45713         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
45714
45715 2009-05-12  Jim Meyering  <meyering@redhat.com>
45716
45717         * top/maint.mk: Adjust backslash alignment.
45718
45719 2009-05-11  Simon Josefsson  <simon@josefsson.org>
45720
45721         * top/maint.mk: Make $(srcdir)/build-aux configurable.
45722
45723 2009-05-11  Eric Blake  <ebb9@byu.net>
45724
45725         argp: avoid undefined behavior
45726         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
45727         macros.
45728
45729 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45730
45731         * tests/test-vc-list-files-git.sh: Do git config of user.email and
45732         user.name to prevent git commit from complaining.
45733
45734 2009-05-10  Bruno Haible  <bruno@clisp.org>
45735
45736         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
45737         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
45738         it rewrites every file name only once.
45739         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
45740
45741 2009-05-08  Bruno Haible  <bruno@clisp.org>
45742
45743         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
45744         instead of 'max'.
45745
45746 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45747
45748         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
45749         sockaddr_storage test.
45750
45751 2009-05-07  Simon Josefsson  <simon@josefsson.org>
45752
45753         * modules/sys_socket (Makefile.am): Substitute
45754         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
45755         * m4/sys_socket_h.m4: Check for sockaddr_storage.
45756         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
45757         * tests/test-sys_socket.c: Check sockaddr_storage.
45758
45759 2009-05-08  Bruno Haible  <bruno@clisp.org>
45760
45761         New module 'alignof'.
45762         * lib/alignof.h: New file.
45763         * modules/alignof: New file.
45764
45765 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45766             Bruno Haible  <bruno@clisp.org>
45767
45768         Fix test-file-has-acl on FreeBSD.
45769         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
45770         mask is implicitly added.
45771         * tests/test-file-has-acl.c: Include <signal.h>.
45772         (main): Terminate the test after 5 seconds.
45773         * modules/acl-tests (configure.ac): Check for alarm function.
45774
45775 2009-05-04  Bruno Haible  <bruno@clisp.org>
45776
45777         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
45778         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
45779         * modules/errno (configure.ac): Drop AC_REQUIRE.
45780         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
45781         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
45782
45783 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45784
45785         * modules/glob-tests: New module.
45786         * tests/test-glob.c: Add.
45787
45788 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45789
45790         * modules/fnmatch-tests: New module.
45791         * tests/test-fnmatch.c: Add.
45792
45793 2009-05-04  Eric Blake  <ebb9@byu.net>
45794
45795         maint: make the new no-submodule-changes rule VPATH-safe
45796         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
45797
45798 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45799             Bruno Haible  <bruno@clisp.org>
45800
45801         acl: Fix infinite loop on FreeBSD.
45802         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
45803         of return value from acl_get_entry.
45804         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
45805         Likewise.
45806
45807 2009-05-03  Bruno Haible  <bruno@clisp.org>
45808
45809         * lib/acl-internal.h (acl_entries): Clarify return value.
45810         * lib/acl_entries.c (acl_entries): Likewise.
45811
45812 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45813
45814         Bug fix in acl module.
45815         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
45816
45817 2009-05-03  Bruno Haible  <bruno@clisp.org>
45818
45819         Create gperf-generated file in the source dir, not in the build dir.
45820         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
45821         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
45822         * modules/unicase/locale-language (unicase/locale-languages.h):
45823         Likewise.
45824         * modules/unicase/special-casing (unicase/special-casing-table.h):
45825         Likewise.
45826         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
45827         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
45828         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
45829         Reported by Ralf Wildenhues.
45830
45831 2009-05-03  Bruno Haible  <bruno@clisp.org>
45832
45833         * modules/fnmatch (Description, configure.ac): Taken from
45834         fnmatch-posix.
45835         * modules/fnmatch-posix: Turn into a symbolic reference to the
45836         'fnmatch' module, and deprecate.
45837         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
45838
45839 2009-05-03  Bruno Haible  <bruno@clisp.org>
45840
45841         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
45842         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
45843         Reported by Ralf Wildenhues.
45844
45845 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45846
45847         * m4/fnmatch.m4: Fix fnmatch re-define.
45848
45849 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45850
45851         priv-set: new module and tests; adapt write-any-file
45852         * lib/priv-set.c: New file.
45853         * lib/priv-set.h: New file.
45854         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
45855         * lib/write-any-file.c: Simplify by using priv-set module.
45856         * m4/priv-set.m4: New file.
45857         * modules/priv-set: New file.
45858         * modules/unlinkdir: Add dependency on priv-set module.
45859         * modules/write-any-file: Likewise.
45860
45861         Tests for module 'priv-set'.
45862         * modules/priv-set-tests: New file.
45863         * tests/test-priv-set.c: New file.
45864
45865 2009-05-03  Jim Meyering  <meyering@redhat.com>
45866             Bruno Haible  <bruno@clisp.org>
45867
45868         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
45869         use the converted UTF-8 variant of the name instead.
45870
45871 2009-05-03  Jim Meyering  <meyering@redhat.com>
45872
45873         tests: tighten some getdate tests
45874         * tests/test-getdate.c (main): Tighten tests: require equality,
45875         not just greater than.  Set TZ envvar to UTC0.
45876
45877 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
45878
45879         getdate: correctly interpret "next monday" when run on a Monday
45880         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
45881         that e.g., "next tues" (when run on a tuesday) results in a date
45882         that is one week in the future, and not today's date.
45883         I.e., add a week when the wday is the same as the current one.
45884         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
45885         and earlier by Martin Bernreuther and Jan Minář.
45886         * tests/test-getdate.c (main): Check that "next DAY" is always in
45887         the future and that "last DAY" is always in the past.
45888
45889 2009-05-02  Jim Meyering  <meyering@redhat.com>
45890
45891         build: ensure that a release build fails when a submodule is unclean
45892         * top/maint.mk (no-submodule-changes): New rule.
45893         (alpha beta major): Depend on it.
45894
45895 2009-05-02  Bruno Haible  <bruno@clisp.org>
45896
45897         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
45898         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
45899         shell variable gl_fnmatch_required to detect which variant is
45900         requested.
45901         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
45902         gl_FUNC_FNMATCH_POSIX.
45903         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
45904         exclude fnmatch-posix.
45905
45906 2009-05-02  Bruno Haible  <bruno@clisp.org>
45907
45908         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
45909         * modules/mbsrtowcs (License): Change to LGPLv2+.
45910         * modules/strnlen1 (License): Likewise.
45911         Reported by Simon Josefsson.
45912
45913 2009-05-02  Bruno Haible  <bruno@clisp.org>
45914
45915         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
45916         "cross".
45917         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
45918         gnulib-tool was called with option --source-base=lib.
45919
45920 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45921
45922         Use automake *-local hooks without commands, for extensibility.
45923         * modules/localcharset (Makefile.am): Rename install-exec-local
45924         rule to install-exec-localcharset, and make it a prerequisite of
45925         install-exec-local.  Likewise, rename the uninstall-local rule to
45926         uninstall-localcharset, and make it a prerequisite of the former.
45927
45928 2009-05-01  Bruno Haible  <bruno@clisp.org>
45929
45930         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
45931         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45932         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
45933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
45934         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
45935         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45936         m4/locale-zh.m4, m4/codeset.m4.
45937
45938         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45939         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
45940         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45941         m4/locale-zh.m4.
45942
45943         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
45944         REPLACE_WCRTOMB if mbstate_t must be replaced.
45945         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
45946         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
45947
45948 2009-05-01  Bruno Haible  <bruno@clisp.org>
45949
45950         Avoid compiler warnings when redefining macros defined by <libintl.h>.
45951         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
45952         dngettext, dcngettext, textdomain, bindtextdomain,
45953         bind_textdomain_codeset): Undefine before redefining.
45954
45955 2009-04-30  Bruno Haible  <bruno@clisp.org>
45956
45957         Fix bug introduced on 2009-04-25.
45958         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
45959         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
45960         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
45961         is defined.
45962         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
45963         is defined.
45964         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
45965         is defined.
45966         Reported by Elbert_Pol <elbert.pol@gmail.com>.
45967
45968 2009-04-28  Bruno Haible  <bruno@clisp.org>
45969
45970         Comment tweaks.
45971         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
45972         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
45973         * lib/unicase.h (u*_casexfrm): Likewise.
45974         Reported by Paolo Bonzini.
45975
45976 2009-04-28  Bruno Haible  <bruno@clisp.org>
45977
45978         Fix a compilation error.
45979         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
45980         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45981         Reported by Jim Meyering.
45982
45983 2009-04-27  Bruno Haible  <bruno@clisp.org>
45984
45985         New module 'libunistring'.
45986         * modules/libunistring: New file.
45987         * m4/libunistring.m4: New file.
45988         * MODULES.html.sh (Unicode string functions): Add it.
45989
45990 2009-04-27  Eric Blake  <ebb9@byu.net>
45991
45992         maint.mk: allow package-specific header to provide <config.h>
45993         * top/maint.mk (sc_require_config_h): New variable.
45994         (sc_require_config_h, sc_require_config_h_first): Use it.
45995
45996 2009-04-27  Simon Josefsson  <simon@josefsson.org>
45997
45998         * top/maint.mk (sc_avoid_if_before_free): Except
45999         useless-if-before-free script.
46000
46001 2009-04-27  Eric Blake  <ebb9@byu.net>
46002
46003         maintainer-makefile: depend on all required helper scripts
46004         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
46005         useless-if-before-free.
46006         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46007         version, rather than assuming gnulib checkout is available.
46008         Reported by Simen Josefsson.
46009
46010 2009-04-26  Bruno Haible  <bruno@clisp.org>
46011
46012         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46013         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46014         "../" or "..".
46015
46016 2009-04-26  Bruno Haible  <bruno@clisp.org>
46017
46018         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46019         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46020         AC_LIB_HAVE_LINKFLAGS.
46021
46022 2009-04-26  Bruno Haible  <bruno@clisp.org>
46023
46024         Simplify calling convention of u*_conv_from_encoding.
46025         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46026         u32_conv_from_encoding): Expect a resultbuf argument and return the
46027         result directly as a pointer.
46028         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46029         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46030         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46031         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46032         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46033         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46034         Update.
46035         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46036         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46037         * lib/vasnprintf.c (VASNPRINTF): Update.
46038         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46039         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46040         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46041         * NEWS: Mention the change.
46042
46043 2009-04-26  Bruno Haible  <bruno@clisp.org>
46044
46045         Simplify calling convention of u*_conv_to_encoding.
46046         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46047         u32_conv_to_encoding): Expect a resultbuf argument and return the
46048         result directly as a pointer.
46049         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46050         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46051         freeing scaled_offsets if mem_iconveha failed.
46052         * lib/unicase/u-casexfrm.h (FUNC): Update.
46053         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46054         * lib/vasnprintf.c (VASNPRINTF): Update.
46055         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46056         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46057         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46058         * NEWS: Mention the change.
46059
46060 2009-04-26  Bruno Haible  <bruno@clisp.org>
46061
46062         Avoid test failures on AIX and OSF/1.
46063         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
46064         malloc(0).
46065         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46066         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46067         Likewise.
46068         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
46069         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
46070         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
46071         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
46072         * doc/posix-functions/malloc.texi: Document the portability problem
46073         related to malloc(0).
46074
46075 2009-04-26  Bruno Haible  <bruno@clisp.org>
46076
46077         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
46078         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
46079         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
46080
46081 2009-04-25  Bruno Haible  <bruno@clisp.org>
46082
46083         Avoid link error when creating a namespace clean library.
46084         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
46085         as macro with arguments if already defined as an alias.
46086         * lib/signbitf.c (gl_signbitf): Don't undefine.
46087         * lib/signbitd.c (gl_signbitd): Don't undefine.
46088         * lib/signbitl.c (gl_signbitl): Don't undefine.
46089
46090 2009-04-25  Jim Meyering  <meyering@redhat.com>
46091
46092         vc-list-files: fix another quoting bug
46093         * build-aux/vc-list-files: Avoid sed backslash expansion
46094         of pathological directory names.
46095
46096 2009-04-25  Eric Blake  <ebb9@byu.net>
46097
46098         vc-list-files: fix shell quoting error
46099         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
46100         timestamp.
46101
46102 2009-04-25  Jim Meyering  <meyering@redhat.com>
46103
46104         vc-list-files: restore lost functionality with subdir argument
46105         * build-aux/vc-list-files: When given a non-"." sub-directory
46106         argument, substitute the $dir/ prefix back onto each resulting name.
46107         Otherwise, coreutils' root_tests check would fail.
46108
46109 2009-04-24  Eric Blake  <ebb9@byu.net>
46110
46111         vc-list-files: ignore git symlinks
46112         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
46113         than ls-files, to ignore git symlinks.
46114
46115         maint.mk: import improvements from m4
46116         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
46117         (move_if_change): Delete unused macro.
46118         (news-date-check, vc-diff-check): Support VPATH builds.
46119         (announcement): Likewise.  Split --bootstrap-tools list...
46120         (boostrap-tools): ...into separate list, which can be overridden
46121         in cfg.mk.
46122         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
46123         requiring dependency on useless-if-before-free module.
46124         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
46125         Support VPATH builds.
46126
46127 2009-04-24  Jim Meyering  <meyering@redhat.com>
46128
46129         maint.mk: remove coreutils-specific rules and variables
46130         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
46131         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
46132         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
46133
46134         maint.mk: remove obsolete rule
46135         * top/maint.mk (rel-check): Remove rule.
46136         (WGET, WGETFLAGS): Remove now-unused variables.
46137
46138 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46139
46140         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
46141         consistency.
46142
46143         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
46144         '$(PATH_SEPARATOR)' instead of ':'.
46145
46146 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46147
46148         * lib/getopt1.c (main): Use 'const' for static array.
46149
46150 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46151
46152         * top/maint.mk: Sync with coreutils.
46153         * NEWS: Explain incompatibilities.
46154
46155 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46156             Bruno Haible  <bruno@clisp.org>
46157
46158         Fix cross-compilation results.
46159         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
46160         statement, as third argument of AC_TRY_RUN.
46161         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46162         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
46163         Likewise.
46164         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46165         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46166         Likewise.
46167         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46168         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
46169         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
46170
46171 2009-04-20  Bruno Haible  <bruno@clisp.org>
46172
46173         Avoid test failure on mingw.
46174         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
46175
46176 2009-04-20  Bruno Haible  <bruno@clisp.org>
46177
46178         Avoid compilation error on mingw.
46179         * modules/localename-tests (Depends-on): Add locale.
46180
46181 2009-04-19  Bruno Haible  <bruno@clisp.org>
46182
46183         Support for building a shared library on Windows platforms.
46184         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
46185         (main): Test the presence of UNINORM_NFC here.
46186         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
46187         (main): Test the presence of UNINORM_NFD here.
46188         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
46189         (main): Test the presence of UNINORM_NFKC here.
46190         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
46191         (main): Test the presence of UNINORM_NFKD here.
46192
46193 2009-04-19  Bruno Haible  <bruno@clisp.org>
46194
46195         Avoid a compiler warning.
46196         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
46197         Change type of variable 'sequence'.
46198
46199 2009-04-19  Bruno Haible  <bruno@clisp.org>
46200
46201         * modules/configmake (Makefile.am): When the contents of configmake.h
46202         does not change, arrange to preserve its modification time.
46203
46204 2009-04-17  Simon Josefsson  <simon@josefsson.org>
46205
46206         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
46207         gettext domain.
46208
46209 2009-04-16  Jim Meyering  <meyering@redhat.com>
46210
46211         useless-if-before-free: improve conversion code
46212         * build-aux/useless-if-before-free: Adjust code-in-comment to match
46213         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
46214
46215 2009-04-14  Bruno Haible  <bruno@clisp.org>
46216
46217         * modules/fcntl (Depends-on): Add extensions.
46218         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
46219
46220 2009-04-12  Ben Pfaff  <blp@gnu.org>
46221
46222         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
46223         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
46224
46225 2009-03-20  Ben Pfaff  <blp@gnu.org>
46226
46227         Make rename replace existing destinations on Windows.
46228         * m4/rename.m4: Add test for Mingw.
46229         * lib/rename.c: Add rename replacement that uses MoveFileEx with
46230         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
46231         * doc/posix-functions/rename.texi: Document.
46232
46233 2009-04-10  Bruno Haible  <bruno@clisp.org>
46234
46235         New include file "iconveh.h".
46236         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
46237         * lib/striconveh.h: Include it.
46238         (enum iconv_ilseq_handler): Remove definition.
46239         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
46240         striconveh.h.
46241         * lib/striconveha.c: Include striconveh.h.
46242         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
46243         * modules/striconveh (Files): Add lib/iconveh.h.
46244         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
46245         lib/striconveh.h.
46246
46247 2009-04-10  Bruno Haible  <bruno@clisp.org>
46248
46249         * lib/uniconv.h: Update comment.
46250
46251 2009-04-10  Bruno Haible  <bruno@clisp.org>
46252
46253         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
46254         always.
46255         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46256         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46257         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46258         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
46259         "unistring-notinline.h", so that the function gets defined always.
46260         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46261         * lib/unistr/u8-uctomb.c: Likewise.
46262         * lib/unistr/u16-mbtouc.c: Likewise.
46263         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46264         * lib/unistr/u16-uctomb.c: Likewise.
46265         * lib/unistr/u32-mbtouc.c: Likewise.
46266         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46267         * lib/unistr/u32-uctomb.c: Likewise.
46268
46269 2009-04-10  Bruno Haible  <bruno@clisp.org>
46270
46271         Mark 'utime' obsolete.
46272         * modules/utime (Status, Notice): New sections.
46273         Suggested by Jim Meyering.
46274
46275         Fix cross-compile guess for utime test.
46276         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
46277         autoconf.
46278         * doc/posix-functions/utime.texi: Give more precisions.
46279         Reported by Jan <ipif@ymail.com>.
46280
46281 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
46282
46283         filevercmp: correct today's change
46284         * lib/filevercmp.c: Also handle coreutils' test inputs.
46285         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
46286
46287         Fix regression in 'filevercmp' module. Thanks Sven Joachim
46288         for reporting it.
46289         * lib/filevercmp.c: Special handle for "", "." and "..".
46290         * tests/test-filevercmp.c: Enlarge the set suite.
46291
46292 2009-04-07  Jim Meyering  <meyering@redhat.com>
46293
46294         useless-if-before-free: show how to remove braced useless free, too
46295         * build-aux/useless-if-before-free: still only in a comment, though.
46296
46297 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
46298
46299         maint.mk: import changes to syntax-check macros from coreutils
46300         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
46301         Use them in the relevant macros.
46302
46303 2009-04-06  Bruno Haible  <bruno@clisp.org>
46304
46305         Fix unportable use of bit-fields.
46306         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
46307         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
46308         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
46309
46310 2009-04-06  Bruno Haible  <bruno@clisp.org>
46311
46312         Avoid test failures on AIX and OSF/1.
46313         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
46314         that malloc(0) = NULL.
46315         * tests/unicase/test-u8-tolower.c (check): Likewise.
46316         * tests/unicase/test-u8-totitle.c (check): Likewise.
46317         * tests/unicase/test-u8-toupper.c (check): Likewise.
46318         * tests/unicase/test-u16-casefold.c (check): Likewise.
46319         * tests/unicase/test-u16-tolower.c (check): Likewise.
46320         * tests/unicase/test-u16-totitle.c (check): Likewise.
46321         * tests/unicase/test-u16-toupper.c (check): Likewise.
46322         * tests/unicase/test-u32-casefold.c (check): Likewise.
46323         * tests/unicase/test-u32-tolower.c (check): Likewise.
46324         * tests/unicase/test-u32-totitle.c (check): Likewise.
46325         * tests/unicase/test-u32-toupper.c (check): Likewise.
46326         * tests/uninorm/test-u8-nfc.c (check): Likewise.
46327         * tests/uninorm/test-u8-nfd.c (check): Likewise.
46328         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
46329         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
46330         * tests/uninorm/test-u16-nfc.c (check): Likewise.
46331         * tests/uninorm/test-u16-nfd.c (check): Likewise.
46332         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
46333         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
46334         * tests/uninorm/test-u32-nfc.c (check): Likewise.
46335         * tests/uninorm/test-u32-nfd.c (check): Likewise.
46336         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
46337         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
46338
46339 2009-04-05  Bruno Haible  <bruno@clisp.org>
46340
46341         Work around an autoconf limitation.
46342         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
46343         comment line if it would be longer than 3 KB.
46344
46345 2009-04-05  Bruno Haible  <bruno@clisp.org>
46346
46347         Avoid test failure with libiconv-1.13.
46348         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
46349         of the expected test results.
46350
46351 2009-04-05  Bruno Haible  <bruno@clisp.org>
46352
46353         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
46354         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
46355         that it should be installed.
46356
46357 2009-04-05  Bruno Haible  <bruno@clisp.org>
46358
46359         * gnulib-tool: New option --copy-file.
46360         (func_usage): Document it.
46361         (func_dest_tmpfilename): Moved out of func_import.
46362         (func_add_file, func_update_file): New functions, extracted from
46363         func_import.
46364         (func_import): Update.
46365
46366 2009-04-05  Karl Berry  <karl@gnu.org>
46367
46368         * README: prominently mention gnulib-tool.
46369         Rearrange sections so getting the code is near the top.
46370
46371 2009-04-05  Bruno Haible  <bruno@clisp.org>
46372
46373         * lib/unicase.h: Mention u*_cmp2.
46374         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46375         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
46376         * lib/unicase/ulc-casecmp.c: Likewise.
46377         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
46378         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
46379         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
46380         unistr/u8-cmp.
46381         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
46382         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
46383         unistr/u16-cmp.
46384         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
46385         unistr/u32-cmp.
46386
46387         * lib/uninorm.h: Mention u*_cmp2.
46388         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46389         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
46390         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
46391         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
46392         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
46393         unistr/u8-cmp.
46394         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
46395         unistr/u16-cmp.
46396         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
46397         unistr/u32-cmp.
46398
46399         New module 'unistr/u32-cmp2'.
46400         * lib/unistr/u32-cmp2.c: New file.
46401         * modules/unistr/u32-cmp2: New file.
46402
46403         New module 'unistr/u16-cmp2'.
46404         * lib/unistr/u16-cmp2.c: New file.
46405         * modules/unistr/u16-cmp2: New file.
46406
46407         New module 'unistr/u8-cmp2'.
46408         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
46409         * lib/unistr/u8-cmp2.c: New file.
46410         * lib/unistr/u-cmp2.h: New file.
46411         * modules/unistr/u8-cmp2: New file.
46412
46413 2009-04-05  Bruno Haible  <bruno@clisp.org>
46414
46415         * lib/unictype.h (uc_property_is_valid): New macro.
46416         * tests/unictype/test-pr_byname.c (main): Use it.
46417
46418         * lib/unistr.h: Doc fixes.
46419         * lib/uniconv.h: Doc fixes.
46420         * lib/unictype.h: Doc fixes.
46421
46422 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
46423
46424         Port coreutils 7.2 to Solaris 8.
46425
46426         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
46427         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
46428         for Solaris 8.  This is a bit of a hack, as it means it's the
46429         caller's responsibility to add -lnsl if needed, but most likely it
46430         won't be needed since only getaddrinfo uses this and getaddrinfo
46431         isn't needed on Solaris 8.
46432
46433         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46434         problem to Solaris 8 encountered with coreutils 7.2, which
46435         resulted in a message "fnmatch.c:292: warning: passing argument 4
46436         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46437         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46438
46439 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46440
46441         * m4/ld-version-script.m4: Add FIXME comment.
46442
46443 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46444
46445         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46446         SOVERSION variable.
46447
46448 2009-04-02  Bruno Haible  <bruno@clisp.org>
46449
46450         * Makefile (info, html, dvi, pdf): Combine the rules.
46451         Suggested by Jim Meyering.
46452
46453 2009-04-01  Bruno Haible  <bruno@clisp.org>
46454
46455         * Makefile (info, html, dvi, pdf): New targets.
46456         Reported by Reuben Thomas <rrt@sc3d.org>.
46457
46458 2009-04-01  Bruno Haible  <bruno@clisp.org>
46459
46460         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46461         can be put into PATH.
46462         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46463
46464 2009-04-01  Bruno Haible  <bruno@clisp.org>
46465
46466         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46467
46468 2009-04-01  Bruno Haible  <bruno@clisp.org>
46469
46470         Rename module 'visibility'.
46471         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46472         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46473         * doc/gnulib.texi: Update.
46474         * MODULES.html.sh (Misc): Update.
46475         * NEWS: Mention the change.
46476
46477 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46478
46479         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46480         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46481         Eric Blake <ebb9@byu.net> for review.
46482         * MODULES.html.sh: Add lib-msvc-compat.
46483         * doc/gnulib.texi: Link to new section.
46484         * m4/ld-output-def.m4: New file.
46485         * doc/ld-output-def.texi: New file.
46486
46487 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46488
46489         Rename ld-version-script to lib-symbol-versions.  Suggested by
46490         Bruno Haible <bruno@clisp.org>.
46491         * modules/ld-version-script: Renamed to lib-symbol-versions.
46492         * doc/ld-version-script.texi: Fix module name.
46493         * MODULES.html.sh: Add lib-symbol-versions.
46494
46495 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46496
46497         * modules/u64-tests: New file.
46498         * tests/test-u64.c: New file.
46499
46500 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46501
46502         * MODULES.html.sh: Mention u64.
46503         * modules/u64: New module.
46504         * modules/crypto/sha512: Depend on u64 module instead of providing
46505         u64.h.
46506
46507 2009-03-27  Eric Blake  <ebb9@byu.net>
46508
46509         test-strerror: make debugging EAI_SYSTEM easier
46510         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46511         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46512         failure was EAI_SYSTEM.
46513
46514 2009-03-25  Bruno Haible  <bruno@clisp.org>
46515
46516         Fix a problem with --enable-relocatable on Solaris 7.
46517         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46518         since 2008-02-24.
46519
46520 2009-03-25  Eric Blake  <ebb9@byu.net>
46521
46522         test-sockets: avoid gcc warning
46523         * tests/test-sockets.c (main): Silence compiler warning.
46524
46525 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46526
46527         New modules nproc, pthread, contributed by Glen Lenker.
46528
46529         * MODULES.html.sh: Add pthread, nproc.
46530         * lib/nproc.c: New file.
46531         * lib/nproc.h: New file.
46532         * lib/pthread.in.h: New file.
46533         * m4/pthread.m4: New file.
46534         * modules/nproc: New file.
46535         * modules/pthread: New file.
46536
46537 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46538
46539         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46540         New variable.
46541
46542 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46543
46544         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46545         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46546         * tests/test-filevercmp.c: Add tests for backup suffixes.
46547
46548 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46549
46550         * modules/stdlib (Depends-on): Add stdint, needed when defining
46551         struct random_data on, for example, HP-UX 10.20.  Reported by
46552         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46553
46554 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46555
46556         * lib/readline.c (readline): Call fflush on stdout after printing
46557         prompt.
46558
46559 2009-03-20  Bruno Haible  <bruno@clisp.org>
46560
46561         Remove dependency from 'close' module to -lws2_32 on native Windows.
46562         * lib/close-hook.h: New file.
46563         * lib/close-hook.c: New file.
46564         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46565         w32sock.h.
46566         (_gl_close_fd_maybe_socket): Remove function.
46567         (rpl_close): Invoke execute_all_close_hooks instead of
46568         _gl_close_fd_maybe_socket.
46569         * lib/sockets.c: Include close-hook.h, w32sock.h.
46570         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46571         (close_sockets_hook): New variable.
46572         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46573         (gl_sockets_cleanup): Unregister it.
46574         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46575         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46576         * modules/close-hook: New file.
46577         * modules/close (Files): Remove lib/w32sock.h.
46578         (Depends-on): Add close-hook.
46579         (Link): Remove section.
46580         * modules/sockets (Files): Add lib/w32sock.h.
46581         (Depends-on): Add close-hook.
46582         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46583         invocation.
46584         * NEWS: Mention that LIB_CLOSE is gone.
46585
46586 2009-03-23  Eric Blake  <ebb9@byu.net>
46587
46588         signal-tests: test previous patch
46589         * tests/test-signal.c: New file.
46590         * modules/signal-tests: Likewise.
46591
46592         signal.h: always support 'volatile sig_atomic_t'
46593         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46594         (gl_SIGNAL_H_DEFAULTS): Add a default.
46595         * modules/signal (Makefile.am): Substitute if needed.
46596         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46597         users can blindly add volatile.
46598         * doc/posix-headers/signal.texi (signal.h): Document it.
46599         Reported by Matthew Woehlke.
46600
46601 2009-03-23  Jim Meyering  <meyering@redhat.com>
46602
46603         pathmax: PATH_MAX: use pathconf only when available
46604         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
46605         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
46606         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
46607         This avoids a link failure in a PSP cross-compilation environment
46608         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
46609
46610         * lib/vasnprintf.c (divide): Fix typo in comment.
46611
46612 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46613
46614         * gnulib-tool (func_filter_filelist): Fix comment.
46615
46616 2009-03-20  Bruno Haible  <bruno@clisp.org>
46617
46618         Make sockets.h self-contained.
46619         * lib/sockets.c: Include sockets.h first.
46620         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
46621
46622 2009-03-19  Eric Blake  <ebb9@byu.net>
46623
46624         doc: mention more functions added in cygwin 1.7.0
46625         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
46626         addition.
46627         * doc/posix-functions/log2f.texi: Likewise.
46628
46629 2009-03-19  Jim Meyering  <meyering@redhat.com>
46630
46631         fsusage: avoid syntax error due to statement-before-declaration
46632         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
46633         after all declarations.  Reported by Matthew Woehlke in
46634         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
46635
46636 2009-03-18  Eric Blake  <ebb9@byu.net>
46637
46638         build-aux/compile: sync from automake
46639         * build-aux/compile: New file, from automake.
46640         * config/srclist.txt: Mention build-aux/compile.
46641
46642 2009-03-17  Bruno Haible  <bruno@clisp.org>
46643
46644         * lib/git-merge-changelog.c: Fix typo in comment.
46645         Reported by Reuben Thomas <rrt@sc3d.org>.
46646
46647 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46648
46649         * m4/regex.m4: update and improve help for
46650         --without-included-regex.
46651
46652 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46653
46654         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46655         failure on missing include files.
46656
46657 2009-03-17  Eric Blake  <ebb9@byu.net>
46658
46659         doc: mention more functions added in cygwin 1.7.0
46660         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46661         addition.
46662         * doc/posix-functions/fwscanf.texi: Likewise.
46663         * doc/posix-functions/swprintf.texi: Likewise.
46664         * doc/posix-functions/swscanf.texi: Likewise.
46665         * doc/posix-functions/vfwprintf.texi: Likewise.
46666         * doc/posix-functions/vfwscanf.texi: Likewise.
46667         * doc/posix-functions/vswprintf.texi: Likewise.
46668         * doc/posix-functions/vswscanf.texi: Likewise.
46669         * doc/posix-functions/vwprintf.texi: Likewise.
46670         * doc/posix-functions/vwscanf.texi: Likewise.
46671         * doc/posix-functions/wcscasecmp.texi: Likewise.
46672         * doc/posix-functions/wcsdup.texi: Likewise.
46673         * doc/posix-functions/wcsftime.texi: Likewise.
46674         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46675         * doc/posix-functions/wprintf.texi: Likewise.
46676         * doc/posix-functions/wscanf.texi: Likewise.
46677         * doc/glibc-functions/gethostbyname2.texi: Likewise.
46678
46679 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46680
46681         maint.mk: really add $(AM_MAKEFLAGS)
46682         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
46683         was inadvertently omitted in the last commit.
46684         Spotted by Bruno Haible.
46685
46686         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
46687         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
46688         $(AM_MAKEFLAGS)' rather than plain `make'.
46689
46690         gnulib-tool: execute $MAKE not make
46691         * gnulib-tool: Default $MAKE to 'make'.
46692         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
46693         than make.  Initialize $MAKE in the do-autobuild script.
46694
46695         gnulib-tool: use $MAKE not make in generated files
46696         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
46697         make, in generated files.  Initialize $MAKE in the do-autobuild
46698         script.
46699
46700         * top/GNUmakefile (_have-git-version-gen): Fix typo.
46701
46702         GNUmakefile: disable parallelism only for multiple, recursive targets
46703         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
46704         additions in the Makefile.
46705         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
46706         by Automake.
46707         (.NOTPARALLEL): Only disable parallel builds if multiple targets
46708         are listed on the command line and at least one of them is
46709         listed in $(ALL_RECURSIVE_TARGETS).
46710
46711 2009-03-14  Bruno Haible  <bruno@clisp.org>
46712
46713         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
46714         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
46715         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
46716         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
46717         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
46718         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
46719         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
46720         unistr/u8-uctomb.
46721         * modules/unistr/u8-strchr (Depends-on): Likewise.
46722         * modules/unistr/u8-strrchr (Depends-on): Likewise.
46723         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
46724         unistr/u16-uctomb.
46725         * modules/unistr/u16-strchr (Depends-on): Likewise.
46726         * modules/unistr/u16-strrchr (Depends-on): Likewise.
46727
46728 2009-03-12  Bruno Haible  <bruno@clisp.org>
46729
46730         Work around select() bug on Interix 3.5.
46731         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
46732         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
46733         * m4/select.m4: New file.
46734         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
46735         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
46736         * modules/select (Files): Add m4/select.m4.
46737         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
46738         * modules/nanosleep (Depends-on): Add select.
46739         * modules/poll (Depends-on): Likewise.
46740         * doc/posix-functions/select.texi: Mention the Interix bug.
46741         Reported by Markus Duft <mduft@gentoo.org>.
46742
46743         * lib/select.c: Renamed from lib/winsock-select.c.
46744         * modules/select (Files): Add lib/select.c, remove
46745         lib/winsock-select.c.
46746         (configure.ac): Update.
46747
46748 2009-03-12  Jim Meyering  <meyering@redhat.com>
46749
46750         avoid gcc warnings about unused macro definitions
46751         * lib/readtokens.c (STREQ): Remove unused definition.
46752         * lib/xmalloc.c (SIZE_MAX): Likewise.
46753         * lib/openat-die.c (N_): Likewise.
46754         * lib/mountlist.c (SIZE_MAX): Remove definition.
46755         Instead, include <stdint.h>.
46756         * lib/readutmp.c: Likewise.
46757         * modules/readutmp (Depends-on): Add stdint.
46758         * modules/mountlist (Depends-on): Add stdint.
46759         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
46760
46761 2009-03-10  Bruno Haible  <bruno@clisp.org>
46762
46763         Tests for module 'mbmemcasecoll'.
46764         * modules/mbmemcasecoll-tests: New file.
46765         * tests/test-mbmemcasecoll1.sh: New file.
46766         * tests/test-mbmemcasecoll2.sh: New file.
46767         * tests/test-mbmemcasecoll3.sh: New file.
46768         * tests/test-mbmemcasecoll.c: New file.
46769
46770         New module 'mbmemcasecoll'.
46771         * lib/mbmemcasecoll.h: New file.
46772         * lib/mbmemcasecoll.c: New file.
46773         * modules/mbmemcasecoll: New file.
46774
46775         * tests/test-mbmemcasecmp.h: New file, extracted from
46776         tests/test-mbmemcasecmp.c.
46777         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
46778         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
46779         (main): Update.
46780         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
46781
46782 2009-03-09  Bruno Haible  <bruno@clisp.org>
46783
46784         Tests for module 'mbmemcasecmp'.
46785         * modules/mbmemcasecmp-tests: New file.
46786         * tests/test-mbmemcasecmp1.sh: New file.
46787         * tests/test-mbmemcasecmp2.sh: New file.
46788         * tests/test-mbmemcasecmp3.sh: New file.
46789         * tests/test-mbmemcasecmp.c: New file.
46790
46791         New module 'mbmemcasecmp'.
46792         * lib/mbmemcasecmp.h: New file.
46793         * lib/mbmemcasecmp.c: New file.
46794         * modules/mbmemcasecmp: New file.
46795
46796 2009-03-09  Bruno Haible  <bruno@clisp.org>
46797
46798         Tests for module 'unicase/ulc-casecoll'.
46799         * modules/unicase/ulc-casecoll-tests: New file.
46800         * tests/unicase/test-ulc-casecoll1.sh: New file.
46801         * tests/unicase/test-ulc-casecoll2.sh: New file.
46802         * tests/unicase/test-ulc-casecoll.c: New file.
46803
46804         New module 'unicase/ulc-casecoll'.
46805         * lib/unicase.h (ulc_casecoll): New declaration.
46806         * lib/unicase/ulc-casecoll.c: New file.
46807         * modules/unicase/ulc-casecoll: New file.
46808
46809         New module 'unicase/ulc-casexfrm'.
46810         * lib/unicase.h (ulc_casexfrm): New declaration.
46811         * lib/unicase/ulc-casexfrm.c: New file.
46812         * modules/unicase/ulc-casexfrm: New file.
46813
46814 2009-03-09  Bruno Haible  <bruno@clisp.org>
46815
46816         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
46817         invocations.
46818
46819         * m4/mbscasecmp.m4: Remove file.
46820         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
46821         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
46822
46823         * m4/mbscasestr.m4: Remove file.
46824         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
46825         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
46826
46827         * m4/mbschr.m4: Remove file.
46828         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
46829         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
46830
46831         * m4/mbscspn.m4: Remove file.
46832         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
46833         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
46834
46835         * m4/mbslen.m4: Remove file.
46836         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
46837         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
46838
46839         * m4/mbsncasecmp.m4: Remove file.
46840         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
46841         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
46842
46843         * m4/mbsnlen.m4: Remove file.
46844         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
46845         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
46846
46847         * m4/mbspbrk.m4: Remove file.
46848         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
46849         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
46850
46851         * m4/mbspcasecmp.m4: Remove file.
46852         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
46853         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
46854
46855         * m4/mbsrchr.m4: Remove file.
46856         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
46857         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
46858
46859         * m4/mbssep.m4: Remove file.
46860         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
46861         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
46862
46863         * m4/mbsspn.m4: Remove file.
46864         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
46865         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
46866
46867         * m4/mbsstr.m4: Remove file.
46868         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
46869         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
46870
46871         * m4/mbstok_r.m4: Remove file.
46872         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
46873         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
46874
46875         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
46876
46877         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
46878         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
46879
46880         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
46881
46882 2009-03-08  Bruno Haible  <bruno@clisp.org>
46883
46884         Tests for module 'unicase/ulc-casecmp'.
46885         * modules/unicase/ulc-casecmp-tests: New file.
46886         * tests/unicase/test-ulc-casecmp1.sh: New file.
46887         * tests/unicase/test-ulc-casecmp2.sh: New file.
46888         * tests/unicase/test-ulc-casecmp.c: New file.
46889
46890         New module 'unicase/ulc-casecmp'.
46891         * lib/unicase.h (ulc_casecmp): New declaration.
46892         * lib/unicase/ulc-casecmp.c: New file.
46893         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
46894         'const SRC_UNIT *'.
46895         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
46896         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
46897         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
46898         * modules/unicase/ulc-casecmp: New file.
46899
46900         Tests for module 'unicase/u32-is-cased'.
46901         * modules/unicase/u32-is-cased-tests: New file.
46902         * tests/unicase/test-u32-is-cased.c: New file.
46903
46904         Tests for module 'unicase/u16-is-cased'.
46905         * modules/unicase/u16-is-cased-tests: New file.
46906         * tests/unicase/test-u16-is-cased.c: New file.
46907
46908         Tests for module 'unicase/u8-is-cased'.
46909         * modules/unicase/u8-is-cased-tests: New file.
46910         * tests/unicase/test-u8-is-cased.c: New file.
46911         * tests/unicase/test-is-cased.h: New file.
46912
46913         New module 'unicase/u32-is-cased'.
46914         * lib/unicase/u32-is-cased.c: New file.
46915         * modules/unicase/u32-is-cased: New file.
46916
46917         New module 'unicase/u16-is-cased'.
46918         * lib/unicase/u16-is-cased.c: New file.
46919         * modules/unicase/u16-is-cased: New file.
46920
46921         New module 'unicase/u8-is-cased'.
46922         * lib/unicase/u8-is-cased.c: New file.
46923         * lib/unicase/u-is-cased.h: New file.
46924         * modules/unicase/u8-is-cased: New file.
46925
46926         Tests for module 'unicase/u32-is-casefolded'.
46927         * modules/unicase/u32-is-casefolded-tests: New file.
46928         * tests/unicase/test-u32-is-casefolded.c: New file.
46929
46930         Tests for module 'unicase/u16-is-casefolded'.
46931         * modules/unicase/u16-is-casefolded-tests: New file.
46932         * tests/unicase/test-u16-is-casefolded.c: New file.
46933
46934         Tests for module 'unicase/u8-is-casefolded'.
46935         * modules/unicase/u8-is-casefolded-tests: New file.
46936         * tests/unicase/test-u8-is-casefolded.c: New file.
46937         * tests/unicase/test-is-casefolded.h: New file.
46938
46939         New module 'unicase/u32-is-casefolded'.
46940         * lib/unicase/u32-is-casefolded.c: New file.
46941         * modules/unicase/u32-is-casefolded: New file.
46942
46943         New module 'unicase/u16-is-casefolded'.
46944         * lib/unicase/u16-is-casefolded.c: New file.
46945         * modules/unicase/u16-is-casefolded: New file.
46946
46947         New module 'unicase/u8-is-casefolded'.
46948         * lib/unicase/u8-is-casefolded.c: New file.
46949         * modules/unicase/u8-is-casefolded: New file.
46950
46951         Tests for module 'unicase/u32-is-titlecase'.
46952         * modules/unicase/u32-is-titlecase-tests: New file.
46953         * tests/unicase/test-u32-is-titlecase.c: New file.
46954
46955         Tests for module 'unicase/u16-is-titlecase'.
46956         * modules/unicase/u16-is-titlecase-tests: New file.
46957         * tests/unicase/test-u16-is-titlecase.c: New file.
46958
46959         Tests for module 'unicase/u8-is-titlecase'.
46960         * modules/unicase/u8-is-titlecase-tests: New file.
46961         * tests/unicase/test-u8-is-titlecase.c: New file.
46962         * tests/unicase/test-is-titlecase.h: New file.
46963
46964         New module 'unicase/u32-is-titlecase'.
46965         * lib/unicase/u32-is-titlecase.c: New file.
46966         * modules/unicase/u32-is-titlecase: New file.
46967
46968         New module 'unicase/u16-is-titlecase'.
46969         * lib/unicase/u16-is-titlecase.c: New file.
46970         * modules/unicase/u16-is-titlecase: New file.
46971
46972         New module 'unicase/u8-is-titlecase'.
46973         * lib/unicase/u8-is-titlecase.c: New file.
46974         * modules/unicase/u8-is-titlecase: New file.
46975
46976         Tests for module 'unicase/u32-is-lowercase'.
46977         * modules/unicase/u32-is-lowercase-tests: New file.
46978         * tests/unicase/test-u32-is-lowercase.c: New file.
46979
46980         Tests for module 'unicase/u16-is-lowercase'.
46981         * modules/unicase/u16-is-lowercase-tests: New file.
46982         * tests/unicase/test-u16-is-lowercase.c: New file.
46983
46984         Tests for module 'unicase/u8-is-lowercase'.
46985         * modules/unicase/u8-is-lowercase-tests: New file.
46986         * tests/unicase/test-u8-is-lowercase.c: New file.
46987         * tests/unicase/test-is-lowercase.h: New file.
46988
46989         New module 'unicase/u32-is-lowercase'.
46990         * lib/unicase/u32-is-lowercase.c: New file.
46991         * modules/unicase/u32-is-lowercase: New file.
46992
46993         New module 'unicase/u16-is-lowercase'.
46994         * lib/unicase/u16-is-lowercase.c: New file.
46995         * modules/unicase/u16-is-lowercase: New file.
46996
46997         New module 'unicase/u8-is-lowercase'.
46998         * lib/unicase/u8-is-lowercase.c: New file.
46999         * modules/unicase/u8-is-lowercase: New file.
47000
47001         Tests for module 'unicase/u32-is-uppercase'.
47002         * modules/unicase/u32-is-uppercase-tests: New file.
47003         * tests/unicase/test-u32-is-uppercase.c: New file.
47004
47005         Tests for module 'unicase/u16-is-uppercase'.
47006         * modules/unicase/u16-is-uppercase-tests: New file.
47007         * tests/unicase/test-u16-is-uppercase.c: New file.
47008
47009         Tests for module 'unicase/u8-is-uppercase'.
47010         * modules/unicase/u8-is-uppercase-tests: New file.
47011         * tests/unicase/test-u8-is-uppercase.c: New file.
47012         * tests/unicase/test-is-uppercase.h: New file.
47013
47014         New module 'unicase/u32-is-uppercase'.
47015         * lib/unicase/u32-is-uppercase.c: New file.
47016         * modules/unicase/u32-is-uppercase: New file.
47017
47018         New module 'unicase/u16-is-uppercase'.
47019         * lib/unicase/u16-is-uppercase.c: New file.
47020         * modules/unicase/u16-is-uppercase: New file.
47021
47022         New module 'unicase/u8-is-uppercase'.
47023         * lib/unicase/u8-is-uppercase.c: New file.
47024         * modules/unicase/u8-is-uppercase: New file.
47025
47026         New module 'unicase/u32-is-invariant'.
47027         * lib/unicase/u32-is-invariant.c: New file.
47028         * modules/unicase/u32-is-invariant: New file.
47029
47030         New module 'unicase/u16-is-invariant'.
47031         * lib/unicase/u16-is-invariant.c: New file.
47032         * modules/unicase/u16-is-invariant: New file.
47033
47034         New module 'unicase/u8-is-invariant'.
47035         * lib/unicase/u8-is-invariant.c: New file.
47036         * lib/unicase/invariant.h: New file.
47037         * lib/unicase/u-is-invariant.h: New file.
47038         * modules/unicase/u8-is-invariant: New file.
47039
47040         Tests for module 'unicase/u32-casecoll'.
47041         * modules/unicase/u32-casecoll-tests: New file.
47042         * tests/unicase/test-u32-casecoll.c: New file.
47043
47044         Tests for module 'unicase/u16-casecoll'.
47045         * modules/unicase/u16-casecoll-tests: New file.
47046         * tests/unicase/test-u16-casecoll.c: New file.
47047
47048         Tests for module 'unicase/u8-casecoll'.
47049         * modules/unicase/u8-casecoll-tests: New file.
47050         * tests/unicase/test-u8-casecoll.c: New file.
47051
47052         New module 'unicase/u32-casecoll'.
47053         * lib/unicase/u32-casecoll.c: New file.
47054         * modules/unicase/u32-casecoll: New file.
47055
47056         New module 'unicase/u16-casecoll'.
47057         * lib/unicase/u16-casecoll.c: New file.
47058         * modules/unicase/u16-casecoll: New file.
47059
47060         New module 'unicase/u8-casecoll'.
47061         * lib/unicase/u8-casecoll.c: New file.
47062         * lib/unicase/u-casecoll.h: New file.
47063         * modules/unicase/u8-casecoll: New file.
47064
47065         New module 'unicase/u32-casexfrm'.
47066         * lib/unicase/u32-casexfrm.c: New file.
47067         * modules/unicase/u32-casexfrm: New file.
47068
47069         New module 'unicase/u16-casexfrm'.
47070         * lib/unicase/u16-casexfrm.c: New file.
47071         * modules/unicase/u16-casexfrm: New file.
47072
47073         New module 'unicase/u8-casexfrm'.
47074         * lib/unicase/u8-casexfrm.c: New file.
47075         * lib/unicase/u-casexfrm.h: New file.
47076         * modules/unicase/u8-casexfrm: New file.
47077
47078         Tests for module 'unicase/u32-casecmp'.
47079         * modules/unicase/u32-casecmp-tests: New file.
47080         * tests/unicase/test-u32-casecmp.c: New file.
47081
47082         Tests for module 'unicase/u16-casecmp'.
47083         * modules/unicase/u16-casecmp-tests: New file.
47084         * tests/unicase/test-u16-casecmp.c: New file.
47085
47086         Tests for module 'unicase/u8-casecmp'.
47087         * modules/unicase/u8-casecmp-tests: New file.
47088         * tests/unicase/test-u8-casecmp.c: New file.
47089         * tests/unicase/test-casecmp.h: New file.
47090
47091         New module 'unicase/u32-casecmp'.
47092         * lib/unicase/u32-casecmp.c: New file.
47093         * modules/unicase/u32-casecmp: New file.
47094
47095         New module 'unicase/u16-casecmp'.
47096         * lib/unicase/u16-casecmp.c: New file.
47097         * modules/unicase/u16-casecmp: New file.
47098
47099         New module 'unicase/u8-casecmp'.
47100         * lib/unicase/u8-casecmp.c: New file.
47101         * lib/unicase/u-casecmp.h: New file.
47102         * modules/unicase/u8-casecmp: New file.
47103
47104         Tests for module 'unicase/u32-casefold'.
47105         * modules/unicase/u32-casefold-tests: New file.
47106         * tests/unicase/test-u32-casefold.c: New file.
47107
47108         Tests for module 'unicase/u16-casefold'.
47109         * modules/unicase/u16-casefold-tests: New file.
47110         * tests/unicase/test-u16-casefold.c: New file.
47111
47112         Tests for module 'unicase/u8-casefold'.
47113         * modules/unicase/u8-casefold-tests: New file.
47114         * tests/unicase/test-u8-casefold.c: New file.
47115
47116         New module 'unicase/u32-casefold'.
47117         * lib/unicase/u32-casefold.c: New file.
47118         * modules/unicase/u32-casefold: New file.
47119
47120         New module 'unicase/u16-casefold'.
47121         * lib/unicase/u16-casefold.c: New file.
47122         * modules/unicase/u16-casefold: New file.
47123
47124         New module 'unicase/u8-casefold'.
47125         * lib/unicase/u8-casefold.c: New file.
47126         * lib/unicase/u-casefold.h: New file.
47127         * modules/unicase/u8-casefold: New file.
47128
47129         New module 'unicase/tocasefold'.
47130         * lib/unicase/casefold.h: New file.
47131         * lib/unicase/tocasefold.c: New file.
47132         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
47133         * modules/unicase/tocasefold: New file.
47134
47135         Tests for module 'unicase/u32-totitle'.
47136         * modules/unicase/u32-totitle-tests: New file.
47137         * tests/unicase/test-u32-totitle.c: New file.
47138
47139         Tests for module 'unicase/u16-totitle'.
47140         * modules/unicase/u16-totitle-tests: New file.
47141         * tests/unicase/test-u16-totitle.c: New file.
47142
47143         Tests for module 'unicase/u8-totitle'.
47144         * modules/unicase/u8-totitle-tests: New file.
47145         * tests/unicase/test-u8-totitle.c: New file.
47146
47147         New module 'unicase/u32-totitle'.
47148         * lib/unicase/u32-totitle.c: New file.
47149         * modules/unicase/u32-totitle: New file.
47150
47151         New module 'unicase/u16-totitle'.
47152         * lib/unicase/u16-totitle.c: New file.
47153         * modules/unicase/u16-totitle: New file.
47154
47155         New module 'unicase/u8-totitle'.
47156         * lib/unicase/u8-totitle.c: New file.
47157         * lib/unicase/u-totitle.h: New file.
47158         * modules/unicase/u8-totitle: New file.
47159
47160         Tests for module 'unicase/u32-tolower'.
47161         * modules/unicase/u32-tolower-tests: New file.
47162         * tests/unicase/test-u32-tolower.c: New file.
47163
47164         Tests for module 'unicase/u16-tolower'.
47165         * modules/unicase/u16-tolower-tests: New file.
47166         * tests/unicase/test-u16-tolower.c: New file.
47167
47168         Tests for module 'unicase/u8-tolower'.
47169         * modules/unicase/u8-tolower-tests: New file.
47170         * tests/unicase/test-u8-tolower.c: New file.
47171
47172         New module 'unicase/u32-tolower'.
47173         * lib/unicase/u32-tolower.c: New file.
47174         * modules/unicase/u32-tolower: New file.
47175
47176         New module 'unicase/u16-tolower'.
47177         * lib/unicase/u16-tolower.c: New file.
47178         * modules/unicase/u16-tolower: New file.
47179
47180         New module 'unicase/u8-tolower'.
47181         * lib/unicase/u8-tolower.c: New file.
47182         * modules/unicase/u8-tolower: New file.
47183
47184         Tests for module 'unicase/u32-toupper'.
47185         * modules/unicase/u32-toupper-tests: New file.
47186         * tests/unicase/test-u32-toupper.c: New file.
47187
47188         Tests for module 'unicase/u16-toupper'.
47189         * modules/unicase/u16-toupper-tests: New file.
47190         * tests/unicase/test-u16-toupper.c: New file.
47191
47192         Tests for module 'unicase/u8-toupper'.
47193         * modules/unicase/u8-toupper-tests: New file.
47194         * tests/unicase/test-u8-toupper.c: New file.
47195
47196         New module 'unicase/u32-toupper'.
47197         * lib/unicase/u32-toupper.c: New file.
47198         * modules/unicase/u32-toupper: New file.
47199
47200         New module 'unicase/u16-toupper'.
47201         * lib/unicase/u16-toupper.c: New file.
47202         * modules/unicase/u16-toupper: New file.
47203
47204         New module 'unicase/u8-toupper'.
47205         * lib/unicase/u8-toupper.c: New file.
47206         * modules/unicase/u8-toupper: New file.
47207
47208         New module 'unicase/u32-casemap'.
47209         * lib/unicase/u32-casemap.c: New file.
47210         * modules/unicase/u32-casemap: New file.
47211
47212         New module 'unicase/u16-casemap'.
47213         * lib/unicase/u16-casemap.c: New file.
47214         * modules/unicase/u16-casemap: New file.
47215
47216         New module 'unicase/u8-casemap'.
47217         * lib/unicase/unicasemap.h: New file.
47218         * lib/unicase/u8-casemap.c: New file.
47219         * lib/unicase/u-casemap.h: New file.
47220         * modules/unicase/u8-casemap: New file.
47221
47222         New module 'unicase/special-casing'.
47223         * lib/unicase/special-casing.h: New file.
47224         * lib/unicase/special-casing.c: New file.
47225         * lib/unicase/special-casing-table.gperf: New file, generated by
47226         gen-uni-tables.c.
47227         * modules/unicase/special-casing: New file.
47228
47229         Tests for module 'unicase/locale-language'.
47230         * modules/unicase/locale-language-tests: New file.
47231         * tests/unicase/test-locale-language.sh: New file.
47232         * tests/unicase/test-locale-language.c: New file.
47233
47234         New module 'unicase/locale-language'.
47235         * lib/unicase/locale-language.c: New file.
47236         * lib/unicase/locale-languages.gperf: New file.
47237         * modules/unicase/locale-language: New file.
47238
47239         Generate more tables for case conversion and case folding.
47240         * lib/gen-uni-tables.c (SCC_*): New enum items.
47241         (struct special_casing_rule): New type.
47242         (casing_rules, num_casing_rules, allocated_casing_rules): New
47243         variables.
47244         (add_casing_rule, fill_casing_rules): New functions.
47245         (struct casefold_rule): New type.
47246         (casefolding_rules, num_casefolding_rules,
47247         allocated_casefolding_rules): New variables.
47248         (fill_casefolding_rules): New function.
47249         (unicode_casefold): New variable.
47250         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
47251         sort_casing_rules, output_casing_rules): New functions.
47252         (main): Accept to more arguments: SpecialCasing.txt and
47253         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
47254         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
47255         Output mapping for casefolding.
47256
47257         * lib/unicase.h: Include stdbool.h, uninorm.h.
47258         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
47259         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
47260         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
47261         arguments.
47262         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
47263         resultp arguments.
47264         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
47265         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
47266         resultp arguments.
47267         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
47268         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
47269         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
47270         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
47271         declarations.
47272         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
47273
47274 2009-03-08  Bruno Haible  <bruno@clisp.org>
47275
47276         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47277         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
47278         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
47279         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47280
47281 2009-03-07  Bruno Haible  <bruno@clisp.org>
47282
47283         Adjust u*_normcmp, u*_normcoll API.
47284         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47285         u16_normcoll, u32_normcoll): Change failure conventions.
47286         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
47287         errno and return -1.
47288         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47289
47290 2009-03-07  Bruno Haible  <bruno@clisp.org>
47291
47292         Tests for module 'uninorm/u32-normcoll'.
47293         * modules/uninorm/u32-normcoll-tests: New file.
47294         * tests/uninorm/test-u32-normcoll.c: New file.
47295
47296         Tests for module 'uninorm/u16-normcoll'.
47297         * modules/uninorm/u16-normcoll-tests: New file.
47298         * tests/uninorm/test-u16-normcoll.c: New file.
47299
47300         Tests for module 'uninorm/u8-normcoll'.
47301         * modules/uninorm/u8-normcoll-tests: New file.
47302         * tests/uninorm/test-u8-normcoll.c: New file.
47303
47304 2009-03-07  Bruno Haible  <bruno@clisp.org>
47305
47306         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
47307         tests/uninorm/test-u32-normcmp.c.
47308         * tests/uninorm/test-u32-normcmp.c: Include it.
47309         (test_nonascii): New function, extracted from main. Add some more
47310         tests.
47311         (main): Invoke test_ascii and test_nonascii.
47312         * modules/uninorm/u32-normcmp-tests (Files): Add
47313         tests/uninorm/test-u32-normcmp.h.
47314         (Depends-on): Remove uninorm/u32-normcmp.
47315
47316         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
47317         tests/uninorm/test-u16-normcmp.c.
47318         * tests/uninorm/test-u16-normcmp.c: Include it.
47319         (test_nonascii): New function, extracted from main. Add some more
47320         tests.
47321         (main): Invoke test_ascii and test_nonascii.
47322         * modules/uninorm/u16-normcmp-tests (Files): Add
47323         tests/uninorm/test-u16-normcmp.h.
47324         (Depends-on): Remove uninorm/u16-normcmp.
47325
47326         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
47327         tests/uninorm/test-u8-normcmp.c.
47328         * tests/uninorm/test-u8-normcmp.c: Include it.
47329         (test_nonascii): New function, extracted from main. Add some more
47330         tests.
47331         (main): Invoke test_ascii and test_nonascii.
47332         * modules/uninorm/u8-normcmp-tests (Files): Add
47333         tests/uninorm/test-u8-normcmp.h.
47334         (Depends-on): Remove uninorm/u8-normcmp.
47335
47336 2009-03-07  Bruno Haible  <bruno@clisp.org>
47337
47338         New module 'uninorm/u32-normcoll'.
47339         * lib/uninorm/u32-normcoll.c: New file.
47340         * modules/uninorm/u32-normcoll: New file.
47341
47342         New module 'uninorm/u16-normcoll'.
47343         * lib/uninorm/u16-normcoll.c: New file.
47344         * modules/uninorm/u16-normcoll: New file.
47345
47346         New module 'uninorm/u8-normcoll'.
47347         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
47348         declarations.
47349         * lib/uninorm/u8-normcoll.c: New file.
47350         * lib/uninorm/u-normcoll.h: New file.
47351         * modules/uninorm/u8-normcoll: New file.
47352
47353         New module 'uninorm/u32-normxfrm'.
47354         * lib/uninorm/u32-normxfrm.c: New file.
47355         * modules/uninorm/u32-normxfrm: New file.
47356
47357         New module 'uninorm/u16-normxfrm'.
47358         * lib/uninorm/u16-normxfrm.c: New file.
47359         * modules/uninorm/u16-normxfrm: New file.
47360
47361         New module 'uninorm/u8-normxfrm'.
47362         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
47363         declarations.
47364         * lib/uninorm/u8-normxfrm.c: New file.
47365         * lib/uninorm/u-normxfrm.h: New file.
47366         * modules/uninorm/u8-normxfrm: New file.
47367
47368 2009-03-07  Bruno Haible  <bruno@clisp.org>
47369
47370         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
47371         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
47372         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
47373
47374 2009-03-07  Bruno Haible  <bruno@clisp.org>
47375
47376         New module 'memxfrm'.
47377         * lib/memxfrm.h: New file.
47378         * lib/memxfrm.c: New file.
47379         * modules/memxfrm: New file.
47380
47381 2009-03-07  Bruno Haible  <bruno@clisp.org>
47382
47383         New module 'memcmp2'.
47384         * lib/memcmp2.h: New file.
47385         * lib/memcmp2.c: New file.
47386         * modules/memcmp2: New file.
47387
47388 2009-03-07  Bruno Haible  <bruno@clisp.org>
47389
47390         Tests for module 'uninorm/decomposing-form'.
47391         * modules/uninorm/decomposing-form-tests: New file.
47392         * tests/uninorm/test-decomposing-form.c: New file.
47393
47394         New module 'uninorm/decomposing-form'.
47395         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
47396         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
47397         Add 'decomposing_variant' field.
47398         * lib/uninorm/decomposing-form.c: New file.
47399         * lib/uninorm/nfc.c (uninorm_nfc): Update.
47400         * lib/uninorm/nfd.c (uninorm_nfd): Update.
47401         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
47402         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
47403         * modules/uninorm/decomposing-form: New file.
47404         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
47405         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
47406
47407 2009-03-07  Bruno Haible  <bruno@clisp.org>
47408
47409         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
47410         strings.
47411
47412 2009-03-06  Bruno Haible  <bruno@clisp.org>
47413
47414         Tests for module 'uninorm/u32-normcmp'.
47415         * tests/uninorm/test-u32-normcmp.c: New file.
47416         * modules/uninorm/u32-normcmp-tests: New file.
47417
47418         Tests for module 'uninorm/u16-normcmp'.
47419         * tests/uninorm/test-u16-normcmp.c: New file.
47420         * modules/uninorm/u16-normcmp-tests: New file.
47421
47422         Tests for module 'uninorm/u8-normcmp'.
47423         * tests/uninorm/test-u8-normcmp.c: New file.
47424         * modules/uninorm/u8-normcmp-tests: New file.
47425
47426         New module 'uninorm/u32-normcmp'.
47427         * lib/uninorm/u32-normcmp.c: New file.
47428         * modules/uninorm/u32-normcmp: New file.
47429
47430         New module 'uninorm/u16-normcmp'.
47431         * lib/uninorm/u16-normcmp.c: New file.
47432         * modules/uninorm/u16-normcmp: New file.
47433
47434         New module 'uninorm/u8-normcmp'.
47435         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47436         declarations.
47437         * lib/uninorm/u8-normcmp.c: New file.
47438         * lib/uninorm/u-normcmp.h: New file.
47439         * modules/uninorm/u8-normcmp: New file.
47440
47441 2009-03-06  Bruno Haible  <bruno@clisp.org>
47442
47443         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47444         Reported by Eric Blake.
47445
47446 2009-03-06  Eric Blake  <ebb9@byu.net>
47447             Bruno Haible  <bruno@clisp.org>
47448
47449         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47450         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47451         condition.
47452         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47453         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47454         condition.
47455         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47456
47457 2009-03-06  Eric Blake  <ebb9@byu.net>
47458
47459         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47460         to avoid compiler warnings.
47461         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47462
47463 2009-03-05  Bruno Haible  <bruno@clisp.org>
47464
47465         * tests/test-ftell.c (main): Disable test beyond end of file on
47466         FreeMiNT.
47467         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47468
47469 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47470
47471         * lib/filevercmp.c: Move hidden files up in ordering.
47472         * tests/test-filevercmp.c: Add tests for hidden files.
47473
47474 2009-03-04  Bruno Haible  <bruno@clisp.org>
47475
47476         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47477         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47478         AM_CFLAGS.
47479         Reported by Simon Josefsson.
47480
47481 2009-03-03  Bruno Haible  <bruno@clisp.org>
47482
47483         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47484         Reported by Simon Josefsson.
47485
47486         * doc/ld-version-script.texi: Update node reference.
47487
47488 2009-03-03  Bruno Haible  <bruno@clisp.org>
47489
47490         * modules/visibility (License): Change to 'unlimited'.
47491         Suggested by Simon Josefsson.
47492
47493 2009-03-03  Jim Meyering  <meyering@redhat.com>
47494
47495         unlinkdir: cannot_unlink_dir may modify process state
47496         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47497         it's neither thread-safe nor appropriate for use in a library.
47498
47499 2009-03-03  Eric Blake  <ebb9@byu.net>
47500
47501         test-closein: silence test under Darwin
47502         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47503         care if it dies from EPIPE or EBADF.
47504
47505 2009-03-03  Bruno Haible  <bruno@clisp.org>
47506
47507         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47508         earlier.
47509         * doc/visibility.texi: Fix @node and @section.
47510
47511 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47512
47513         * doc/gnulib.texi: Link to sections for ld version script and
47514         visibility.
47515         * doc/visibility.texi: Add @node and @section.
47516         * modules/ld-version-script: New module.
47517         * m4/ld-version-script.m4: New file.
47518         * doc/ld-version-script.texi: New file.
47519
47520 2009-03-02  David Lutterkort  <lutter@redhat.com>
47521
47522         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47523         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47524
47525 2009-03-02  Bruno Haible  <bruno@clisp.org>
47526
47527         * doc/visibility.texi: Mention libtool's -export-symbols option.
47528
47529 2009-03-02  Jim Meyering  <meyering@redhat.com>
47530
47531         announce-gen: new option: --no-print-checksums
47532         * build-aux/announce-gen (usage): Describe it.
47533         (print_checksums): Print a newline here, not in the [*] footnote.
47534         (main): Honor it.
47535
47536 2009-03-01  Bruno Haible  <bruno@clisp.org>
47537
47538         Use socklen_t in the native Windows replacements prototypes.
47539         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47540         instead of 'int'.
47541         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47542         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47543         * modules/getsockopt (Depends-on): Add socklen.
47544         * modules/setsockopt (Depends-on): Add socklen.
47545
47546 2009-03-01  Bruno Haible  <bruno@clisp.org>
47547
47548         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47549         least 4.2.
47550
47551 2009-03-01  Eric Blake  <ebb9@byu.net>
47552             Bruno Haible  <bruno@clisp.org>
47553
47554         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47555         error messages.
47556         * lib/wait-process.c (wait_subprocess): Omit error message about
47557         deadly signal sent to the child of termsigp != NULL.
47558
47559 2009-03-01  Eric Blake  <ebb9@byu.net>
47560
47561         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47562
47563 2009-03-01  Bruno Haible  <bruno@clisp.org>
47564
47565         Avoid a gcc warning.
47566         * tests/test-sched.c (b): Make global.
47567         Reported by Eric Blake.
47568
47569 2009-01-19  Martin Lambers  <marlam@marlam.de>
47570
47571         Provide POSIX semantics for socket timeout options on W32.
47572         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47573         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47574         * modules/setsockopt: Depend on sys_time module for struct timeval.
47575         * modules/getsockopt: Depend on sys_time module for struct timeval.
47576
47577 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47578
47579         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47580         __USE_GNU, for consistency with netdb.in.h.
47581         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47582
47583 2009-03-01  Bruno Haible  <bruno@clisp.org>
47584
47585         More support for FreeMiNT.
47586         * lib/fseeko.c (rpl_fseeko): Complete last commit.
47587         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47588
47589 2009-03-01  Bruno Haible  <bruno@clisp.org>
47590
47591         More support for FreeMiNT.
47592         * lib/fpurge.c (fpurge): Correct last commit.
47593         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47594
47595 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47596
47597         Fix unportable awk script in vc-list-files.
47598         * build-aux/vc-list-files: In the replacement awk script, use
47599         substr with a second argument of 1, not zero.
47600         Report by Simon Josefsson.
47601
47602 2009-02-28  Bruno Haible  <bruno@clisp.org>
47603
47604         More support for FreeMiNT.
47605         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
47606         to FreeMiNT today.
47607         * lib/fwriting.c (fwriting): Likewise.
47608         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
47609
47610 2009-02-28  Bruno Haible  <bruno@clisp.org>
47611
47612         * tests/test-freadseek.c (main): Disable test beyond end of file on
47613         FreeMiNT.
47614         * tests/test-ftello.c (main): Likewise.
47615         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47616
47617 2009-02-28  Bruno Haible  <bruno@clisp.org>
47618
47619         Add tentative support for FreeMiNT.
47620         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
47621         * lib/fpurge.c (fpurge): Likewise.
47622         * lib/freadable.c (freadable): Likewise.
47623         * lib/freading.c (freading): Likewise.
47624         * lib/freadptr.c (freadptr): Likewise.
47625         * lib/freadseek.c (freadptrinc): Likewise.
47626         * lib/fseeko.c (rpl_fseeko): Likewise.
47627         * lib/fseterr.c (fseterr): Likewise.
47628         * lib/fwritable.c (fwritable): Likewise.
47629         * lib/fwriting.c (fwriting): Likewise.
47630         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
47631         Hourihane.
47632         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47633
47634 2009-02-28  Bruno Haible  <bruno@clisp.org>
47635
47636         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
47637         SIGCHLD.
47638         Reported by Jim Meyering.
47639
47640 2009-02-28  Bruno Haible  <bruno@clisp.org>
47641
47642         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47643         Mention the results of these tests on various platforms.
47644         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47645         order.
47646         * doc/posix-functions/printf.texi: Likewise.
47647         * doc/posix-functions/snprintf.texi: Likewise.
47648         * doc/posix-functions/sprintf.texi: Likewise.
47649         * doc/posix-functions/vfprintf.texi: Likewise.
47650         * doc/posix-functions/vprintf.texi: Likewise.
47651         * doc/posix-functions/vsnprintf.texi: Likewise.
47652         * doc/posix-functions/vsprintf.texi: Likewise.
47653         * doc/glibc-functions/obstack_printf.texi: Likewise.
47654         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47655
47656 2009-02-28  Bruno Haible  <bruno@clisp.org>
47657
47658         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47659         Reported by Loïc Minier <lool@dooz.org>.
47660
47661 2009-02-27  Bruno Haible  <bruno@clisp.org>
47662
47663         * gnulib-tool (func_import): Make the sed expression used to create the
47664         sed script for updating the .gitignore file POSIX compliant.
47665         Reported by Eric Blake.
47666
47667 2009-02-27  Bruno Haible  <bruno@clisp.org>
47668
47669         * gnulib-tool (sed): Don't alias as "sed --posix".
47670         Reported by Eric Blake.
47671
47672 2009-02-27  Bruno Haible  <bruno@clisp.org>
47673
47674         Avoid test link errors.
47675         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
47676         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
47677         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
47678         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
47679         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47680
47681 2009-02-27  Bruno Haible  <bruno@clisp.org>
47682
47683         Avoid spurious "(cached)" in configure output.
47684         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
47685         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
47686         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47687         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47688         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47689         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
47690         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47691         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47692         Reported by Eric Blake.
47693
47694 2009-02-27  Eric Blake  <ebb9@byu.net>
47695
47696         printf: fix regression in previous patch
47697         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
47698
47699 2009-02-27  Bruno Haible  <bruno@clisp.org>
47700
47701         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
47702         value.
47703         * lib/stdint.in.h: Likewise.
47704         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
47705
47706 2009-02-27  Eric Blake  <ebb9@byu.net>
47707
47708         doc: mention more functions added in cygwin 1.7.0
47709         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
47710         addition.
47711         * doc/posix-functions/open_wmemstream.texi: Likewise.
47712         * doc/posix-functions/wcsnlen.texi: Likewise.
47713         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47714         * doc/posix-functions/wcstod.texi: Likewise.
47715         * doc/posix-functions/wcstof.texi: Likewise.
47716         * doc/posix-functions/wcstoimax.texi: Likewise.
47717         * doc/posix-functions/wcstok.texi: Likewise.
47718         * doc/posix-functions/wcstoumax.texi: Likewise.
47719
47720         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
47721         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
47722         * doc/posix-functions/fprintf.texi: Update.
47723         * doc/posix-functions/printf.texi: Update.
47724         * doc/posix-functions/snprintf.texi: Update.
47725         * doc/posix-functions/sprintf.texi: Update.
47726         * doc/posix-functions/vfprintf.texi: Update.
47727         * doc/posix-functions/vprintf.texi: Update.
47728         * doc/posix-functions/vsnprintf.texi: Update.
47729         * doc/posix-functions/vsprintf.texi: Update.
47730         * doc/glibc-functions/obstack_printf.texi: Update.
47731         * doc/glibc-functions/obstack_vprintf.texi: Update.
47732
47733 2009-02-26  Eric Blake  <ebb9@byu.net>
47734
47735         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
47736         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
47737         compilation bug by using runtime conversion.
47738         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47739         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
47740         * modules/ceill-tests (Files): Use nan.h.
47741         * modules/floorl-tests (Files): Likewise.
47742         * modules/frexpl-tests (Files): Likewise.
47743         * modules/isnanl-tests (Files): Likewise.
47744         * modules/ldexpl-tests (Files): Likewise.
47745         * modules/roundl-tests (Files): Likewise.
47746         * modules/truncl-tests (Files): Likewise.
47747         * tests/test-ceill.c (main): Use a working NaN.
47748         * tests/test-floorl.c (main): Likewise.
47749         * tests/test-frexpl.c (main): Likewise.
47750         * tests/test-isnan.c (test_long_double): Likewise.
47751         * tests/test-isnanl.h (main): Likewise.
47752         * tests/test-ldexpl.h (main): Likewise.
47753         * tests/test-roundl.h (main): Likewise.
47754         * tests/test-truncl.h (main): Likewise.
47755         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
47756
47757 2009-02-26  Eric Blake  <ebb9@byu.net>
47758             Bruno Haible  <bruno@clisp.org>
47759
47760         Work around a *printf bug with %ls on Solaris.
47761         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
47762         precision is specified, sprintf stops converting the wide string
47763         argument when the number of bytes that have been produced by this
47764         conversion equals or exceeds the precision.
47765         * doc/posix-functions/fprintf.texi: Update.
47766         * doc/posix-functions/printf.texi: Update.
47767         * doc/posix-functions/snprintf.texi: Update.
47768         * doc/posix-functions/sprintf.texi: Update.
47769         * doc/posix-functions/vfprintf.texi: Update.
47770         * doc/posix-functions/vprintf.texi: Update.
47771         * doc/posix-functions/vsnprintf.texi: Update.
47772         * doc/posix-functions/vsprintf.texi: Update.
47773         * doc/glibc-functions/obstack_printf.texi: Update.
47774         * doc/glibc-functions/obstack_vprintf.texi: Update.
47775
47776 2009-02-26  Eric Blake  <ebb9@byu.net>
47777
47778         stdlib: favor compiler check of random.h
47779         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
47780         to avoid an ObjC random.h installed by Swarm.
47781
47782 2009-02-26  Bruno Haible  <bruno@clisp.org>
47783
47784         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
47785         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
47786         Reported by Gary V. Vaughan <gary@gnu.org>.
47787
47788 2009-02-26  Bruno Haible  <bruno@clisp.org>
47789
47790         Fix *printf behaviour regarding the %ls directive.
47791         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
47792         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
47793         NEED_PRINTF_DIRECTIVE_LS.
47794         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
47795         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47796         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47797         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
47798         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
47799         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
47800         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47801         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47802         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47803         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47804         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47805         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
47806         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47808         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47809         * doc/posix-functions/fprintf.texi: Update.
47810         * doc/posix-functions/printf.texi: Update.
47811         * doc/posix-functions/snprintf.texi: Update.
47812         * doc/posix-functions/sprintf.texi: Update.
47813         * doc/posix-functions/vfprintf.texi: Update.
47814         * doc/posix-functions/vprintf.texi: Update.
47815         * doc/posix-functions/vsnprintf.texi: Update.
47816         * doc/posix-functions/vsprintf.texi: Update.
47817         * doc/glibc-functions/obstack_printf.texi: Update.
47818         * doc/glibc-functions/obstack_vprintf.texi: Update.
47819         Reported by Eric Blake.
47820
47821 2009-02-25  Bruno Haible  <bruno@clisp.org>
47822
47823         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
47824         with known value.
47825         Reported by Gary V. Vaughan <gary@gnu.org>.
47826
47827 2009-02-25  Bruno Haible  <bruno@clisp.org>
47828
47829         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
47830         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
47831         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
47832         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
47833         Reported by Gary V. Vaughan <gary@gnu.org>.
47834
47835 2009-02-25  Bruno Haible  <bruno@clisp.org>
47836
47837         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
47838         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
47839         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
47840         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
47841         Reported by Gary V. Vaughan <gary@gnu.org>.
47842
47843 2009-02-25  Eric Blake  <ebb9@byu.net>
47844
47845         tests: skip fseek/ftell tests if ungetc is broken
47846         * m4/ungetc.m4: New file.
47847         * modules/fseek-tests: Split test, so ungetc dependency is
47848         separate from rest of test.
47849         * modules/fseeko-tests: Likewise.
47850         * modules/ftell-tests: Likewise.
47851         * modules/ftello-tests: Likewise.
47852         * tests/test-fseek.c (main): Isolate ungetc dependency.
47853         * tests/test-fseeko.c (main): Likewise.
47854         * tests/test-ftell.c (main): Likewise.
47855         * tests/test-ftello.c (main): Likewise.
47856         * tests/test-fseek2.sh: New file.
47857         * tests/test-fseeko2.sh: Likewise.
47858         * tests/test-ftell2.sh: Likewise.
47859         * tests/test-ftello2.sh: Likewise.
47860
47861 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
47862
47863         test-getaddrinfo: fix usage of skip return code 77
47864         * tests/test-gettaddrinfo.c: Return skip code 77 only
47865         for first occurrence of skip (4x77 is not 77)
47866
47867 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
47868
47869         strtod: avoid C99 decl-after-statement
47870         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
47871
47872 2009-02-24  Eric Blake  <ebb9@byu.net>
47873
47874         strtod: detect HP-UX 11.31 bug
47875         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
47876         Reported by Gary V. Vaughan.
47877
47878 2009-02-23  Bruno Haible  <bruno@clisp.org>
47879
47880         Fix invalid read past end of memory block.
47881         * lib/vasnprintf.c (DCHAR_SET): Define.
47882         (local_wcslen): Define only when needed.
47883         (local_strnlen, local_wcsnlen): New functions.
47884         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
47885         directives that involve a conversion ourselves.
47886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
47887         wcsnlen, mbrtowc, wcrtomb.
47888         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
47889         * tests/test-vasprintf-posix.c (test_function): Likewise.
47890         * tests/test-snprintf-posix.h (test_function): Likewise.
47891         * tests/test-sprintf-posix.h (test_function): Likewise.
47892         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47893
47894 2009-02-22  Bruno Haible  <bruno@clisp.org>
47895
47896         Implement new clarified decomposition of Hangul syllables.
47897         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
47898         of type LTV, return only a pairwise decomposition.
47899         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
47900         Likewise.
47901         * tests/uninorm/test-decomposition.c (main): Updated expected result.
47902         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
47903         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
47904
47905 2009-02-22  Bruno Haible  <bruno@clisp.org>
47906
47907         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
47908         zero-length results and shrink excess allocated memory.
47909         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
47910         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
47911         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
47912         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
47913         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
47914         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
47915         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
47916         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
47917         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
47918         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
47919         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
47920         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
47921
47922 2009-02-21  Bruno Haible  <bruno@clisp.org>
47923
47924         * doc/gnulib.texi: Include safe-alloc.texi earlier.
47925         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
47926         spaces after a period. Put a space between a macro name and its
47927         argument list. Trivial rewordings.
47928         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
47929         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
47930         (main): Return 0 explicitly.
47931
47932 2009-02-21  Bruno Haible  <bruno@clisp.org>
47933
47934         Tests for module 'uninorm/filter'.
47935         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
47936         * modules/uninorm/filter-tests: New file.
47937
47938         New module 'uninorm/filter'.
47939         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
47940         uninorm_filter_flush, uninorm_filter_free): New declarations.
47941         * lib/uninorm/uninorm-filter.c: New file.
47942         * modules/uninorm/filter: New file.
47943
47944 2009-02-21  Bruno Haible  <bruno@clisp.org>
47945
47946         Tests for module 'uninorm/nfkc'.
47947         * tests/uninorm/test-nfkc.c: New file.
47948         * tests/uninorm/test-u8-nfkc.c: New file.
47949         * tests/uninorm/test-u16-nfkc.c: New file.
47950         * tests/uninorm/test-u32-nfkc.c: New file.
47951         * tests/uninorm/test-u32-nfkc-big.sh: New file.
47952         * tests/uninorm/test-u32-nfkc-big.c: New file.
47953         * modules/uninorm/nfkc-tests: New file.
47954
47955         New module 'uninorm/nfkc'.
47956         * lib/uninorm/nfkc.c: New file.
47957         * modules/uninorm/nfkc: New file.
47958
47959         Tests for module 'uninorm/nfkd'.
47960         * tests/uninorm/test-nfkd.c: New file.
47961         * tests/uninorm/test-u8-nfkd.c: New file.
47962         * tests/uninorm/test-u16-nfkd.c: New file.
47963         * tests/uninorm/test-u32-nfkd.c: New file.
47964         * tests/uninorm/test-u32-nfkd-big.sh: New file.
47965         * tests/uninorm/test-u32-nfkd-big.c: New file.
47966         * modules/uninorm/nfkd-tests: New file.
47967
47968         New module 'uninorm/nfkd'.
47969         * lib/uninorm/nfkd.c: New file.
47970         * modules/uninorm/nfkd: New file.
47971
47972         Tests for module 'uninorm/nfc'.
47973         * tests/uninorm/test-nfc.c: New file.
47974         * tests/uninorm/test-u8-nfc.c: New file.
47975         * tests/uninorm/test-u16-nfc.c: New file.
47976         * tests/uninorm/test-u32-nfc.c: New file.
47977         * tests/uninorm/test-u32-nfc-big.sh: New file.
47978         * tests/uninorm/test-u32-nfc-big.c: New file.
47979         * modules/uninorm/nfc-tests: New file.
47980
47981         New module 'uninorm/nfc'.
47982         * lib/uninorm/nfc.c: New file.
47983         * modules/uninorm/nfc: New file.
47984
47985         Tests for module 'uninorm/nfd'.
47986         * tests/uninorm/test-nfd.c: New file.
47987         * tests/uninorm/test-u8-nfd.c: New file.
47988         * tests/uninorm/test-u16-nfd.c: New file.
47989         * tests/uninorm/test-u32-nfd.c: New file.
47990         * tests/uninorm/test-u32-nfd-big.sh: New file.
47991         * tests/uninorm/test-u32-nfd-big.c: New file.
47992         * tests/uninorm/test-u32-normalize-big.h: New file.
47993         * tests/uninorm/test-u32-normalize-big.c: New file.
47994         * tests/uninorm/NormalizationTest.txt: New file, created from
47995         Unicode 5.1.0 NormalizationTest.txt.
47996         * modules/uninorm/nfd-tests: New file.
47997
47998         New module 'uninorm/nfd'.
47999         * lib/uninorm/nfd.c: New file.
48000         * modules/uninorm/nfd: New file.
48001
48002         New module 'uninorm/u32-normalize'.
48003         * lib/uninorm/u32-normalize.c: New file.
48004         * modules/uninorm/u32-normalize: New file.
48005
48006         New module 'uninorm/u16-normalize'.
48007         * lib/uninorm/u16-normalize.c: New file.
48008         * modules/uninorm/u16-normalize: New file.
48009
48010         New module 'uninorm/u8-normalize'.
48011         * lib/uninorm/u8-normalize.c: New file.
48012         * lib/uninorm/normalize-internal.h: New file.
48013         * lib/uninorm/u-normalize-internal.h: New file.
48014         * modules/uninorm/u8-normalize: New file.
48015
48016         New module 'uninorm/decompose-internal'.
48017         * lib/uninorm/decompose-internal.c: New file.
48018         * modules/uninorm/decompose-internal: New file.
48019
48020         Tests for module 'uninorm/composition'.
48021         * tests/uninorm/test-composition.c: New file.
48022         * modules/uninorm/composition-tests: New file.
48023
48024         New module 'uninorm/composition'.
48025         * lib/uninorm/composition.c: New file.
48026         * lib/uninorm/composition-table.gperf: New file, generated by
48027         gen-uni-tables.
48028         * modules/uninorm/composition: New file.
48029
48030         Tests for module 'uninorm/compat-decomposition'.
48031         * tests/uninorm/test-compat-decomposition.c: New file.
48032         * modules/uninorm/compat-decomposition-tests: New file.
48033
48034         New module 'uninorm/compat-decomposition'.
48035         * lib/uninorm/decompose-internal.h: New file.
48036         * lib/uninorm/compat-decomposition.c: New file.
48037         * modules/uninorm/compat-decomposition: New file.
48038
48039         Tests for module 'uninorm/canonical-decomposition'.
48040         * tests/uninorm/test-canonical-decomposition.c: New file.
48041         * modules/uninorm/canonical-decomposition-tests: New file.
48042
48043         New module 'uninorm/canonical-decomposition'.
48044         * lib/uninorm/canonical-decomposition.c: New file.
48045         * modules/uninorm/canonical-decomposition: New file.
48046
48047         Tests for module 'uninorm/decomposition'.
48048         * tests/uninorm/test-decomposition.c: New file.
48049         * modules/uninorm/decomposition-tests: New file.
48050
48051         New module 'uninorm/decomposition'.
48052         * lib/uninorm/decomposition.c: New file.
48053         * modules/uninorm/decomposition: New file.
48054
48055         New module 'uninorm/decomposition-table'.
48056         * lib/uninorm/decomposition-table.h: New file.
48057         * lib/uninorm/decomposition-table.c: New file.
48058         * lib/uninorm/decomposition-table1.h: New file, generated by
48059         gen-uni-tables.
48060         * lib/uninorm/decomposition-table2.h: New file, generated by
48061         gen-uni-tables.
48062         * modules/uninorm/decomposition-table: New file.
48063
48064         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
48065         (UC_DECOMP_*): New enumeration items.
48066         (get_decomposition): New function.
48067         (struct decomp_table): New type.
48068         (output_decomposition, output_decomposition_tables): New functions.
48069         (unicode_composition_exclusions): New variable.
48070         (fill_composition_exclusions, debug_output_composition_tables): New
48071         functions.
48072         (main): Accept one more argument. Invoke fill_composition_exclusions.
48073         Output decomposition and composition tables.
48074
48075         New module 'uninorm/base'.
48076         * lib/uninorm.h: New file.
48077         * lib/unictype.h: Update comment.
48078         * modules/uninorm/base: New file.
48079
48080 2009-02-21  David Lutterkort  <lutter@redhat.com>
48081
48082         Tests for module 'safe-alloc'.
48083         * tests/test-safe-alloc.c: New file.
48084         * modules/safe-alloc-tests: New file.
48085
48086         New module 'safe-alloc'.
48087         * lib/safe-alloc.h: New file.
48088         * lib/safe-alloc.c: New file.
48089         * m4/safe-alloc.m4: New file.
48090         * modules/safe-alloc: New file.
48091         * doc/safe-alloc.texi: New file.
48092         * doc/gnulib.texi: Include it.
48093         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48094         safe-alloc.
48095
48096 2009-02-18  Bruno Haible  <bruno@clisp.org>
48097
48098         Fix link error on non-glibc systems.
48099         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
48100         variable.
48101         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48102
48103 2009-02-18  Jim Meyering  <meyering@redhat.com>
48104
48105         fts: avoid used-uninitialized error due to recent change
48106         * lib/fts.c (fts_read): Guard uses of the new member,
48107         parent->fts_n_dirs_remaining, since it's not relevant for
48108         the parent of a directory specified on the command-line.
48109
48110 2009-02-17  James Youngman  <jay@gnu.org>
48111             Bruno Haible  <bruno@clisp.org>
48112
48113         * m4/include_next.m4: Reformulate comment.
48114
48115 2009-02-16  Jim Meyering  <meyering@redhat.com>
48116
48117         fts: add #if guards so that the fts_lgpl module still builds
48118         * lib/fts.c: Guard just-added hash-table-using parts with
48119         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
48120         Reported by Simon Josefsson.
48121
48122 2009-02-15  Bruno Haible  <bruno@clisp.org>
48123
48124         * modules/array-mergesort-tests: New file.
48125         * tests/test-array-mergesort.c: New file.
48126
48127         New module 'array-mergesort'.
48128         * modules/array-mergesort: New file.
48129         * lib/array-mergesort.h: New file.
48130
48131 2009-02-15  Bruno Haible  <bruno@clisp.org>
48132
48133         Fix 2009-02-07 commit.
48134         * lib/gen-uni-tables.c (output_predicate, output_category,
48135         output_combclass, output_bidi_category, output_decimal_digit,
48136         output_digit, output_numeric, output_mirror, output_scripts,
48137         output_ident_category, output_simple_mapping): Fix format directives.
48138         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
48139
48140 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
48141
48142         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
48143         fixes are available from IBM.
48144
48145 2009-02-13  Jim Meyering  <meyering@redhat.com>
48146
48147         fts: arrange not to stat non-directories in more cases
48148         This makes GNU find (when it doesn't need to stat each file)
48149         *much* more efficient at traversing reiserfs file systems.
48150         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
48151         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
48152         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
48153         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
48154         (leaf_optimization_applies): New function.
48155         (LCO_hash, LCO_compare): New helper functions.
48156         (link_count_optimize_ok): New function.
48157         (fts_stat): Initialize new member (if dir).
48158         (fts_read): Decrement parent's fts_n_dirs_remaining count if
48159         we've just stat'ed a directory.  Skip the stat call when possible.
48160         ---
48161         Note this AFS-related exchange:
48162         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
48163         and note find's pioctl call in find/fstype.c.
48164         But that is necessary only if you want to enable the
48165         optimization for AFS, and for now, I don't.
48166
48167         fts: move a function definition "up" (no semantic change)
48168         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
48169         "up" to precede upcoming use of a related function.
48170
48171 2009-02-11  Jim Meyering  <meyering@redhat.com>
48172
48173         fts: correct internal computation of nlinks (optimization-related)
48174         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
48175         whether the current entry is a directory, so don't test it.
48176
48177 2009-02-10  Bruno Haible  <bruno@clisp.org>
48178
48179         Tests for module 'uniwbrk/ulc-wordbreaks'.
48180         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
48181         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
48182         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
48183
48184         Tests for module 'uniwbrk/u32-wordbreaks'.
48185         * modules/uniwbrk/u32-wordbreaks-tests: New file.
48186         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
48187
48188         Tests for module 'uniwbrk/u16-wordbreaks'.
48189         * modules/uniwbrk/u16-wordbreaks-tests: New file.
48190         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
48191
48192         Tests for module 'uniwbrk/u8-wordbreaks'.
48193         * modules/uniwbrk/u8-wordbreaks-tests: New file.
48194         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
48195
48196 2009-02-10  Bruno Haible  <bruno@clisp.org>
48197
48198         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
48199         property.
48200         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
48201         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
48202         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
48203
48204 2009-02-10  Simon Josefsson  <simon@josefsson.org>
48205
48206         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
48207         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
48208
48209 2009-02-10  Bruno Haible  <bruno@clisp.org>
48210
48211         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
48212         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
48213         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
48214         * lib/unilbrk/u8-possible-linebreaks.c: Update.
48215         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
48216         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
48217
48218 2009-02-09  Simon Josefsson  <simon@josefsson.org>
48219
48220         * lib/sockets.h (gl_fd_to_handle): New function.
48221
48222         * tests/test-sockets.c: Call gl_fd_to_handle.
48223
48224 2009-02-09  Bruno Haible  <bruno@clisp.org>
48225
48226         * doc/havelib.texi: Document the conventions on bi-arch systems.
48227
48228 2009-02-08  Bruno Haible  <bruno@clisp.org>
48229
48230         Document the AC_LIB_LINKFLAGS macro.
48231         * doc/havelib.texi: New file, mostly written on 2005-05-24.
48232         * doc/gnulib.texi: Include it.
48233
48234 2009-02-08  Bruno Haible  <bruno@clisp.org>
48235
48236         Fix wrong order of sections, compared to TOC.
48237         * doc/gnulib.texi: Include relocatable-maint.texi after the
48238         "Regular expressions" node, not before.
48239
48240 2009-02-08  Bruno Haible  <bruno@clisp.org>
48241
48242         Tests for module 'unicase/totitle'.
48243         * modules/unicase/totitle-tests: New file.
48244
48245         Tests for module 'unicase/tolower'.
48246         * modules/unicase/tolower-tests: New file.
48247
48248         Tests for module 'unicase/toupper'.
48249         * modules/unicase/toupper-tests: New file.
48250         * tests/unicase/test-mapping-part1.h: New file.
48251         * tests/unicase/test-mapping-part2.h: New file.
48252
48253         New module 'unicase/totitle'.
48254         * modules/unicase/totitle: New file.
48255         * lib/unicase/totitle.c: New file.
48256
48257         New module 'unicase/tolower'.
48258         * modules/unicase/tolower: New file.
48259         * lib/unicase/tolower.c: New file.
48260
48261         New module 'unicase/toupper'.
48262         * modules/unicase/toupper: New file.
48263         * lib/unicase/toupper.c: New file.
48264         * lib/unicase/simple-mapping.h: New file.
48265
48266         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
48267         (mapping_table): New structure.
48268         (output_simple_mapping): New function.
48269         (main): Invoke output_simple_mapping_test and output_simple_mapping.
48270         * modules/gen-uni-tables (Description): Update.
48271         * lib/unicase/toupper.h: New file, automatically generated by
48272         gen-uni-tables.
48273         * lib/unicase/tolower.h: New file, automatically generated by
48274         gen-uni-tables.
48275         * lib/unicase/totitle.h: New file, automatically generated by
48276         gen-uni-tables.
48277         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
48278         gen-uni-tables.
48279         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
48280         gen-uni-tables.
48281         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
48282         gen-uni-tables.
48283
48284         New module 'unicase/base'.
48285         * modules/unicase/base: New file.
48286         * lib/unicase.h: New file.
48287
48288 2009-02-08  Bruno Haible  <bruno@clisp.org>
48289
48290         New module 'uniwbrk/ulc-wordbreaks'.
48291         * modules/uniwbrk/ulc-wordbreaks: New file.
48292         * lib/uniwbrk/ulc-wordbreaks.c: New file.
48293
48294         New module 'uniwbrk/u32-wordbreaks'.
48295         * modules/uniwbrk/u32-wordbreaks: New file.
48296         * lib/uniwbrk/u32-wordbreaks.c: New file.
48297
48298         New module 'uniwbrk/u16-wordbreaks'.
48299         * modules/uniwbrk/u16-wordbreaks: New file.
48300         * lib/uniwbrk/u16-wordbreaks.c: New file.
48301
48302         New module 'uniwbrk/u8-wordbreaks'.
48303         * modules/uniwbrk/u8-wordbreaks: New file.
48304         * lib/uniwbrk/u8-wordbreaks.c: New file.
48305         * lib/uniwbrk/u-wordbreaks.h: New file.
48306
48307         New module 'uniwbrk/table'.
48308         * modules/uniwbrk/table: New file.
48309         * lib/uniwbrk/wbrktable.h: New file.
48310         * lib/uniwbrk/wbrktable.c: New file.
48311
48312         New module 'uniwbrk/wordbreak-property'.
48313         * modules/uniwbrk/wordbreak-property: New file.
48314         * lib/uniwbrk/wordbreak-property.c: New file.
48315
48316         * lib/gen-uni-tables.c (WBP_*): New enum items.
48317         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
48318         (unicode_org_wbp): New variable.
48319         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
48320         New functions.
48321         (wbp_table): New structure.
48322         (output_wbp, output_wbrk_tables): New functions.
48323         (main): Accept additional argument. Invoke fill_org_wbp,
48324         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
48325         output_wbrk_tables.
48326         * modules/gen-uni-tables (Description): Update.
48327         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
48328         gen-uni-tables.
48329
48330         New module 'uniwbrk/base'.
48331         * modules/uniwbrk/base: New file.
48332         * lib/uniwbrk.h: New file.
48333
48334 2009-02-08  Bruno Haible  <bruno@clisp.org>
48335
48336         Update to Unicode 5.1.0.
48337         * lib/gen-uni-tables.c (is_property_alphabetic): Include
48338         U+2185..U+2188.
48339         (is_property_default_ignorable_code_point): Don't include characters
48340         of category Cc or Cs and not-a-characters.
48341         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
48342         U+0D79, U+109E, U+109F, U+A60C.
48343         * lib/unictype/bidi_of.h: Regenerated.
48344         * lib/unictype/blocks.h: Regenerated.
48345         * lib/unictype/categ_C.h: Regenerated.
48346         * lib/unictype/categ_Cf.h: Regenerated.
48347         * lib/unictype/categ_Cn.h: Regenerated.
48348         * lib/unictype/categ_L.h: Regenerated.
48349         * lib/unictype/categ_Ll.h: Regenerated.
48350         * lib/unictype/categ_Lm.h: Regenerated.
48351         * lib/unictype/categ_Lo.h: Regenerated.
48352         * lib/unictype/categ_Lu.h: Regenerated.
48353         * lib/unictype/categ_M.h: Regenerated.
48354         * lib/unictype/categ_Mc.h: Regenerated.
48355         * lib/unictype/categ_Me.h: Regenerated.
48356         * lib/unictype/categ_Mn.h: Regenerated.
48357         * lib/unictype/categ_N.h: Regenerated.
48358         * lib/unictype/categ_Nd.h: Regenerated.
48359         * lib/unictype/categ_Nl.h: Regenerated.
48360         * lib/unictype/categ_No.h: Regenerated.
48361         * lib/unictype/categ_P.h: Regenerated.
48362         * lib/unictype/categ_Pd.h: Regenerated.
48363         * lib/unictype/categ_Pe.h: Regenerated.
48364         * lib/unictype/categ_Pf.h: Regenerated.
48365         * lib/unictype/categ_Pi.h: Regenerated.
48366         * lib/unictype/categ_Po.h: Regenerated.
48367         * lib/unictype/categ_Ps.h: Regenerated.
48368         * lib/unictype/categ_S.h: Regenerated.
48369         * lib/unictype/categ_Sk.h: Regenerated.
48370         * lib/unictype/categ_Sm.h: Regenerated.
48371         * lib/unictype/categ_So.h: Regenerated.
48372         * lib/unictype/categ_of.h: Regenerated.
48373         * lib/unictype/combining.h: Regenerated.
48374         * lib/unictype/ctype_alnum.h: Regenerated.
48375         * lib/unictype/ctype_alpha.h: Regenerated.
48376         * lib/unictype/ctype_graph.h: Regenerated.
48377         * lib/unictype/ctype_lower.h: Regenerated.
48378         * lib/unictype/ctype_print.h: Regenerated.
48379         * lib/unictype/ctype_punct.h: Regenerated.
48380         * lib/unictype/ctype_upper.h: Regenerated.
48381         * lib/unictype/decdigit.h: Regenerated.
48382         * lib/unictype/digit.h: Regenerated.
48383         * lib/unictype/mirror.h: Regenerated.
48384         * lib/unictype/numeric.h: Regenerated.
48385         * lib/unictype/pr_alphabetic.h: Regenerated.
48386         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
48387         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
48388         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
48389         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
48390         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
48391         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
48392         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
48393         * lib/unictype/pr_combining.h: Regenerated.
48394         * lib/unictype/pr_dash.h: Regenerated.
48395         * lib/unictype/pr_decimal_digit.h: Regenerated.
48396         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
48397         * lib/unictype/pr_deprecated.h: Regenerated.
48398         * lib/unictype/pr_diacritic.h: Regenerated.
48399         * lib/unictype/pr_extender.h: Regenerated.
48400         * lib/unictype/pr_format_control.h: Regenerated.
48401         * lib/unictype/pr_grapheme_base.h: Regenerated.
48402         * lib/unictype/pr_grapheme_extend.h: Regenerated.
48403         * lib/unictype/pr_grapheme_link.h: Regenerated.
48404         * lib/unictype/pr_id_continue.h: Regenerated.
48405         * lib/unictype/pr_id_start.h: Regenerated.
48406         * lib/unictype/pr_ideographic.h: Regenerated.
48407         * lib/unictype/pr_ignorable_control.h: Regenerated.
48408         * lib/unictype/pr_lowercase.h: Regenerated.
48409         * lib/unictype/pr_math.h: Regenerated.
48410         * lib/unictype/pr_numeric.h: Regenerated.
48411         * lib/unictype/pr_other_alphabetic.h: Regenerated.
48412         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
48413         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
48414         * lib/unictype/pr_other_id_continue.h: Regenerated.
48415         * lib/unictype/pr_other_lowercase.h: Regenerated.
48416         * lib/unictype/pr_other_math.h: Regenerated.
48417         * lib/unictype/pr_punctuation.h: Regenerated.
48418         * lib/unictype/pr_sentence_terminal.h: Regenerated.
48419         * lib/unictype/pr_soft_dotted.h: Regenerated.
48420         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
48421         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
48422         * lib/unictype/pr_unified_ideograph.h: Regenerated.
48423         * lib/unictype/pr_uppercase.h: Regenerated.
48424         * lib/unictype/pr_xid_continue.h: Regenerated.
48425         * lib/unictype/pr_xid_start.h: Regenerated.
48426         * lib/unictype/pr_zero_width.h: Regenerated.
48427         * lib/unictype/scripts.h: Regenerated.
48428         * lib/unictype/scripts_byname.gperf: Regenerated.
48429         * lib/unictype/sy_java_ident.h: Regenerated.
48430         * lib/unilbrk/lbrkprop1.h: Regenerated.
48431         * lib/unilbrk/lbrkprop2.h: Regenerated.
48432         * tests/unictype/test-categ_C.c: Regenerated.
48433         * tests/unictype/test-categ_Cf.c: Regenerated.
48434         * tests/unictype/test-categ_Cn.c: Regenerated.
48435         * tests/unictype/test-categ_L.c: Regenerated.
48436         * tests/unictype/test-categ_Ll.c: Regenerated.
48437         * tests/unictype/test-categ_Lm.c: Regenerated.
48438         * tests/unictype/test-categ_Lo.c: Regenerated.
48439         * tests/unictype/test-categ_Lu.c: Regenerated.
48440         * tests/unictype/test-categ_M.c: Regenerated.
48441         * tests/unictype/test-categ_Mc.c: Regenerated.
48442         * tests/unictype/test-categ_Me.c: Regenerated.
48443         * tests/unictype/test-categ_Mn.c: Regenerated.
48444         * tests/unictype/test-categ_N.c: Regenerated.
48445         * tests/unictype/test-categ_Nd.c: Regenerated.
48446         * tests/unictype/test-categ_Nl.c: Regenerated.
48447         * tests/unictype/test-categ_No.c: Regenerated.
48448         * tests/unictype/test-categ_P.c: Regenerated.
48449         * tests/unictype/test-categ_Pd.c: Regenerated.
48450         * tests/unictype/test-categ_Pe.c: Regenerated.
48451         * tests/unictype/test-categ_Pf.c: Regenerated.
48452         * tests/unictype/test-categ_Pi.c: Regenerated.
48453         * tests/unictype/test-categ_Po.c: Regenerated.
48454         * tests/unictype/test-categ_Ps.c: Regenerated.
48455         * tests/unictype/test-categ_S.c: Regenerated.
48456         * tests/unictype/test-categ_Sk.c: Regenerated.
48457         * tests/unictype/test-categ_Sm.c: Regenerated.
48458         * tests/unictype/test-categ_So.c: Regenerated.
48459         * tests/unictype/test-ctype_alnum.c: Regenerated.
48460         * tests/unictype/test-ctype_alpha.c: Regenerated.
48461         * tests/unictype/test-ctype_graph.c: Regenerated.
48462         * tests/unictype/test-ctype_lower.c: Regenerated.
48463         * tests/unictype/test-ctype_print.c: Regenerated.
48464         * tests/unictype/test-ctype_punct.c: Regenerated.
48465         * tests/unictype/test-ctype_upper.c: Regenerated.
48466         * tests/unictype/test-decdigit.h: Regenerated.
48467         * tests/unictype/test-digit.h: Regenerated.
48468         * tests/unictype/test-numeric.h: Regenerated.
48469         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48470         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48471         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48472         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48473         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48474         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48475         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48476         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48477         * tests/unictype/test-pr_combining.c: Regenerated.
48478         * tests/unictype/test-pr_dash.c: Regenerated.
48479         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48480         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48481         * tests/unictype/test-pr_deprecated.c: Regenerated.
48482         * tests/unictype/test-pr_diacritic.c: Regenerated.
48483         * tests/unictype/test-pr_extender.c: Regenerated.
48484         * tests/unictype/test-pr_format_control.c: Regenerated.
48485         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48486         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48487         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48488         * tests/unictype/test-pr_id_continue.c: Regenerated.
48489         * tests/unictype/test-pr_id_start.c: Regenerated.
48490         * tests/unictype/test-pr_ideographic.c: Regenerated.
48491         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48492         * tests/unictype/test-pr_lowercase.c: Regenerated.
48493         * tests/unictype/test-pr_math.c: Regenerated.
48494         * tests/unictype/test-pr_numeric.c: Regenerated.
48495         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48496         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48497         Regenerated.
48498         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48499         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48500         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48501         * tests/unictype/test-pr_other_math.c: Regenerated.
48502         * tests/unictype/test-pr_punctuation.c: Regenerated.
48503         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48504         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48505         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48506         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48507         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48508         * tests/unictype/test-pr_uppercase.c: Regenerated.
48509         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48510         * tests/unictype/test-pr_xid_start.c: Regenerated.
48511         * tests/unictype/test-pr_zero_width.c: Regenerated.
48512
48513         Update to Unicode 5.1.0.
48514         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48515         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48516         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48517         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48518         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48519         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48520         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48521         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48522         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48523         (nonspacing_table_ind): Update.
48524         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48525
48526         Update to Unicode 5.1.0.
48527         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48528         code transform.
48529         * lib/uniname/uniname.c (unicode_character_name,
48530         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48531         * lib/uniname/uninames.h: Regenerated.
48532         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48533
48534 2009-02-07  Bruno Haible  <bruno@clisp.org>
48535
48536         Merge gen-ctype and gen-lbrk into a single program.
48537         * lib/gen-uni-tables.c: New file, incorporating
48538         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48539         Add directory prefixes to the names of the generated files.
48540         * lib/unictype/gen-ctype.c: Remove file.
48541         * lib/unilbrk/gen-lbrk.c: Remove file.
48542         * modules/gen-uni-tables: New file.
48543         * modules/unictype/gen-ctype: Remove file.
48544         * modules/unilbrk/gen-lbrk: Remove file.
48545
48546 2009-02-07  Bruno Haible  <bruno@clisp.org>
48547
48548         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48549
48550         New module 'unistr/u32-strcoll'.
48551         * modules/unistr/u32-strcoll: New file.
48552         * lib/unistr/u32-strcoll.c: New file.
48553
48554         New module 'unistr/u16-strcoll'.
48555         * modules/unistr/u16-strcoll: New file.
48556         * lib/unistr/u16-strcoll.c: New file.
48557
48558         New module 'unistr/u8-strcoll'.
48559         * modules/unistr/u8-strcoll: New file.
48560         * lib/unistr/u8-strcoll.c: New file.
48561         * lib/unistr/u-strcoll.h: New file.
48562
48563 2009-02-07  Bruno Haible  <bruno@clisp.org>
48564
48565         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48566         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48567         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48568         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48569         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48570         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48571
48572 2009-02-07  Bruno Haible  <bruno@clisp.org>
48573
48574         Make 64-bit clean.
48575         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48576         output_combclass, output_bidi_category, output_decimal_digit,
48577         output_digit, output_numeric, output_mirror, output_scripts,
48578         output_ident_category): Use proper width specifier in format strings.
48579
48580 2009-02-07  Bruno Haible  <bruno@clisp.org>
48581
48582         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48583         failure behaviour.
48584
48585 2009-02-07  Jim Meyering  <meyering@redhat.com>
48586
48587         regex: avoid compilation failure with upcoming gcc-4.4
48588         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48589         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48590         "... error: integer overflow in preprocessor expression".
48591
48592 2009-02-05  Ben Pfaff  <blp@gnu.org>
48593
48594         Fix link errors on Windows when close module is used.
48595         * modules/close: Add $(LIB_CLOSE) to Link section.
48596         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48597         $(LIB_CLOSE) on Windows.
48598
48599 2009-02-05  Jim Meyering  <meyering@redhat.com>
48600
48601         still avoid unused-parameter warnings, but do it cleanly
48602         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
48603         (get_fs_usage): Cast to void instead.
48604         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
48605         (dev_from_mount_options, read_file_system_list): Cast to void.
48606         Prompted by Bruno Haible.
48607
48608 2009-02-04  Jim Meyering  <meyering@redhat.com>
48609
48610         fsusage.c: correct copyright year
48611         * lib/fsusage.c: Reflect year in which the change is pushed into
48612
48613         avoid misc. warnings
48614         * lib/fsusage.c (UNUSED_PARAM): Define.
48615         (get_fs_usage): Mark parameter "disk" as unused.
48616         * lib/getugroups.c (getgrent): Use "void" in prototype.
48617         * lib/mountlist.c: Mark unused parameters.
48618         (read_file_system_list): Declare a local with "const".
48619         * lib/nanosleep.c (getnow): Declare static.
48620         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
48621
48622         dirfd: set errno upon failure
48623         * lib/dirfd.c: Include <errno.h>.
48624         Set errno to ENOTSUP when returning -1.
48625         * modules/dirfd (Depends-on): Add errno.
48626         Suggested by John Kodis <kodis@comcast.net>.
48627
48628 2009-02-01  Bruno Haible  <bruno@clisp.org>
48629
48630         Don't assume sizeof (long) >= sizeof (void *).
48631         * lib/memcmp.c: Include stdint.h.
48632         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
48633         srcp2 to 'const byte *'.
48634         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
48635         types to uintptr_t.
48636         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
48637         * modules/memcmp (Depends-on): Add stdint.
48638         Reported by Ozkan Sezer <sezeroz@gmail.com>.
48639
48640 2009-01-30  Eric Blake  <ebb9@byu.net>
48641
48642         fix more require-before-expand issues
48643         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48644         expand, AC_PROG_AWK.
48645         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48646
48647 2009-01-28  Eric Blake  <ebb9@byu.net>
48648
48649         version-etc: use consistent URL formatting
48650         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48651         Improve formatting.  Use fputs for string without %.
48652
48653 2009-01-28  Jim Meyering  <meyering@redhat.com>
48654
48655         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48656         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48657         "underquoted definition of NAME" from autoconf-2.59.
48658
48659 2009-01-28  Bruno Haible  <bruno@clisp.org>
48660
48661         * doc/gnulib.texi: Add "Obsolete modules" to index.
48662
48663 2009-01-28  Jim Meyering  <meyering@redhat.com>
48664
48665         useless-if-before-free: recognize more variants
48666         * build-aux/useless-if-before-free: Also recognize e.g.,
48667         if (NULL != p) free (p);
48668
48669 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
48670
48671         test-getaddrinfo: skip (don't fail) this test when there's no network
48672         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
48673         on the presumption that it means you lack network access.
48674
48675 2009-01-26  Jim Meyering  <meyering@redhat.com>
48676
48677         fflush: avoid warnings on modern systems
48678         * lib/fflush.c (rpl_fflush): Move declarations of locals,
48679         pos and result, into scopes where they're used.
48680
48681 2009-01-26  Eric Blake  <ebb9@byu.net>
48682
48683         Silence warning reintroduced by recent extensions patch.
48684         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
48685         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
48686         autoconf.
48687
48688         Backport improved autoconf semantics of AC_DEFUN_ONCE.
48689         * m4/00gnulib.m4: New file.
48690         * gnulib-tool (func_get_filelist): Always use it.
48691         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
48692         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
48693
48694 2009-01-25  Bruno Haible  <bruno@clisp.org>
48695
48696         Make test-quotearg work on MacOS X and AIX.
48697         * tests/test-quotearg.sh: New file.
48698         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
48699         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
48700         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
48701         include <libintl.h>.
48702         (fake_locale): Remove variable.
48703         (gettext, dgettext, dcgettext): Remove functions.
48704         (main): Instead of setting a fake locale, set a real locale. Call
48705         textdomain and bindtextdomain.
48706         * modules/quotearg-tests (Files): Add the new files.
48707         (Depends-on): Add gettext, setenv, unsetenv.
48708         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
48709         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
48710         Augment TESTS_ENVIRONMENT.
48711
48712 2009-01-25  Bruno Haible  <bruno@clisp.org>
48713
48714         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
48715         fr_FR.ISO8859-1 locale on MacOS X.
48716         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
48717         ja_JP.eucJP locale on MacOS X.
48718         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
48719         zh_CN.GB18030 locale on MacOS X.
48720
48721 2009-01-25  Bruno Haible  <bruno@clisp.org>
48722
48723         Avoid link errors on MacOS X 10.3.
48724         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
48725         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48726
48727 2009-01-25  Bruno Haible  <bruno@clisp.org>
48728
48729         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48730         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
48731         * modules/pipe (Files): Remove m4/posix_spawn.m4.
48732         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48733         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
48734         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48735         posix_spawnattr_init, posix_spawnattr_setsigmask,
48736         posix_spawnattr_setflags, posix_spawnattr_destroy.
48737
48738         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48739         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
48740         * modules/execute (Files): Remove m4/posix_spawn.m4.
48741         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48742         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48743         posix_spawnattr_init, posix_spawnattr_setsigmask,
48744         posix_spawnattr_setflags, posix_spawnattr_destroy.
48745
48746 2009-01-25  Bruno Haible  <bruno@clisp.org>
48747
48748         * lib/glthread/threadlib.c: Include <stdlib.h>.
48749
48750 2009-01-25  Bruno Haible  <bruno@clisp.org>
48751
48752         * lib/glthread/threadlib.c (dummy): New declaration.
48753
48754 2009-01-25  Bruno Haible  <bruno@clisp.org>
48755
48756         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
48757         multibyte characters also for the GB18030 encoding. Don't crash when
48758         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
48759
48760 2009-01-25  Bruno Haible  <bruno@clisp.org>
48761
48762         Avoid redefining 'struct random_data' on OSF/1 5.1.
48763         * lib/stdlib.in.h: Include <random.h> if it exists.
48764         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
48765         HAVE_RANDOM_H. Include <random.h> when testing whether
48766         'struct random_data' exists.
48767         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
48768
48769 2009-01-25  Bruno Haible  <bruno@clisp.org>
48770
48771         Don't install charset.alias on MacOS X >= 10.3.
48772         * lib/localcharset.c (DARWIN7): New macro.
48773         (get_charset_aliases): Hardcode the result for Darwin7.
48774         * modules/localcharset (install-exec-local): Don't install
48775         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
48776
48777 2009-01-25  Bruno Haible  <bruno@clisp.org>
48778
48779         Don't install charset.alias on mingw and Cygwin.
48780         * modules/localcharset (install-exec-local): Don't install
48781         charset.alias on mingw and Cygwin, if the file does not yet exist.
48782         The result for these platforms is hardcoded in localcharset.c.
48783
48784 2009-01-25  Bruno Haible  <bruno@clisp.org>
48785
48786         Make it possible again to use AC_GNU_SOURCE together with gnulib.
48787         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
48788         before requiring AC_USE_SYSTEM_EXTENSIONS.
48789
48790 2009-01-25  Jim Meyering  <meyering@redhat.com>
48791
48792         c-strtod: avoid warnings
48793         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
48794         "assignment discards qualifiers from pointer target type" warnings.
48795
48796 2009-01-24  Bruno Haible  <bruno@clisp.org>
48797
48798         Add support for non-UTF-8 locales on MacOS X.
48799         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
48800         canonical encodings. For Darwin 7 and newer, don't map traditional
48801         encodings to UTF-8.
48802         Reported by Vincent Lefevre <vincent@vinc17.org>
48803         at <http://savannah.gnu.org/bugs/?25235>.
48804
48805 2009-01-24  Bruno Haible  <bruno@clisp.org>
48806
48807         * doc/gnulib.texi (Obsolete modules): New section.
48808         Reported by Mike Frysinger <vapier@gentoo.org>.
48809
48810 2009-01-24  Bruno Haible  <bruno@clisp.org>
48811
48812         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
48813         (%.dvi): New rule.
48814
48815 2009-01-24  Bruno Haible  <bruno@clisp.org>
48816
48817         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
48818         Reported by Eric Blake.
48819
48820 2009-01-24  Bruno Haible  <bruno@clisp.org>
48821
48822         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
48823         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
48824         Reported by Gary V. Vaughan <gary@gnu.org>.
48825
48826 2009-01-24  Bruno Haible  <bruno@clisp.org>
48827
48828         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
48829
48830 2009-01-23  Bruno Haible  <bruno@clisp.org>
48831
48832         Make c-strtod, c-strtold usable in libraries.
48833         * lib/c-strtod.c: Include string.h instead of xalloc.h.
48834         (C_STRTOD): Call strdup instead of xstrdup.
48835         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
48836         * modules/c-strtold (Depends-on): Likewise.
48837         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
48838         * NEWS: Mention the change.
48839         Reported by Michael Gold <mgold@ncf.ca>.
48840
48841 2009-01-23  Jim Meyering  <meyering@redhat.com>
48842
48843         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
48844         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
48845         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
48846
48847 2009-01-23  Simon Josefsson  <simon@josefsson.org>
48848
48849         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
48850         GNU CoreUtils.
48851         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
48852         * modules/version-etc (Description): Update.
48853
48854 2009-01-22  Bruno Haible  <bruno@clisp.org>
48855
48856         Cache the C locale object.
48857         * lib/c-strtod.c (c_locale_cache): New variable.
48858         (c_locale): New function.
48859         (C_STRTOD): Use it, and don't call freelocale.
48860         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
48861         Suggested by Paolo Bonzini.
48862
48863 2009-01-21  Bruno Haible  <bruno@clisp.org>
48864
48865         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
48866         conditions other than overflow.
48867
48868 2009-01-21  Bruno Haible  <bruno@clisp.org>
48869
48870         * lib/c-strtod.c: Include errno.h.
48871         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
48872         value from STRTOD_L and STRTOD.
48873
48874 2009-01-21  Bruno Haible  <bruno@clisp.org>
48875         and Jim Meyering  <meyering@redhat.com>
48876
48877         nanosleep: skip configure test (fail it) for apple universal builds
48878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
48879         universal builds, assume that nanosleep does not work.
48880         * modules/nanosleep (Depends-on): Add multiarch.
48881
48882         mktime: skip configure test (fail it) for apple universal builds
48883         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
48884         universal builds, assume that mktime does not work.
48885         * modules/mktime (Depends-on): Add multiarch.
48886
48887 2009-01-21  Eric Blake  <ebb9@byu.net>
48888
48889         multiarch: avoid expand-before-require warning
48890         * modules/multiarch (configure.ac): Require, rather than expand,
48891         gl_MULTIARCH.
48892         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
48893         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
48894         enforce that all clients require it.  Partial reversion of
48895         2008-12-29 patch.
48896
48897         error: avoid expand-before-require warning
48898         * modules/errno (configure.ac): Require, rather than expand,
48899         gl_HEADER_ERRNO_H.
48900         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
48901         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
48902         enforce that all clients require it.
48903
48904         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
48905         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
48906         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
48907         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
48908
48909 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
48910
48911         Revert:
48912         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48913
48914         regex: do not depend on obsolete modules.
48915         * modules/regex: Remove memcmp and memmove.
48916
48917 2009-01-20  Bruno Haible  <bruno@clisp.org>
48918
48919         Make the 'link' module link on Windows NT 4.
48920         * lib/link.c (_WIN32_WINNT): Don't define.
48921         (CreateHardLinkFuncType): New type.
48922         (CreateHardLinkFunc, initialized): New variables.
48923         (initialize): New function.
48924         (link): Invoke CreateHardLink indirectly through the function pointer.
48925
48926 2009-01-20  Bruno Haible  <bruno@clisp.org>
48927
48928         Fix compilation failure on mingw.
48929         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
48930
48931 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
48932
48933         * doc/c-strtod.texi: Mention a couple of restrictions.
48934
48935 2009-01-20  Jim Meyering  <meyering@redhat.com>
48936
48937         gettimeofday: move more declarations out of functions
48938         * lib/gettimeofday.c: Move extern declarations of tzset and
48939         gmtime out of containing functions.  Prompted by Bruno Haible.
48940
48941 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48942
48943         regex: do not depend on obsolete modules.
48944         * modules/regex: Remove memcmp and memmove.
48945
48946 2009-01-19  Bruno Haible  <bruno@clisp.org>
48947
48948         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48949         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
48950         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48951         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
48952         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
48953
48954 2009-01-19  Bruno Haible  <bruno@clisp.org>
48955
48956         * tests/test-link.c: Include <errno.h>.
48957         (main): Exit with code 77 when a hard link cannot be created due to
48958         the file system.
48959         * tests/test-link.sh: Skip test when a hard link cannot be created due
48960         to the file system.
48961         Suggested by Eric Blake.
48962
48963 2009-01-19  Martin Lambers  <marlam@marlam.de>
48964
48965         * modules/link-tests: New file.
48966         * tests/test-link.sh: New file.
48967         * tests/test-link.c: New file.
48968
48969 2009-01-19  Eric Blake  <ebb9@byu.net>
48970
48971         doc: mention another function added in cygwin 1.7.0
48972         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
48973         Another new function in cygwin 1.7.
48974
48975 2009-01-19  Bruno Haible  <bruno@clisp.org>
48976
48977         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48978         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
48979         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
48980         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48981         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
48982         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
48983         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48984         * m4/md4.m4 (gl_MD4): Likewise.
48985         * m4/md5.m4 (gl_MD5): Likewise.
48986         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
48987         * m4/sha1.m4 (gl_SHA1): Likewise.
48988         * m4/sha256.m4 (gl_SHA256): Likewise.
48989         * m4/sha512.m4 (gl_SHA512): Likewise.
48990
48991 2009-01-19  Bruno Haible  <bruno@clisp.org>
48992
48993         * modules/uniname/uniname-tests (Depends-on): Add progname.
48994         * tests/uniname/test-uninames.c: Include progname.h.
48995         (main): Call set_program_name.
48996
48997         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
48998         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
48999         (main): Call set_program_name.
49000
49001         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
49002         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
49003         (main): Call set_program_name.
49004
49005         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
49006         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49007         (main): Call set_program_name.
49008
49009         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49010         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49011         (main): Call set_program_name.
49012
49013         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49014         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49015         (main): Call set_program_name.
49016
49017         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49018         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49019         (main): Call set_program_name.
49020
49021         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49022         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49023         (main): Call set_program_name.
49024
49025         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49026         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49027         (main): Call set_program_name.
49028
49029 2009-01-19  Eric Blake  <ebb9@byu.net>
49030
49031         test-unistd: test previous patch
49032         * tests/test-unistd.c: Test *_FILENO macros.
49033
49034         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49035         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49036         Guarantee a definition.
49037         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49038         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49039         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49040         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49041         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49042         Likewise.
49043         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49044         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49045         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49046         Likewise.
49047         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49048         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49049         (STDERR_FILENO): Likewise.
49050         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49051         (STDERR_FILENO): Likewise.
49052         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49053         (STDERR_FILENO): Likewise.
49054         Reported by Elbert Pol.
49055
49056 2009-01-19  Eric Blake  <ebb9@byu.net>
49057
49058         doc: mention more functions added in cygwin 1.7.0
49059         * doc/posix-functions/abort.texi (abort): Update wording related
49060         to cygwin.
49061         * doc/posix-functions/daylight.texi (daylight): Likewise.
49062         * doc/posix-functions/optarg.texi (optarg): Likewise.
49063         * doc/posix-functions/optarg.texi (opterr): Likewise.
49064         * doc/posix-functions/optarg.texi (optind): Likewise.
49065         * doc/posix-functions/optarg.texi (optopt): Likewise.
49066         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
49067         worked in 1.5.x, and was withdrawn in 1.7.
49068         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
49069         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
49070         cygwin versions.
49071         * doc/posix-functions/perror.texi (perror): Likewise.
49072         * doc/posix-functions/printf.texi (printf): Likewise.
49073         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
49074         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
49075         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
49076         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
49077         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49078         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
49079         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49080         Likewise.
49081         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49082         Likewise.
49083         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
49084         this function.
49085         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
49086         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
49087         Likewise.
49088         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
49089         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
49090         * doc/posix-functions/confstr.texi (confstr): Likewise.
49091         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
49092         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
49093         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
49094         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
49095         * doc/posix-functions/fputws.texi (fputws): Likewise.
49096         * doc/posix-functions/fwide.texi (fwide): Likewise.
49097         * doc/posix-functions/getwc.texi (getwc): Likewise.
49098         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
49099         * doc/posix-functions/putwc.texi (putwc): Likewise.
49100         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
49101         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
49102         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
49103         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
49104         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
49105         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
49106         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
49107         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
49108         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
49109         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
49110         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
49111
49112 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49113
49114         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
49115         * lib/ioctl.c: Include <sys/ioctl.h>.
49116
49117 2009-01-19  Simon Josefsson  <simon@josefsson.org>
49118
49119         * modules/getdate-tests (Depends-on): Add progname.
49120         * tests/test-getdate.c: Use progname module, to avoid link errors
49121         on non-glibc systems.
49122
49123 2009-01-18  Simon Josefsson  <simon@josefsson.org>
49124
49125         * modules/filenamecat-tests (Depends-on): Add progname.
49126         * modules/fstrcmp-tests (Depends-on): Likewise.
49127
49128         * tests/test-filenamecat.c: Use progname module, to avoid link
49129         errors on non-glibc systems.
49130         * tests/test-fstrcmp.c: Likewise.
49131
49132 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49133
49134         gettimeofday: avoid warning: nested extern declaration of 'localtime'
49135         * lib/gettimeofday.c: Move extern declaration out of function.
49136
49137 2009-01-18  Bruno Haible  <bruno@clisp.org>
49138
49139         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
49140         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
49141         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
49142
49143 2009-01-18  Bruno Haible  <bruno@clisp.org>
49144
49145         * lib/strftime.c (MEMPCPY): Remove unused macro.
49146         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
49147
49148 2009-01-18  Martin Lambers  <marlam@marlam.de>
49149
49150         New module 'link'.
49151         * lib/unistd.in.h (link): New declaration.
49152         * lib/link.c: New file.
49153         * m4/link.m4: New file.
49154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
49155         HAVE_LINK.
49156         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
49157         * modules/link: New file.
49158         * doc/posix-functions/link.texi: Mention the new module.
49159
49160 2009-01-18  Bruno Haible  <bruno@clisp.org>
49161
49162         * tests/test-avltree_list.c (main): Call set_program_name.
49163         * tests/test-avltree_oset.c (main): Likewise.
49164         * tests/test-obstack-printf.c: Include progname.h.
49165         (main): Call set_program_name.
49166         * tests/test-quotearg.c: Include progname.h.
49167         (main): Call set_program_name.
49168         * tests/test-xmemdup0.c: Include progname.h.
49169         (main): Call set_program_name.
49170
49171 2009-01-18  Bruno Haible  <bruno@clisp.org>
49172
49173         New module 'alphasort'.
49174         * lib/dirent.in.h (alphasort): New declaration.
49175         * lib/alphasort.c: New file, from glibc with modifications.
49176         * m4/alphasort.m4: New file.
49177         * modules/alphasort: New file.
49178         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
49179         HAVE_ALPHASORT.
49180         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
49181         HAVE_ALPHASORT.
49182         * doc/posix-functions/alphasort.texi: Mention the new module and the
49183         portability problems.
49184
49185 2009-01-18  Bruno Haible  <bruno@clisp.org>
49186
49187         New module 'scandir'.
49188         * lib/dirent.in.h (scandir): New declaration.
49189         * lib/scandir.c: New file, from glibc with modifications.
49190         * m4/scandir.m4: New file.
49191         * modules/scandir: New file.
49192         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
49193         HAVE_SCANDIR.
49194         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
49195         HAVE_SCANDIR.
49196         * doc/posix-functions/scandir.texi: Mention the new module and the
49197         portability problems.
49198
49199 2009-01-17  Bruno Haible  <bruno@clisp.org>
49200
49201         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
49202         Update documentation.
49203         (func_remove_suffix): Escape all dots in the suffix. Update
49204         documentation.
49205         (func_filter_filelist): Update documentation.
49206         Reported by Ralf Wildenhues.
49207
49208 2009-01-17  Bruno Haible  <bruno@clisp.org>
49209
49210         * modules/dprintf-posix-tests: New file.
49211         * tests/test-dprintf-posix.sh: New file.
49212         * tests/test-dprintf-posix.c: New file.
49213
49214         New modules 'dprintf', 'dprintf-posix'.
49215         * lib/stdio.in.h (dprintf): New declaration.
49216         * lib/dprintf.c: New file.
49217         * m4/dprintf.m4: New file.
49218         * m4/dprintf-posix.m4: New file.
49219         * modules/dprintf: New file.
49220         * modules/dprintf-posix: New file.
49221         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
49222         HAVE_DPRINTF, REPLACE_DPRINTF.
49223         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
49224         HAVE_DPRINTF, REPLACE_DPRINTF.
49225         * doc/posix-functions/dprintf.texi: Mention the new modules.
49226
49227 2009-01-17  Bruno Haible  <bruno@clisp.org>
49228
49229         * modules/vdprintf-posix-tests: New file.
49230         * tests/test-vdprintf-posix.sh: New file.
49231         * tests/test-vdprintf-posix.c: New file.
49232
49233         New modules 'vdprintf', 'vdprintf-posix'.
49234         * lib/stdio.in.h (vdprintf): New declaration.
49235         * lib/vdprintf.c: New file.
49236         * m4/vdprintf.m4: New file.
49237         * m4/vdprintf-posix.m4: New file.
49238         * modules/vdprintf: New file.
49239         * modules/vdprintf-posix: New file.
49240         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
49241         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49242         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
49243         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49244         * doc/posix-functions/vdprintf.texi: Mention the new modules.
49245
49246 2009-01-17  Bruno Haible  <bruno@clisp.org>
49247
49248         Fix replacement of fopen on mingw.
49249         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
49250         mingw.
49251
49252 2009-01-17  Bruno Haible  <bruno@clisp.org>
49253
49254         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
49255         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
49256
49257 2009-01-17  Bruno Haible  <bruno@clisp.org>
49258
49259         Avoid test-fflush2.sh failure on mingw.
49260         * tests/test-fflush2.c: Include binary-io.h.
49261         (main): Put standard input into binary mode.
49262         * modules/fflush-tests (Depends-on): Add binary-io.
49263
49264 2009-01-17  Bruno Haible  <bruno@clisp.org>
49265
49266         * lib/wchar.in.h: In another particular situation, include only the
49267         system's <wchar.h> file.
49268         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
49269         Reported by Albert Chin-A-Young <china@thewrittenword.com>
49270         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
49271
49272 2009-01-17  Bruno Haible  <bruno@clisp.org>
49273
49274         Support for stripping executables in --enable-relocatable.
49275         * build-aux/install-reloc: Expect one more argument, or an environment
49276         variable RELOC_STRIP_PROG. If set, strip the destination program and
49277         its wrapper.
49278         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
49279         RELOC_STRIP_PROG.
49280         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
49281         to set RELOCATABLE_STRIP.
49282         * NEWS: Mention the new Makefile requirement.
49283
49284 2009-01-17  Bruno Haible  <bruno@clisp.org>
49285
49286         * build-aux/install-reloc: Remove debugging information left over by
49287         C compiler on MacOS X.
49288
49289 2009-01-17  Bruno Haible  <bruno@clisp.org>
49290
49291         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
49292         * lib/progreloc.c (find_executable): Fix type of pointer passed to
49293         _NSGetExecutablePath.
49294
49295 2009-01-16  Jim Meyering  <meyering@redhat.com>
49296
49297         strerror: avoid warnings about discarding "const"
49298         * lib/strerror.c (rpl_strerror): Instead of returning a const
49299         string from each and every "case", use a variable, and add a single
49300         cast after the switch.
49301
49302 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
49303
49304         * lib/arpa_inet.in.h: Add extern "C" block for C++.
49305
49306 2009-01-16  Bruno Haible  <bruno@clisp.org>
49307
49308         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
49309         array initializer syntax that also works in C++ mode.
49310         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49311
49312 2009-01-16  Jim Meyering  <meyering@redhat.com>
49313
49314         poll: suppress a warning
49315         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
49316         to ignore "...unsigned expression < 0 is always false" warnings.
49317
49318 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
49319
49320         poll: remove declarations of unused variables
49321         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
49322         sockbuf and optlen.
49323
49324 2009-01-15  Bruno Haible  <bruno@clisp.org>
49325
49326         Make fflush-after-ungetc POSIX compliant on BSD systems.
49327         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
49328         (clear_ungetc_buffer): Implement also for other systems.
49329         (rpl_fflush): On glibc systems, invoke
49330         clear_ungetc_buffer_preserving_position. Otherwise, invoke
49331         clear_ungetc_buffer after fetching the stream's position, not before.
49332
49333 2009-01-15  Bruno Haible  <bruno@clisp.org>
49334
49335         Make fflush-after-ungetc POSIX compliant on glibc systems.
49336         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
49337         after ungetc.
49338         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
49339         (rpl_fflush): On glibc systems, simply call the system's fflush
49340         function after clearing the ungetc buffer.
49341         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
49342         Instead, lseek only to the end of file, then use the system's fseeko
49343         for the rest. On glibc systems, reset the EOF indicator bit.
49344
49345 2009-01-15  Jim Meyering  <meyering@redhat.com>
49346
49347         openmp.m4: revert quote-adding change, for portability to older autoconf
49348         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
49349         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
49350         Simon Josefsson noticed the problem when using autoconf-2.61.
49351
49352 2009-01-15  Bruno Haible  <bruno@clisp.org>
49353
49354         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
49355         * tests/test-fflush2.c (ASSERT): Always fail.
49356         (main): Add two tests for fflush() after ungetc(), taking into account
49357         the Austin Group's clarification.
49358         Suggested by Eric Blake.
49359
49360 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
49361
49362         mktime.m4: remove K&R-style function prototypes
49363         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
49364         for the Sun C++ compiler.
49365
49366 2009-01-14  Bruno Haible  <bruno@clisp.org>
49367
49368         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
49369         while including <wchar.h>.
49370         * lib/wchar.in.h: In two particular situations on HP-UX, include only
49371         the system's <wchar.h> file.
49372         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49373
49374 2009-01-14  Bruno Haible  <bruno@clisp.org>
49375
49376         * m4/csharp.m4: Don't mention gettext on the serial number line.
49377         * m4/csharpexec.m4: Likewise.
49378         * m4/eaccess.m4: Likewise.
49379         * m4/javaexec.m4: Likewise.
49380         * m4/sig_atomic_t.m4: Likewise.
49381         * m4/tmpdir.m4: Likewise.
49382         * m4/intldir.m4: Bump gettext version.
49383         * m4/lib-ld.m4: Likewise.
49384
49385 2009-01-14  Bruno Haible  <bruno@clisp.org>
49386
49387         * lib/progname.c (set_program_name): Add more comments.
49388         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
49389
49390 2009-01-14  Simon Josefsson  <simon@josefsson.org>
49391
49392         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
49393         were sys/stat.h does not define it.
49394
49395 2009-01-14  Jim Meyering  <meyering@redhat.com>
49396
49397         many *.m4 files: improve m4 quoting
49398         99% of this change was performed by running the following commands:
49399         git ls-files | grep '\.m4$' | xargs perl -pi \
49400           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
49401           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49402           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49403           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
49404         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
49405         The remainder were to add Copyright dates, increment serial numbers,
49406         undo some changes in comments, exclude m4/intl.m4, and add quotes
49407         around the "1" in ",1" where the unusual spacing prohibited the
49408         above regexps from doing the job.  For more details, see
49409         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
49410         * m4/acl.m4: Modified.
49411         * m4/afs.m4: Likewise.
49412         * m4/alloca.m4: Likewise.
49413         * m4/argp.m4: Likewise.
49414         * m4/argz.m4: Likewise.
49415         * m4/atexit.m4: Likewise.
49416         * m4/bison-i18n.m4: Likewise.
49417         * m4/bison.m4: Likewise.
49418         * m4/byteswap.m4: Likewise.
49419         * m4/c-stack.m4: Likewise.
49420         * m4/c-strtod.m4: Likewise.
49421         * m4/calloc.m4: Likewise.
49422         * m4/canonicalize-lgpl.m4: Likewise.
49423         * m4/chown.m4: Likewise.
49424         * m4/clock_time.m4: Likewise.
49425         * m4/codeset.m4: Likewise.
49426         * m4/copy-file.m4: Likewise.
49427         * m4/csharp.m4: Likewise.
49428         * m4/csharpcomp.m4: Likewise.
49429         * m4/csharpexec.m4: Likewise.
49430         * m4/d-ino.m4: Likewise.
49431         * m4/d-type.m4: Likewise.
49432         * m4/dirfd.m4: Likewise.
49433         * m4/double-slash-root.m4: Likewise.
49434         * m4/eaccess.m4: Likewise.
49435         * m4/eealloc.m4: Likewise.
49436         * m4/environ.m4: Likewise.
49437         * m4/errno_h.m4: Likewise.
49438         * m4/euidaccess.m4: Likewise.
49439         * m4/execute.m4: Likewise.
49440         * m4/fatal-signal.m4: Likewise.
49441         * m4/fchdir.m4: Likewise.
49442         * m4/fcntl_h.m4: Likewise.
49443         * m4/fileblocks.m4: Likewise.
49444         * m4/filenamecat.m4: Likewise.
49445         * m4/findprog.m4: Likewise.
49446         * m4/flexmember.m4: Likewise.
49447         * m4/fnmatch.m4: Likewise.
49448         * m4/fopen.m4: Likewise.
49449         * m4/fpending.m4: Likewise.
49450         * m4/fprintf-posix.m4: Likewise.
49451         * m4/free.m4: Likewise.
49452         * m4/frexp.m4: Likewise.
49453         * m4/frexpl.m4: Likewise.
49454         * m4/fsusage.m4: Likewise.
49455         * m4/ftruncate.m4: Likewise.
49456         * m4/gc-camellia.m4: Likewise.
49457         * m4/gc-random.m4: Likewise.
49458         * m4/gc.m4: Likewise.
49459         * m4/getaddrinfo.m4: Likewise.
49460         * m4/getcwd-abort-bug.m4: Likewise.
49461         * m4/getcwd-path-max.m4: Likewise.
49462         * m4/getdate.m4: Likewise.
49463         * m4/getdomainname.m4: Likewise.
49464         * m4/getgroups.m4: Likewise.
49465         * m4/gethostname.m4: Likewise.
49466         * m4/gethrxtime.m4: Likewise.
49467         * m4/getline.m4: Likewise.
49468         * m4/getloadavg.m4: Likewise.
49469         * m4/getndelim2.m4: Likewise.
49470         * m4/getpass.m4: Likewise.
49471         * m4/gettext.m4: Likewise.
49472         * m4/gettime.m4: Likewise.
49473         * m4/gettimeofday.m4: Likewise.
49474         * m4/gnulib-common.m4: Likewise.
49475         * m4/group-member.m4: Likewise.
49476         * m4/host-os.m4: Likewise.
49477         * m4/iconv.m4: Likewise.
49478         * m4/iconv_open.m4: Likewise.
49479         * m4/inet_ntop.m4: Likewise.
49480         * m4/inet_pton.m4: Likewise.
49481         * m4/inline.m4: Likewise.
49482         * m4/intldir.m4: Likewise.
49483         * m4/intlmacosx.m4: Likewise.
49484         * m4/intmax.m4: Likewise.
49485         * m4/intmax_t.m4: Likewise.
49486         * m4/inttypes.m4: Likewise.
49487         * m4/inttypes_h.m4: Likewise.
49488         * m4/inttypes-pri.m4: Likewise.
49489         * m4/isapipe.m4: Likewise.
49490         * m4/isnand.m4: Likewise.
49491         * m4/isnanf.m4: Likewise.
49492         * m4/isnanl.m4: Likewise.
49493         * m4/javacomp.m4: Likewise.
49494         * m4/javaexec.m4: Likewise.
49495         * m4/jm-winsz1.m4: Likewise.
49496         * m4/jm-winsz2.m4: Likewise.
49497         * m4/lchown.m4: Likewise.
49498         * m4/lcmessage.m4: Likewise.
49499         * m4/ldexpl.m4: Likewise.
49500         * m4/lib-ld.m4: Likewise.
49501         * m4/lib-link.m4: Likewise.
49502         * m4/libsigsegv.m4: Likewise.
49503         * m4/link-follow.m4: Likewise.
49504         * m4/localcharset.m4: Likewise.
49505         * m4/locale-fr.m4: Likewise.
49506         * m4/locale-ja.m4: Likewise.
49507         * m4/locale-tr.m4: Likewise.
49508         * m4/locale-zh.m4: Likewise.
49509         * m4/lock.m4: Likewise.
49510         * m4/longlong.m4: Likewise.
49511         * m4/ls-mntd-fs.m4: Likewise.
49512         * m4/lstat.m4: Likewise.
49513         * m4/malloc.m4: Likewise.
49514         * m4/mathl.m4: Likewise.
49515         * m4/mbrtowc.m4: Likewise.
49516         * m4/mbstate_t.m4: Likewise.
49517         * m4/mbswidth.m4: Likewise.
49518         * m4/memchr.m4: Likewise.
49519         * m4/memcmp.m4: Likewise.
49520         * m4/memcpy.m4: Likewise.
49521         * m4/memmem.m4: Likewise.
49522         * m4/memmove.m4: Likewise.
49523         * m4/mempcpy.m4: Likewise.
49524         * m4/memrchr.m4: Likewise.
49525         * m4/memset.m4: Likewise.
49526         * m4/minmax.m4: Likewise.
49527         * m4/mkdir-slash.m4: Likewise.
49528         * m4/mkdtemp.m4: Likewise.
49529         * m4/mktime.m4: Likewise.
49530         * m4/mmap-anon.m4: Likewise.
49531         * m4/mountlist.m4: Likewise.
49532         * m4/nanosleep.m4: Likewise.
49533         * m4/nls.m4: Likewise.
49534         * m4/nocrash.m4: Likewise.
49535         * m4/open.m4: Likewise.
49536         * m4/openat.m4: Likewise.
49537         * m4/openmp.m4: Likewise.
49538         * m4/pathmax.m4: Likewise.
49539         * m4/perl.m4: Likewise.
49540         * m4/physmem.m4: Likewise.
49541         * m4/pipe.m4: Likewise.
49542         * m4/po.m4: Likewise.
49543         * m4/poll.m4: Likewise.
49544         * m4/posixtm.m4: Likewise.
49545         * m4/posixver.m4: Likewise.
49546         * m4/printf-frexp.m4: Likewise.
49547         * m4/printf-frexpl.m4: Likewise.
49548         * m4/printf-posix.m4: Likewise.
49549         * m4/printf-posix-rpl.m4: Likewise.
49550         * m4/printf.m4: Likewise.
49551         * m4/progtest.m4: Likewise.
49552         * m4/putenv.m4: Likewise.
49553         * m4/readline.m4: Likewise.
49554         * m4/readlink.m4: Likewise.
49555         * m4/readutmp.m4: Likewise.
49556         * m4/realloc.m4: Likewise.
49557         * m4/regex.m4: Likewise.
49558         * m4/relocatable.m4: Likewise.
49559         * m4/relocatable-lib.m4: Likewise.
49560         * m4/rename-dest-slash.m4: Likewise.
49561         * m4/rename.m4: Likewise.
49562         * m4/rmdir-errno.m4: Likewise.
49563         * m4/rmdir.m4: Likewise.
49564         * m4/roundf.m4: Likewise.
49565         * m4/roundl.m4: Likewise.
49566         * m4/rpmatch.m4: Likewise.
49567         * m4/save-cwd.m4: Likewise.
49568         * m4/selinux-selinux-h.m4: Likewise.
49569         * m4/setenv.m4: Likewise.
49570         * m4/settime.m4: Likewise.
49571         * m4/sig2str.m4: Likewise.
49572         * m4/sig_atomic_t.m4: Likewise.
49573         * m4/signalblocking.m4: Likewise.
49574         * m4/signbit.m4: Likewise.
49575         * m4/sigpipe.m4: Likewise.
49576         * m4/sockets.m4: Likewise.
49577         * m4/sockpfaf.m4: Likewise.
49578         * m4/st_dm_mode.m4: Likewise.
49579         * m4/stat-time.m4: Likewise.
49580         * m4/stdbool.m4: Likewise.
49581         * m4/stdint.m4: Likewise.
49582         * m4/stdint_h.m4: Likewise.
49583         * m4/stpcpy.m4: Likewise.
49584         * m4/stpncpy.m4: Likewise.
49585         * m4/strcase.m4: Likewise.
49586         * m4/strchrnul.m4: Likewise.
49587         * m4/strcspn.m4: Likewise.
49588         * m4/strdup.m4: Likewise.
49589         * m4/strftime.m4: Likewise.
49590         * m4/strndup.m4: Likewise.
49591         * m4/strnlen.m4: Likewise.
49592         * m4/strpbrk.m4: Likewise.
49593         * m4/strptime.m4: Likewise.
49594         * m4/strsep.m4: Likewise.
49595         * m4/strtod.m4: Likewise.
49596         * m4/strtoimax.m4: Likewise.
49597         * m4/strtok_r.m4: Likewise.
49598         * m4/strtol.m4: Likewise.
49599         * m4/strtoll.m4: Likewise.
49600         * m4/strtoul.m4: Likewise.
49601         * m4/strtoull.m4: Likewise.
49602         * m4/strtoumax.m4: Likewise.
49603         * m4/strverscmp.m4: Likewise.
49604         * m4/threadlib.m4: Likewise.
49605         * m4/timegm.m4: Likewise.
49606         * m4/tm_gmtoff.m4: Likewise.
49607         * m4/tmpdir.m4: Likewise.
49608         * m4/tmpfile.m4: Likewise.
49609         * m4/tzset.m4: Likewise.
49610         * m4/uintmax_t.m4: Likewise.
49611         * m4/unlinkdir.m4: Likewise.
49612         * m4/unlocked-io.m4: Likewise.
49613         * m4/uptime.m4: Likewise.
49614         * m4/userspec.m4: Likewise.
49615         * m4/utimbuf.m4: Likewise.
49616         * m4/utime.m4: Likewise.
49617         * m4/utimes-null.m4: Likewise.
49618         * m4/utimes.m4: Likewise.
49619         * m4/vararrays.m4: Likewise.
49620         * m4/vasnprintf.m4: Likewise.
49621         * m4/vfprintf-posix.m4: Likewise.
49622         * m4/vprintf-posix.m4: Likewise.
49623         * m4/wait-process.m4: Likewise.
49624         * m4/wchar_t.m4: Likewise.
49625         * m4/wint_t.m4: Likewise.
49626         * m4/write-any-file.m4: Likewise.
49627         * m4/yield.m4: Likewise.
49628
49629 2009-01-13  Bruno Haible  <bruno@clisp.org>
49630
49631         Avoid test-copy-file.sh failures when ACL support insufficient.
49632         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
49633         TESTS_ENVIRONMENT.
49634         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
49635         Reported by Jim Meyering.
49636
49637 2009-01-13  Bruno Haible  <bruno@clisp.org>
49638
49639         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
49640         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
49641         * modules/unistdio/u8-printf-parse (Files): Likewise.
49642         * modules/unistdio/u32-printf-parse (Files): Likewise.
49643         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49644
49645 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49646
49647         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49648         and m4/inttypes_h.m4 too.
49649
49650 2009-01-12  Eric Blake  <ebb9@byu.net>
49651
49652         tests: IRIX 6.2 cc can't compile -0.0 into .data
49653         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49654         rather than at compile-time.
49655         * tests/test-floorl.c (minus_zero): Likewise.
49656         * tests/test-frexpl.c (minus_zero): Likewise.
49657         * tests/test-isnan.c (minus_zerol): Likewise.
49658         * tests/test-isnanl.h (minus_zero): Likewise.
49659         * tests/test-ldexpl.c (minus_zero): Likewise.
49660         * tests/test-roundl.c (minus_zero): Likewise.
49661         * tests/test-signbit.c (minus_zerol): Likewise.
49662         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49663         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49664         * tests/test-truncl.c (minus_zero): Likewise.
49665         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49666         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49667         Reported by Tom G. Christensen and Nelson H. F. Beebe.
49668
49669 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49670
49671         regex: fix glibc bug 9697
49672         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
49673         handling.
49674
49675 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49676
49677         regex: fix glibc bug 697
49678         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
49679         being NULL also if there are no backreferences.
49680
49681 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49682
49683         regex: merge glibc changes
49684         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
49685         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
49686         re_string_skip_chars, re_string_reconstruct): Likewise.
49687         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
49688
49689 2009-01-07  Jim Meyering  <meyering@redhat.com>
49690
49691         poll: filter through cppi
49692         * lib/poll.c: Indent cpp directives to reflect nesting.
49693
49694 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
49695
49696         poll: don't return uninitialized
49697         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
49698
49699 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
49700
49701         avoid compile failure on AIX 6.1
49702         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
49703         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
49704
49705 2009-01-04  Jim Meyering  <meyering@redhat.com>
49706
49707         remove duplicate inclusion of <stdio.h>
49708         * tests/test-fprintf-posix.c: Likewise.
49709         * tests/test-printf-posix.c: Likewise.
49710         * tests/test-snprintf-posix.c: Likewise.
49711         * tests/test-sprintf-posix.c: Likewise.
49712         * tests/test-vasprintf-posix.c: Likewise.
49713         * tests/test-vfprintf-posix.c: Likewise.
49714         * tests/test-vprintf-posix.c: Likewise.
49715         * tests/test-vsnprintf-posix.c: Likewise.
49716         * tests/test-vsprintf-posix.c: Likewise.
49717
49718 2009-01-03  Jim Meyering  <meyering@redhat.com>
49719
49720         gnulib-tool: fix sed-based filtering
49721         * gnulib-tool (func_filter_filelist): Remove extra backslash
49722         in sed_fff_filter definition.
49723
49724 2009-01-02  Jim Meyering  <meyering@redhat.com>
49725
49726         strftime: avoid compilation failure on Solaris 2.6
49727         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
49728         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
49729         Don't #define mbrlen or mbsinit, since now they're guaranteed to
49730         be available.  Reported by Tom G. Christensen.  Details in
49731         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
49732
49733 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49734             Bruno Haible  <bruno@clisp.org>
49735
49736         Speed up gnulib-tool by doing more string processing through shell
49737         built-ins.
49738         * gnulib-tool (fast_func_append): New variable.
49739         (func_remove_prefix, func_remove_suffix): New functions.
49740         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
49741         (func_filter_filelist): New function.
49742         (func_get_dependencies): Use func_remove_suffix instead of sed.
49743         (func_get_automake_snippet): Use func_filter_filelist instead of a
49744         subshell and sed invocation.
49745
49746 2009-01-01  Bruno Haible  <bruno@clisp.org>
49747
49748         Fix a security bug.
49749         * gnulib-tool (func_import, import, update): Don't allow the characters
49750         '"', '$', '`', '\' in macro arguments that become part of commands that
49751         are evaluated.
49752
49753 2009-01-01  Bruno Haible  <bruno@clisp.org>
49754
49755         * gnulib-tool (func_reset_sigpipe): Add more comments.
49756
49757 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49758
49759         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
49760         func_emit_tests_Makefile_am, func_import): Abort loops early if we
49761         already know the answer.
49762
49763 2009-01-01  Jim Meyering  <meyering@redhat.com>
49764
49765         * lib/version-etc.c (version_etc_va): Update copyright year.
49766
49767 2008-12-30  Bruno Haible  <bruno@clisp.org>
49768
49769         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
49770         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
49771         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
49772
49773 2008-12-29  Eric Blake  <ebb9@byu.net>
49774
49775         multiarch: avoid autoconf AC_REQUIRE bug
49776         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
49777         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
49778         2.63 and older.
49779         Reported by Bruno Haible, and analyzed in
49780         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
49781
49782 2008-12-29  Bruno Haible  <bruno@clisp.org>
49783
49784         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
49785         files in subdirectories correctly.
49786         Reported by Ralf Wildenhues.
49787
49788 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49789
49790         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
49791         rather than 'join FILE -', for Solaris join.
49792
49793 2008-12-29  Bruno Haible  <bruno@clisp.org>
49794
49795         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
49796         quoting.
49797         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49798         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
49799         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
49800         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
49801         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49802         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49803         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49804         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49805         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49806         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49807         * m4/nls.m4 (AM_NLS): Likewise.
49808         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
49809         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49810         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49811         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49812         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49813         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49814         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
49815         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49816         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49817         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49818         * m4/xsize.m4 (gl_XSIZE): Likewise.
49819         Suggested by Jim Meyering.
49820
49821 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49822
49823         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
49824         * lib/parse-duration.c: use a switch instead of cascading if's.
49825
49826 2008-12-29  Eric Blake  <ebb9@byu.net>
49827
49828         wchar.h: supply WEOF on Irix 5.3
49829         * lib/wchar.in.h (wint_t): Also supply WEOF.
49830         * lib/wctype.in.h (wint_t): Likewise.
49831         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
49832         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
49833         Reported by Tom G. Christensen.
49834
49835 2008-12-26  Bruno Haible  <bruno@clisp.org>
49836
49837         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
49838         i486, i586, i686.
49839
49840 2008-12-26  Bruno Haible  <bruno@clisp.org>
49841
49842         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
49843
49844 2008-12-26  Bruno Haible  <bruno@clisp.org>
49845
49846         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
49847         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
49848         not __STDC_CONSTANT_MACROS.
49849         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49850
49851 2008-12-25  Bruno Haible  <bruno@clisp.org>
49852
49853         Add support for universal builds to vasnprintf.
49854         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
49855         universal builds, guess no.
49856         * modules/vasnprintf-posix (Depends-on): Add multiarch.
49857         * modules/vasprintf-posix (Depends-on): Likewise.
49858         * modules/fprintf-posix (Depends-on): Likewise.
49859         * modules/vfprintf-posix (Depends-on): Likewise.
49860         * modules/snprintf-posix (Depends-on): Likewise.
49861         * modules/vsnprintf-posix (Depends-on): Likewise.
49862         * modules/sprintf-posix (Depends-on): Likewise.
49863         * modules/vsprintf-posix (Depends-on): Likewise.
49864         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49865         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49866         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49867         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49868         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49869         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49870         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49871
49872         Add support for universal builds to <inttypes.h>.
49873         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
49874         _SCNu64_PREFIX): In Apple
49875         universal builds, define directly, using _LP64.
49876         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
49877         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
49878         * modules/inttypes (Depends-on): Add multiarch.
49879         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49880
49881         Add support for universal builds to <stdint.h>.
49882         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
49883         universal builds, define directly, using _LP64.
49884         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
49885         Apple universal builds, don't test for the size and suffix of ptrdiff_t
49886         and size_t.
49887         * modules/stdint (Depends-on): Add multiarch.
49888         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49889
49890         New module 'multiarch'.
49891         * modules/multiarch: New file.
49892         * m4/multiarch.m4: New file.
49893
49894 2008-12-25  Bruno Haible  <bruno@clisp.org>
49895
49896         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
49897
49898 2008-12-25  Bruno Haible  <bruno@clisp.org>
49899
49900         * modules/btowc (License): Relicense under LGPLv2+.
49901         * modules/mbsinit (License): Likewise.
49902         * modules/mbrtowc (License): Likewise.
49903         * modules/wcrtomb (License): Likewise.
49904         * modules/streq (License): Likewise.
49905         Reported by David Lutterkort <lutter@redhat.com>.
49906
49907 2008-12-23  Bruno Haible  <bruno@clisp.org>
49908
49909         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
49910
49911 2008-12-23  Bruno Haible  <bruno@clisp.org>
49912
49913         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
49914         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
49915         GETADDRINFO_LIB, not in LIBS.
49916         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
49917         * modules/canon-host (Link): Likewise.
49918         * NEWS: Mention the change.
49919         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
49920         GETADDRINFO_LIB.
49921
49922 2008-12-22  Bruno Haible  <bruno@clisp.org>
49923
49924         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
49925         * doc/posix-functions/iswalpha_l.texi: Likewise.
49926         * doc/posix-functions/iswblank_l.texi: Likewise.
49927         * doc/posix-functions/iswcntrl_l.texi: Likewise.
49928         * doc/posix-functions/iswctype_l.texi: Likewise.
49929         * doc/posix-functions/iswdigit_l.texi: Likewise.
49930         * doc/posix-functions/iswgraph_l.texi: Likewise.
49931         * doc/posix-functions/iswlower_l.texi: Likewise.
49932         * doc/posix-functions/iswprint_l.texi: Likewise.
49933         * doc/posix-functions/iswpunct_l.texi: Likewise.
49934         * doc/posix-functions/iswspace_l.texi: Likewise.
49935         * doc/posix-functions/iswupper_l.texi: Likewise.
49936         * doc/posix-functions/iswxdigit_l.texi: Likewise.
49937         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
49938         * doc/posix-functions/open_wmemstream.texi: Likewise.
49939         * doc/posix-functions/swscanf.texi: Likewise.
49940         * doc/posix-functions/towctrans_l.texi: Likewise.
49941         * doc/posix-functions/towlower.texi: Likewise.
49942         * doc/posix-functions/towlower_l.texi: Likewise.
49943         * doc/posix-functions/towupper.texi: Likewise.
49944         * doc/posix-functions/towupper_l.texi: Likewise.
49945         * doc/posix-functions/vfwprintf.texi: Likewise.
49946         * doc/posix-functions/vfwscanf.texi: Likewise.
49947         * doc/posix-functions/vswscanf.texi: Likewise.
49948         * doc/posix-functions/vwprintf.texi: Likewise.
49949         * doc/posix-functions/vwscanf.texi: Likewise.
49950         * doc/posix-functions/wcpcpy.texi: Likewise.
49951         * doc/posix-functions/wcpncpy.texi: Likewise.
49952         * doc/posix-functions/wcscasecmp.texi: Likewise.
49953         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
49954         * doc/posix-functions/wcscoll_l.texi: Likewise.
49955         * doc/posix-functions/wcsdup.texi: Likewise.
49956         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49957         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
49958         * doc/posix-functions/wcsnlen.texi: Likewise.
49959         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49960         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
49961         * doc/posix-functions/wctrans_l.texi: Likewise.
49962         * doc/posix-functions/wctype_l.texi: Likewise.
49963         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
49964         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
49965         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
49966         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
49967         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
49968         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
49969         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
49970         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
49971         * doc/glibc-functions/wcschrnul.texi: Likewise.
49972         * doc/glibc-functions/wcsftime_l.texi: Likewise.
49973         * doc/glibc-functions/wcstod_l.texi: Likewise.
49974         * doc/glibc-functions/wcstof_l.texi: Likewise.
49975         * doc/glibc-functions/wcstol_l.texi: Likewise.
49976         * doc/glibc-functions/wcstold_l.texi: Likewise.
49977         * doc/glibc-functions/wcstoll_l.texi: Likewise.
49978         * doc/glibc-functions/wcstoq.texi: Likewise.
49979         * doc/glibc-functions/wcstoul_l.texi: Likewise.
49980         * doc/glibc-functions/wcstoull_l.texi: Likewise.
49981         * doc/glibc-functions/wcstouq.texi: Likewise.
49982         * doc/glibc-functions/wmempcpy.texi: Likewise.
49983
49984 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
49985             Eric Blake  <ebb9@byu.net>
49986             Paolo Bonzini  <bonzini@gnu.org>
49987             Bruno Haible  <bruno@clisp.org>
49988
49989         Make c-stack work on Haiku.
49990         * lib/c-stack.c (SA_ONSTACK): Define fallback.
49991         (c_stack_action): Use SA_ONSTACK flag.
49992
49993 2008-12-22  Bruno Haible  <bruno@clisp.org>
49994
49995         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
49996
49997 2008-12-22  Bruno Haible  <bruno@clisp.org>
49998
49999         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
50000         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
50001         being overridden.
50002         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
50003         New macros.
50004         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
50005         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
50006         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50007         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50008
50009 2008-12-22  Bruno Haible  <bruno@clisp.org>
50010
50011         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50012         from test code.
50013
50014 2008-12-22  Eric Blake  <ebb9@byu.net>
50015
50016         Avoid gcc warnings on cygwin.
50017         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50018         Avoid unused variable.
50019         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50020         Likewise.
50021
50022 2008-12-22  Bruno Haible  <bruno@clisp.org>
50023
50024         Remove HAVE_MBRTOWC conditionals.
50025         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50026         (mbscasecmp): Assume mbrtowc function.
50027         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50028         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50029         * lib/mbschr.c: Include mbuiter.h unconditionally.
50030         (mbschr): Assume mbrtowc function.
50031         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50032         (mbscspn): Assume mbrtowc function.
50033         * lib/mbslen.c: Include mbuiter.h unconditionally.
50034         (mbslen): Assume mbrtowc function.
50035         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50036         (mbsncasecmp): Assume mbrtowc function.
50037         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50038         (mbsnlen): Assume mbrtowc function.
50039         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50040         (mbspbrk): Assume mbrtowc function.
50041         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50042         (mbspcasecmp): Assume mbrtowc function.
50043         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50044         (mbsrchr): Assume mbrtowc function.
50045         * lib/mbssep.c: Include mbuiter.h unconditionally.
50046         (mbssep): Assume mbrtowc function.
50047         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50048         (mbsspn): Assume mbrtowc function.
50049         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50050         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50051         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50052         (mbstok_r): Assume mbrtowc function.
50053         * lib/propername.c: Include mbuiter.h unconditionally.
50054         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50055         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50056         (trim2): Assume mbrtowc function.
50057         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50058         (mbsnwidth): Assume mbrtowc function.
50059         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50060         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50061         fallback definitions.
50062         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50063
50064 2008-12-22  Bruno Haible  <bruno@clisp.org>
50065
50066         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
50067
50068 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
50069
50070         * modules/regex: Request emulations for the mb*/wc* functions we need.
50071         * m4/regex.m4: Don't look for those functions here.
50072         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
50073
50074 2008-12-22  Bruno Haible  <bruno@clisp.org>
50075
50076         * modules/fnmatch (Depends-on): Remove duplicated dependency.
50077
50078 2008-12-21  Bruno Haible  <bruno@clisp.org>
50079
50080         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
50081         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
50082         (Include): Remove conditionalization.
50083         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
50084         (Include): Remove conditionalization.
50085         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
50086         (Include): Remove conditionalization.
50087         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
50088         * m4/mbfile.m4 (gl_MBFILE): Likewise.
50089         * NEWS: Mention the change.
50090         Reported by Alan Hourihane <alanh@fairlite.co.uk>
50091         via Sergey Poznyakoff <gray@gnu.org.ua>.
50092
50093 2008-12-21  Bruno Haible  <bruno@clisp.org>
50094
50095         * MODULES.html.sh (Extended multibyte and wide character utilities
50096         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
50097         wcrtomb, wcsrtombs.
50098         (Support for systems lacking POSIX:2008): Add accept, bind, close,
50099         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
50100         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
50101         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
50102
50103 2008-12-21  Bruno Haible  <bruno@clisp.org>
50104
50105         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
50106
50107 2008-12-21  Bruno Haible  <bruno@clisp.org>
50108
50109         * modules/wcsnrtombs-tests: New file.
50110         * tests/test-wcsnrtombs1.sh: New file.
50111         * tests/test-wcsnrtombs2.sh: New file.
50112         * tests/test-wcsnrtombs3.sh: New file.
50113         * tests/test-wcsnrtombs4.sh: New file.
50114         * tests/test-wcsnrtombs.c: New file.
50115
50116         New module 'wcsnrtombs'.
50117         * lib/wchar.in.h (wcsnrtombs): New declaration.
50118         * lib/wcsnrtombs.c: New file.
50119         * lib/wcsrtombs-state.c: New file.
50120         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
50121         (internal_state): Remove variable.
50122         * m4/wcsnrtombs.m4: New file.
50123         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
50124         compilation units.
50125         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
50126         HAVE_WCSNRTOMBS.
50127         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
50128         HAVE_WCSNRTOMBS.
50129         * modules/wcsnrtombs: New file.
50130         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
50131         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
50132
50133 2008-12-21  Bruno Haible  <bruno@clisp.org>
50134
50135         * modules/wcsrtombs-tests: New file.
50136         * tests/test-wcsrtombs1.sh: New file.
50137         * tests/test-wcsrtombs2.sh: New file.
50138         * tests/test-wcsrtombs3.sh: New file.
50139         * tests/test-wcsrtombs4.sh: New file.
50140         * tests/test-wcsrtombs.c: New file.
50141
50142         New module 'wcsrtombs'.
50143         * lib/wchar.in.h (wcsrtombs): New declaration.
50144         * lib/wcsrtombs.c: New file.
50145         * m4/wcsrtombs.m4: New file.
50146         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
50147         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50148         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
50149         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50150         * modules/wcsrtombs: New file.
50151         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
50152         bugs.
50153
50154 2008-12-21  Bruno Haible  <bruno@clisp.org>
50155
50156         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
50157         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
50158         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
50159         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
50160         if not correct.
50161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
50162         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
50163         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50164         m4/locale-zh.m4, m4/codeset.m4.
50165         * doc/posix-functions/wcrtomb.texi: Document the bug.
50166
50167 2008-12-21  Bruno Haible  <bruno@clisp.org>
50168
50169         Work around a btowc() bug on IRIX 6.5.
50170         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
50171         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
50172         REPLACE_WTOBC if not.
50173         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
50174         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
50175         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
50176
50177 2008-12-21  Bruno Haible  <bruno@clisp.org>
50178
50179         * modules/wcrtomb-tests: New file.
50180         * tests/test-wcrtomb.sh: New file.
50181         * tests/test-wcrtomb.c: New file.
50182
50183         New module 'wcrtomb'.
50184         * lib/wchar.in.h (wcrtomb): New declaration.
50185         * lib/wcrtomb.c: New file.
50186         * m4/wcrtomb.m4: New file.
50187         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
50188         HAVE_WCRTOMB.
50189         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
50190         HAVE_WCRTOMB.
50191         * modules/wcrtomb: New file.
50192         * doc/posix-functions/wcrtomb.texi: Mention the new module.
50193
50194 2008-12-21  Bruno Haible  <bruno@clisp.org>
50195
50196         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
50197         * modules/mbsrtowcs (Files): Likewise.
50198         * modules/wctob (Files): Likewise.
50199         * modules/c-strcase-tests (Files): Likewise.
50200         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
50201         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
50202         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
50203         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
50204         * modules/vasnprintf-posix-tests (Files): Likewise.
50205
50206 2008-12-21  William Pursell  <bill.pursell@gmail.com>
50207
50208         gitlog-to-changelog: pass all command-line arguments to git-log
50209         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
50210         it is sometimes convenient to filter the commits in various ways.
50211         gitlog-to-changelog only allows --since to specify a start date,
50212         but git-log itself supports many other filtering mechanisms.
50213         At the moment, I want to filter by branch name.  Rather than
50214         adding a --branch option to gitlog-to-changelog, it seems more
50215         flexible to simply pass all options directly to git-log and let
50216         git do the work.  Notice that this effectively makes --since a
50217         redundant option for gitlog-to-changelog, but removing it would
50218         require current usage to change since calls would then require
50219         an additional '--'.
50220
50221 2008-12-21  Bruno Haible  <bruno@clisp.org>
50222
50223         * modules/mbsnrtowcs-tests: New file.
50224         * tests/test-mbsnrtowcs1.sh: New file.
50225         * tests/test-mbsnrtowcs2.sh: New file.
50226         * tests/test-mbsnrtowcs3.sh: New file.
50227         * tests/test-mbsnrtowcs4.sh: New file.
50228         * tests/test-mbsnrtowcs.c: New file.
50229
50230         New module 'mbsnrtowcs'.
50231         * lib/wchar.in.h (mbsnrtowcs): New declaration.
50232         * lib/mbsnrtowcs.c: New file.
50233         * lib/mbsrtowcs-state.c: New file.
50234         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
50235         (internal_state): Remove variable.
50236         * m4/mbsnrtowcs.m4: New file.
50237         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
50238         compilation units.
50239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
50240         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50241         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
50242         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50243         * modules/mbsnrtowcs: New file.
50244         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
50245         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
50246         portability problem.
50247
50248 2008-12-21  Bruno Haible  <bruno@clisp.org>
50249
50250         Work around mbsrtowcs bug.
50251         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
50252         (gl_FUNC_MBSRTOWCS): Invoke it.
50253         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50254         m4/locale-zh.m4.
50255         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
50256
50257 2008-12-21  Bruno Haible  <bruno@clisp.org>
50258
50259         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
50260
50261 2008-12-21  Bruno Haible  <bruno@clisp.org>
50262
50263         Update doc for AIX.
50264         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
50265         16-bit wchar_t type.
50266         * doc/posix-functions/btowc.texi: Likewise.
50267         * doc/posix-functions/fgetwc.texi: Likewise.
50268         * doc/posix-functions/fgetws.texi: Likewise.
50269         * doc/posix-functions/fputwc.texi: Likewise.
50270         * doc/posix-functions/fputws.texi: Likewise.
50271         * doc/posix-functions/fwide.texi: Likewise.
50272         * doc/posix-functions/fwprintf.texi: Likewise.
50273         * doc/posix-functions/fwscanf.texi: Likewise.
50274         * doc/posix-functions/getwchar.texi: Likewise.
50275         * doc/posix-functions/getwc.texi: Likewise.
50276         * doc/posix-functions/iswalnum.texi: Likewise.
50277         * doc/posix-functions/iswalpha.texi: Likewise.
50278         * doc/posix-functions/iswblank.texi: Likewise.
50279         * doc/posix-functions/iswcntrl.texi: Likewise.
50280         * doc/posix-functions/iswctype.texi: Likewise.
50281         * doc/posix-functions/iswdigit.texi: Likewise.
50282         * doc/posix-functions/iswgraph.texi: Likewise.
50283         * doc/posix-functions/iswlower.texi: Likewise.
50284         * doc/posix-functions/iswprint.texi: Likewise.
50285         * doc/posix-functions/iswpunct.texi: Likewise.
50286         * doc/posix-functions/iswspace.texi: Likewise.
50287         * doc/posix-functions/iswupper.texi: Likewise.
50288         * doc/posix-functions/iswxdigit.texi: Likewise.
50289         * doc/posix-functions/mbrtowc.texi: Likewise.
50290         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50291         * doc/posix-functions/mbstowcs.texi: Likewise.
50292         * doc/posix-functions/mbtowc.texi: Likewise.
50293         * doc/posix-functions/putwchar.texi: Likewise.
50294         * doc/posix-functions/putwc.texi: Likewise.
50295         * doc/posix-functions/swprintf.texi: Likewise.
50296         * doc/posix-functions/tolower.texi: Likewise.
50297         * doc/posix-functions/toupper.texi: Likewise.
50298         * doc/posix-functions/towctrans.texi: Likewise.
50299         * doc/posix-functions/ungetwc.texi: Likewise.
50300         * doc/posix-functions/vswprintf.texi: Likewise.
50301         * doc/posix-functions/wcrtomb.texi: Likewise.
50302         * doc/posix-functions/wcscat.texi: Likewise.
50303         * doc/posix-functions/wcschr.texi: Likewise.
50304         * doc/posix-functions/wcscmp.texi: Likewise.
50305         * doc/posix-functions/wcscoll.texi: Likewise.
50306         * doc/posix-functions/wcscpy.texi: Likewise.
50307         * doc/posix-functions/wcscspn.texi: Likewise.
50308         * doc/posix-functions/wcsftime.texi: Likewise.
50309         * doc/posix-functions/wcslen.texi: Likewise.
50310         * doc/posix-functions/wcsncat.texi: Likewise.
50311         * doc/posix-functions/wcsncmp.texi: Likewise.
50312         * doc/posix-functions/wcsncpy.texi: Likewise.
50313         * doc/posix-functions/wcspbrk.texi: Likewise.
50314         * doc/posix-functions/wcsrchr.texi: Likewise.
50315         * doc/posix-functions/wcsrtombs.texi: Likewise.
50316         * doc/posix-functions/wcsspn.texi: Likewise.
50317         * doc/posix-functions/wcsstr.texi: Likewise.
50318         * doc/posix-functions/wcstod.texi: Likewise.
50319         * doc/posix-functions/wcstof.texi: Likewise.
50320         * doc/posix-functions/wcstoimax.texi: Likewise.
50321         * doc/posix-functions/wcstok.texi: Likewise.
50322         * doc/posix-functions/wcstold.texi: Likewise.
50323         * doc/posix-functions/wcstoll.texi: Likewise.
50324         * doc/posix-functions/wcstol.texi: Likewise.
50325         * doc/posix-functions/wcstombs.texi: Likewise.
50326         * doc/posix-functions/wcstoull.texi: Likewise.
50327         * doc/posix-functions/wcstoul.texi: Likewise.
50328         * doc/posix-functions/wcstoumax.texi: Likewise.
50329         * doc/posix-functions/wcswidth.texi: Likewise.
50330         * doc/posix-functions/wcsxfrm.texi: Likewise.
50331         * doc/posix-functions/wctob.texi: Likewise.
50332         * doc/posix-functions/wctomb.texi: Likewise.
50333         * doc/posix-functions/wctrans.texi: Likewise.
50334         * doc/posix-functions/wctype.texi: Likewise.
50335         * doc/posix-functions/wcwidth.texi: Likewise.
50336         * doc/posix-functions/wmemchr.texi: Likewise.
50337         * doc/posix-functions/wmemcmp.texi: Likewise.
50338         * doc/posix-functions/wmemcpy.texi: Likewise.
50339         * doc/posix-functions/wmemmove.texi: Likewise.
50340         * doc/posix-functions/wmemset.texi: Likewise.
50341         * doc/posix-functions/wprintf.texi: Likewise.
50342         * doc/posix-functions/wscanf.texi: Likewise.
50343
50344 2008-12-21  Bruno Haible  <bruno@clisp.org>
50345
50346         Update doc for HP-UX 11.11.
50347         * doc/posix-functions/btowc.texi: Clarify that the function is missing
50348         in HP-UX version 11.00, not in all versions of HP-UX 11.
50349         * doc/posix-functions/fwide.texi: Likewise.
50350         * doc/posix-functions/fwprintf.texi: Likewise.
50351         * doc/posix-functions/fwscanf.texi: Likewise.
50352         * doc/posix-functions/inet_ntop.texi: Likewise.
50353         * doc/posix-functions/inet_pton.texi: Likewise.
50354         * doc/posix-functions/mbrlen.texi: Likewise.
50355         * doc/posix-functions/mbrtowc.texi: Likewise.
50356         * doc/posix-functions/mbsinit.texi: Likewise.
50357         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50358         * doc/posix-functions/swprintf.texi: Likewise.
50359         * doc/posix-functions/swscanf.texi: Likewise.
50360         * doc/posix-functions/towctrans.texi: Likewise.
50361         * doc/posix-functions/vfwprintf.texi: Likewise.
50362         * doc/posix-functions/vswprintf.texi: Likewise.
50363         * doc/posix-functions/vwprintf.texi: Likewise.
50364         * doc/posix-functions/wcrtomb.texi: Likewise.
50365         * doc/posix-functions/wcsrtombs.texi: Likewise.
50366         * doc/posix-functions/wcsstr.texi: Likewise.
50367         * doc/posix-functions/wctob.texi: Likewise.
50368         * doc/posix-functions/wctrans.texi: Likewise.
50369         * doc/posix-functions/wmemchr.texi: Likewise.
50370         * doc/posix-functions/wmemcmp.texi: Likewise.
50371         * doc/posix-functions/wmemcpy.texi: Likewise.
50372         * doc/posix-functions/wmemmove.texi: Likewise.
50373         * doc/posix-functions/wmemset.texi: Likewise.
50374         * doc/posix-functions/wprintf.texi: Likewise.
50375         * doc/posix-functions/wscanf.texi: Likewise.
50376
50377 2008-12-21  Bruno Haible  <bruno@clisp.org>
50378
50379         Work around a portability problem.
50380         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
50381         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
50382
50383 2008-12-20  Bruno Haible  <bruno@clisp.org>
50384
50385         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
50386         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
50387         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
50388         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
50389         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
50390
50391         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
50392         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
50393         set.
50394         (GNULIB_defined_mbstate_t): New macro.
50395         (mbsinit): Redefine if REPLACE_MBSINIT is set.
50396         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
50397         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
50398         reuses the system's mbrtowc function but works around the bugs.
50399         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
50400         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
50401         macros.
50402         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
50403         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
50404         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
50405         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
50406         REPLACE_MBSINIT if mbsinit needs to be overridden.
50407         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
50408         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50409         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
50410         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50411         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50412         m4/locale-zh.m4.
50413         (Depends): Add mbsinit.
50414         * modules/mbsinit (Depends): Add mbrtowc.
50415         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
50416
50417 2008-12-20  Bruno Haible  <bruno@clisp.org>
50418
50419         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
50420         so that there are no conversion errors on AIX.
50421         * tests/test-mbsrtowcs.c (main): LIkewise.
50422
50423 2008-12-20  Bruno Haible  <bruno@clisp.org>
50424
50425         Work around wctob bug on Solaris <= 9.
50426         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
50427         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
50428         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
50429         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50430         * modules/wctob (Files): Add m4/locale-fr.m4.
50431         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50432
50433 2008-12-20  Bruno Haible  <bruno@clisp.org>
50434
50435         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50436         /dev/null.
50437         * tests/test-select-in.sh: Likewise.
50438         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50439
50440 2008-12-20  Bruno Haible  <bruno@clisp.org>
50441
50442         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50443         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50444         Cygwin 1.5.x.
50445
50446 2008-12-20  Bruno Haible  <bruno@clisp.org>
50447
50448         Ensure mbstate_t is defined on HP-UX 11.11.
50449         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50450         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50451         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50452         AC_USE_SYSTEM_EXTENSIONS.
50453         * modules/fnmatch (Depends-on): Add extensions.
50454         * modules/mbrlen (Depends-on): Likewise.
50455         * modules/mbrtowc (Depends-on): Likewise.
50456         * modules/mbsinit (Depends-on): Likewise.
50457         * modules/mbsrtowcs (Depends-on): Likewise.
50458         * modules/mbswidth (Depends-on): Likewise.
50459         * modules/quotearg (Depends-on): Likewise.
50460         * modules/strftime (Depends-on): Likewise.
50461
50462 2008-12-20  Bruno Haible  <bruno@clisp.org>
50463
50464         Ensure wctob is declared on IRIX 6.5.
50465         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50466         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50467         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50468         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50469         of HAVE_WCTOB.
50470         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50471         HAVE_WCTOB.
50472         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50473
50474 2008-12-19  Bruno Haible  <bruno@clisp.org>
50475
50476         * modules/mbsrtowcs-tests: New file.
50477         * tests/test-mbsrtowcs1.sh: New file.
50478         * tests/test-mbsrtowcs2.sh: New file.
50479         * tests/test-mbsrtowcs3.sh: New file.
50480         * tests/test-mbsrtowcs4.sh: New file.
50481         * tests/test-mbsrtowcs.c: New file.
50482
50483         New module 'mbsrtowcs'.
50484         * lib/wchar.in.h (mbsrtowcs): New declaration.
50485         * lib/mbsrtowcs.c: New file.
50486         * m4/mbsrtowcs.m4: New file.
50487         * modules/mbsrtowcs: New file.
50488         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50489         HAVE_MBSRTOWCS.
50490         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50491         HAVE_MBSRTOWCS.
50492         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50493
50494 2008-12-19  Bruno Haible  <bruno@clisp.org>
50495
50496         New module 'mbrlen'.
50497         * lib/wchar.in.h (mbrlen): New declaration.
50498         * lib/mbrlen.c: New file.
50499         * m4/mbrlen.m4: New file.
50500         * modules/mbrlen: New file.
50501         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50502         HAVE_MBRLEN.
50503         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50504         HAVE_MBRLEN.
50505         * doc/posix-functions/mbrlen.texi: Document the new module.
50506
50507 2008-12-19  Bruno Haible  <bruno@clisp.org>
50508
50509         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50510         * modules/mbrtowc (Depends-on): Add verify.
50511         Suggested by Paul Eggert.
50512
50513 2008-12-18  Bruno Haible  <bruno@clisp.org>
50514
50515         * modules/mbsinit-tests: New file.
50516         * tests/test-mbsinit.sh: New file.
50517         * tests/test-mbsinit.c: New file.
50518
50519 2008-12-18  Bruno Haible  <bruno@clisp.org>
50520
50521         * modules/mbrtowc-tests: New file.
50522         * tests/test-mbrtowc1.sh: New file.
50523         * tests/test-mbrtowc2.sh: New file.
50524         * tests/test-mbrtowc3.sh: New file.
50525         * tests/test-mbrtowc4.sh: New file.
50526         * tests/test-mbrtowc.c: New file.
50527
50528         New module 'mbrtowc'.
50529         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50530         mbsinit and mbrtowc.
50531         (mbrtowc): New declaration.
50532         * lib/mbrtowc.c: New file.
50533         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50534         * modules/mbrtowc: New file.
50535         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50536         HAVE_MBRTOWC.
50537         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50538         HAVE_MBRTOWC.
50539         * doc/posix-functions/mbrtowc.texi: Document the new module.
50540
50541 2008-12-18  Bruno Haible  <bruno@clisp.org>
50542
50543         New module 'wctob'.
50544         * lib/wchar.in.h (wctob): New declaration.
50545         * lib/wctob.c: New file.
50546         * m4/wctob.m4: New file.
50547         * modules/wctob: New file.
50548         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50549         HAVE_WCTOB.
50550         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50551         * doc/posix-functions/wctob.texi: Document the new module.
50552
50553 2008-12-18  Bruno Haible  <bruno@clisp.org>
50554
50555         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50556         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50557
50558 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50559
50560         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50561         G. Christensen" <tgc@jupiterrise.com>.
50562
50563         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50564         G. Christensen" <tgc@jupiterrise.com>.
50565
50566         * lib/flock.c: Need to include string.h.  Reported by "Tom
50567         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50568         <ebb9@byu.net>.
50569
50570 2008-12-18  Bruno Haible  <bruno@clisp.org>
50571
50572         * m4/locale-ja.m4: New file, from GNU gettext.
50573
50574 2008-12-17  Bruno Haible  <bruno@clisp.org>
50575
50576         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50577         Suggested by Eric Blake.
50578
50579 2008-12-17  Bruno Haible  <bruno@clisp.org>
50580
50581         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50582
50583 2008-12-17  Bruno Haible  <bruno@clisp.org>
50584
50585         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50586         * modules/mbsinit (Depends-on): Add verify.
50587         Suggested by Paul Eggert.
50588
50589 2008-12-17  Bruno Haible  <bruno@clisp.org>
50590
50591         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50592         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50593         gl_FUNC_MBRTOWC.
50594         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50595         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50596         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50597         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50598         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50599         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50600         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
50601         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
50602         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
50603         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
50604         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
50605         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
50606         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
50607         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
50608         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
50609         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50610         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
50611         * modules/trim (configure.ac): Likewise.
50612
50613 2008-12-17  Bruno Haible  <bruno@clisp.org>
50614
50615         * modules/btowc-tests: New file.
50616         * tests/test-btowc1.sh: New file.
50617         * tests/test-btowc2.sh: New file.
50618         * tests/test-btowc.c: New file.
50619
50620         New module 'btowc'.
50621         * lib/wchar.in.h (btowc): New declaration.
50622         * lib/btowc.c: New file.
50623         * m4/btowc.m4: New file.
50624         * modules/btowc: New file.
50625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
50626         HAVE_BTOWC.
50627         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
50628         * doc/posix-functions/btowc.texi: Document the new module.
50629
50630 2008-12-17  Bruno Haible  <bruno@clisp.org>
50631
50632         New module 'mbsinit'.
50633         * lib/wchar.in.h (mbsinit): New declaration.
50634         * lib/mbsinit.c: New file.
50635         * m4/mbsinit.m4: New file.
50636         * modules/mbsinit: New file.
50637         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
50638         HAVE_MBSINIT.
50639         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
50640         HAVE_MBSINIT.
50641         * doc/posix-functions/mbsinit.texi: Document the new module.
50642
50643 2008-12-16  Bruno Haible  <bruno@clisp.org>
50644
50645         * lib/unistd.in.h: Add comment.
50646         * tests/test-environ.c: Don't include <stdlib.h>.
50647
50648 2008-12-16  Bruno Haible  <bruno@clisp.org>
50649
50650         * lib/parse-duration.h (parse_duration): Document return value
50651         convention.
50652         * lib/parse-duration.c: Include specification header first. Add
50653         comments.
50654         (_): Remove macro.
50655         (parse_year_month_day, parse_hour_minute_second): Move side effects
50656         outside of strchr call.
50657         (parse_non_iso8601): Move side effects outside of isspace call.
50658         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50659         call.
50660
50661 2008-12-16  Bruno Haible  <bruno@clisp.org>
50662
50663         * tests/test-parse-duration.sh: Produce no output when the test
50664         succeeds.
50665
50666 2008-12-16  Bruno Haible  <bruno@clisp.org>
50667
50668         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
50669         expressions.
50670
50671 2008-12-15  Bruno Haible  <bruno@clisp.org>
50672
50673         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
50674         * doc/glibc-functions/flistxattr.texi: Likewise.
50675         * doc/glibc-functions/fopencookie.texi: Likewise.
50676         * doc/glibc-functions/fremovexattr.texi: Likewise.
50677         * doc/glibc-functions/fsetxattr.texi: Likewise.
50678         * doc/glibc-functions/getxattr.texi: Likewise.
50679         * doc/glibc-functions/lgetxattr.texi: Likewise.
50680         * doc/glibc-functions/listxattr.texi: Likewise.
50681         * doc/glibc-functions/llistxattr.texi: Likewise.
50682         * doc/glibc-functions/lremovexattr.texi: Likewise.
50683         * doc/glibc-functions/lsetxattr.texi: Likewise.
50684         * doc/glibc-functions/removexattr.texi: Likewise.
50685         * doc/glibc-functions/setxattr.texi: Likewise.
50686         * doc/posix-functions/open_memstream.texi: Likewise.
50687
50688 2008-12-15  Eric Blake  <ebb9@byu.net>
50689
50690         Update doc for cygwin 1.7.
50691         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
50692         functions.
50693         * doc/posix-functions/fchmodat.texi: Likewise.
50694         * doc/posix-functions/fchownat.texi: Likewise.
50695         * doc/posix-functions/fdopendir.texi: Likewise.
50696         * doc/posix-functions/fmemopen.texi: Likewise.
50697         * doc/posix-functions/freeaddrinfo.texi: Likewise.
50698         * doc/posix-functions/fstatat.texi: Likewise.
50699         * doc/posix-functions/futimens.texi: Likewise.
50700         * doc/posix-functions/gai_strerror.texi: Likewise.
50701         * doc/posix-functions/getaddrinfo.texi: Likewise.
50702         * doc/posix-functions/getnameinfo.texi: Likewise.
50703         * doc/posix-functions/if_freenameindex.texi: Likewise.
50704         * doc/posix-functions/if_indextoname.texi: Likewise.
50705         * doc/posix-functions/if_nameindex.texi: Likewise.
50706         * doc/posix-functions/if_nametoindex.texi: Likewise.
50707         * doc/posix-functions/insque.texi: Likewise.
50708         * doc/posix-functions/linkat.texi: Likewise.
50709         * doc/posix-functions/llrint.texi: Likewise.
50710         * doc/posix-functions/llrintf.texi: Likewise.
50711         * doc/posix-functions/llrintl.texi: Likewise.
50712         * doc/posix-functions/lockf.texi: Likewise.
50713         * doc/posix-functions/lrintl.texi: Likewise.
50714         * doc/posix-functions/mkdirat.texi: Likewise.
50715         * doc/posix-functions/mkfifoat.texi: Likewise.
50716         * doc/posix-functions/mknodat.texi: Likewise.
50717         * doc/posix-functions/mq_close.texi: Likewise.
50718         * doc/posix-functions/mq_getattr.texi: Likewise.
50719         * doc/posix-functions/mq_notify.texi: Likewise.
50720         * doc/posix-functions/mq_open.texi: Likewise.
50721         * doc/posix-functions/mq_receive.texi: Likewise.
50722         * doc/posix-functions/mq_send.texi: Likewise.
50723         * doc/posix-functions/mq_setattr.texi: Likewise.
50724         * doc/posix-functions/mq_timedreceive.texi: Likewise.
50725         * doc/posix-functions/mq_timedsend.texi: Likewise.
50726         * doc/posix-functions/mq_unlink.texi: Likewise.
50727         * doc/posix-functions/open_memstream.texi: Likewise.
50728         * doc/posix-functions/openat.texi: Likewise.
50729         * doc/posix-functions/posix_fadvise.texi: Likewise.
50730         * doc/posix-functions/posix_fallocate.texi: Likewise.
50731         * doc/posix-functions/posix_madvise.texi: Likewise.
50732         * doc/posix-functions/posix_memalign.texi: Likewise.
50733         * doc/posix-functions/posix_openpt.texi: Likewise.
50734         * doc/posix-functions/readlinkat.texi: Likewise.
50735         * doc/posix-functions/remque.texi: Likewise.
50736         * doc/posix-functions/renameat.texi: Likewise.
50737         * doc/posix-functions/rintl.texi: Likewise.
50738         * doc/posix-functions/sem_unlink.texi: Likewise.
50739         * doc/posix-functions/shm_open.texi: Likewise.
50740         * doc/posix-functions/shm_unlink.texi: Likewise.
50741         * doc/posix-functions/signgam.texi: Likewise.
50742         * doc/posix-functions/sigset.texi: Likewise.
50743         * doc/posix-functions/stpcpy.texi: Likewise.
50744         * doc/posix-functions/stpncpy.texi: Likewise.
50745         * doc/posix-functions/strerror.texi: Likewise.
50746         * doc/posix-functions/strtod.texi: Likewise.
50747         * doc/posix-functions/symlinkat.texi: Likewise.
50748         * doc/posix-functions/unlinkat.texi: Likewise.
50749         * doc/posix-functions/utimensat.texi: Likewise.
50750         * doc/glibc-functions/bindresvport.texi: Likewise.
50751         * doc/glibc-functions/dn_expand.texi: Likewise.
50752         * doc/glibc-functions/exp10.texi: Likewise.
50753         * doc/glibc-functions/exp10f.texi: Likewise.
50754         * doc/glibc-functions/fgetxattr.texi: Likewise.
50755         * doc/glibc-functions/flistxattr.texi: Likewise.
50756         * doc/glibc-functions/fopencookie.texi: Likewise.
50757         * doc/glibc-functions/freeifaddrs.texi: Likewise.
50758         * doc/glibc-functions/fremovexattr.texi: Likewise.
50759         * doc/glibc-functions/fsetxattr.texi: Likewise.
50760         * doc/glibc-functions/getifaddrs.texi: Likewise.
50761         * doc/glibc-functions/getxattr.texi: Likewise.
50762         * doc/glibc-functions/lgetxattr.texi: Likewise.
50763         * doc/glibc-functions/listxattr.texi: Likewise.
50764         * doc/glibc-functions/llistxattr.texi: Likewise.
50765         * doc/glibc-functions/lremovexattr.texi: Likewise.
50766         * doc/glibc-functions/lsetxattr.texi: Likewise.
50767         * doc/glibc-functions/pow10.texi: Likewise.
50768         * doc/glibc-functions/pow10f.texi: Likewise.
50769         * doc/glibc-functions/rcmd_af.texi: Likewise.
50770         * doc/glibc-functions/removexattr.texi: Likewise.
50771         * doc/glibc-functions/res_init.texi: Likewise.
50772         * doc/glibc-functions/res_mkquery.texi: Likewise.
50773         * doc/glibc-functions/res_query.texi: Likewise.
50774         * doc/glibc-functions/res_querydomain.texi: Likewise.
50775         * doc/glibc-functions/res_send.texi: Likewise.
50776         * doc/glibc-functions/rresvport_af.texi: Likewise.
50777         * doc/glibc-functions/setxattr.texi: Likewise.
50778         * doc/glibc-functions/strcasestr.texi: Likewise.
50779
50780 2008-12-15  Bruno Haible  <bruno@clisp.org>
50781
50782         Fix compilation error on OSF/1 4.0.
50783         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
50784         <sys/time.h>, simply delegate to the system header.
50785         Reported by Daniel Richard G. <oss@teragram.com>.
50786
50787 2008-12-15  Bruno Haible  <bruno@clisp.org>
50788
50789         * doc/posix-functions/openat.texi: Mention the 'openat' module.
50790         * doc/posix-functions/fchmodat.texi: Likewise.
50791         * doc/posix-functions/fchownat.texi: Likewise.
50792         * doc/posix-functions/fdopendir.texi: Likewise.
50793         * doc/posix-functions/fstatat.texi: Likewise.
50794         * doc/posix-functions/mkdirat.texi: Likewise.
50795         * doc/posix-functions/unlinkat.texi: Likewise.
50796
50797 2008-12-14  Bruno Haible  <bruno@clisp.org>
50798
50799         Update doc for POSIX:2008.
50800         * doc/posix-functions/faccessat.texi: New file.
50801         * doc/posix-functions/fchmodat.texi: New file.
50802         * doc/posix-functions/fchownat.texi: New file.
50803         * doc/posix-functions/fdopendir.texi: New file.
50804         * doc/posix-functions/fstatat.texi: New file.
50805         * doc/posix-functions/futimens.texi: New file.
50806         * doc/posix-functions/linkat.texi: New file.
50807         * doc/posix-functions/mkdirat.texi: New file.
50808         * doc/posix-functions/mkfifoat.texi: New file.
50809         * doc/posix-functions/mknodat.texi: New file.
50810         * doc/posix-functions/open_wmemstream.texi: New file.
50811         * doc/posix-functions/openat.texi: New file.
50812         * doc/posix-functions/psiginfo.texi: New file.
50813         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
50814         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
50815         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
50816         * doc/posix-functions/readlinkat.texi: New file.
50817         * doc/posix-functions/renameat.texi: New file.
50818         * doc/posix-functions/strerror_l.texi: New file.
50819         * doc/posix-functions/symlinkat.texi: New file.
50820         * doc/posix-functions/unlinkat.texi: New file.
50821         * doc/posix-functions/utimensat.texi: New file.
50822         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50823
50824 2008-12-14  Bruno Haible  <bruno@clisp.org>
50825
50826         Update doc for POSIX:2008.
50827         * doc/posix-functions/alphasort.texi: Renamed from
50828         doc/glibc-functions/alphasort.texi.
50829         * doc/posix-functions/dirfd.texi: Renamed from
50830         doc/glibc-functions/dirfd.texi.
50831         * doc/posix-functions/dprintf.texi: Renamed from
50832         doc/glibc-functions/dprintf.texi.
50833         * doc/posix-functions/duplocale.texi: Renamed from
50834         doc/glibc-functions/duplocale.texi.
50835         * doc/posix-functions/fexecve.texi: Renamed from
50836         doc/glibc-functions/fexecve.texi.
50837         * doc/posix-functions/fmemopen.texi: Renamed from
50838         doc/glibc-functions/fmemopen.texi.
50839         * doc/posix-functions/freelocale.texi: Renamed from
50840         doc/glibc-functions/freelocale.texi.
50841         * doc/posix-functions/getdate_err.texi: Renamed from
50842         doc/glibc-functions/getdate_err.texi.
50843         * doc/posix-functions/isalnum_l.texi: Renamed from
50844         doc/glibc-functions/isalnum_l.texi.
50845         * doc/posix-functions/isalpha_l.texi: Renamed from
50846         doc/glibc-functions/isalpha_l.texi.
50847         * doc/posix-functions/isblank_l.texi: Renamed from
50848         doc/glibc-functions/isblank_l.texi.
50849         * doc/posix-functions/iscntrl_l.texi: Renamed from
50850         doc/glibc-functions/iscntrl_l.texi.
50851         * doc/posix-functions/isdigit_l.texi: Renamed from
50852         doc/glibc-functions/isdigit_l.texi.
50853         * doc/posix-functions/isgraph_l.texi: Renamed from
50854         doc/glibc-functions/isgraph_l.texi.
50855         * doc/posix-functions/islower_l.texi: Renamed from
50856         doc/glibc-functions/islower_l.texi.
50857         * doc/posix-functions/isprint_l.texi: Renamed from
50858         doc/glibc-functions/isprint_l.texi.
50859         * doc/posix-functions/ispunct_l.texi: Renamed from
50860         doc/glibc-functions/ispunct_l.texi.
50861         * doc/posix-functions/isspace_l.texi: Renamed from
50862         doc/glibc-functions/isspace_l.texi.
50863         * doc/posix-functions/isupper_l.texi: Renamed from
50864         doc/glibc-functions/isupper_l.texi.
50865         * doc/posix-functions/iswalnum_l.texi: Renamed from
50866         doc/glibc-functions/iswalnum_l.texi.
50867         * doc/posix-functions/iswalpha_l.texi: Renamed from
50868         doc/glibc-functions/iswalpha_l.texi.
50869         * doc/posix-functions/iswblank_l.texi: Renamed from
50870         doc/glibc-functions/iswblank_l.texi.
50871         * doc/posix-functions/iswcntrl_l.texi: Renamed from
50872         doc/glibc-functions/iswcntrl_l.texi.
50873         * doc/posix-functions/iswctype_l.texi: Renamed from
50874         doc/glibc-functions/iswctype_l.texi.
50875         * doc/posix-functions/iswdigit_l.texi: Renamed from
50876         doc/glibc-functions/iswdigit_l.texi.
50877         * doc/posix-functions/iswgraph_l.texi: Renamed from
50878         doc/glibc-functions/iswgraph_l.texi.
50879         * doc/posix-functions/iswlower_l.texi: Renamed from
50880         doc/glibc-functions/iswlower_l.texi.
50881         * doc/posix-functions/iswprint_l.texi: Renamed from
50882         doc/glibc-functions/iswprint_l.texi.
50883         * doc/posix-functions/iswpunct_l.texi: Renamed from
50884         doc/glibc-functions/iswpunct_l.texi.
50885         * doc/posix-functions/iswspace_l.texi: Renamed from
50886         doc/glibc-functions/iswspace_l.texi.
50887         * doc/posix-functions/iswupper_l.texi: Renamed from
50888         doc/glibc-functions/iswupper_l.texi.
50889         * doc/posix-functions/iswxdigit_l.texi: Renamed from
50890         doc/glibc-functions/iswxdigit_l.texi.
50891         * doc/posix-functions/isxdigit_l.texi: Renamed from
50892         doc/glibc-functions/isxdigit_l.texi.
50893         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
50894         doc/glibc-functions/mbsnrtowcs.texi.
50895         * doc/posix-functions/mkdtemp.texi: Renamed from
50896         doc/glibc-functions/mkdtemp.texi.
50897         * doc/posix-functions/newlocale.texi: Renamed from
50898         doc/glibc-functions/newlocale.texi.
50899         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
50900         doc/glibc-functions/nl_langinfo_l.texi.
50901         * doc/posix-functions/open_memstream.texi: Renamed from
50902         doc/glibc-functions/open_memstream.texi.
50903         * doc/posix-functions/opterr.texi: Renamed from
50904         doc/glibc-functions/opterr.texi.
50905         * doc/posix-functions/optind.texi: Renamed from
50906         doc/glibc-functions/optind.texi.
50907         * doc/posix-functions/optopt.texi: Renamed from
50908         doc/glibc-functions/optopt.texi.
50909         * doc/posix-functions/psignal.texi: Renamed from
50910         doc/glibc-functions/psignal.texi.
50911         * doc/posix-functions/scandir.texi: Renamed from
50912         doc/glibc-functions/scandir.texi.
50913         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
50914         doc/glibc-functions/sched_get_priority_min.texi.
50915         * doc/posix-functions/signgam.texi: Renamed from
50916         doc/glibc-functions/signgam.texi.
50917         * doc/posix-functions/stpcpy.texi: Renamed from
50918         doc/glibc-functions/stpcpy.texi.
50919         * doc/posix-functions/stpncpy.texi: Renamed from
50920         doc/glibc-functions/stpncpy.texi.
50921         * doc/posix-functions/strcasecmp_l.texi: Renamed from
50922         doc/glibc-functions/strcasecmp_l.texi.
50923         * doc/posix-functions/strcoll_l.texi: Renamed from
50924         doc/glibc-functions/strcoll_l.texi.
50925         * doc/posix-functions/strfmon_l.texi: Renamed from
50926         doc/glibc-functions/strfmon_l.texi.
50927         * doc/posix-functions/strftime_l.texi: Renamed from
50928         doc/glibc-functions/strftime_l.texi.
50929         * doc/posix-functions/strncasecmp_l.texi: Renamed from
50930         doc/glibc-functions/strncasecmp_l.texi.
50931         * doc/posix-functions/strndup.texi: Renamed from
50932         doc/glibc-functions/strndup.texi.
50933         * doc/posix-functions/strnlen.texi: Renamed from
50934         doc/glibc-functions/strnlen.texi.
50935         * doc/posix-functions/strsignal.texi: Renamed from
50936         doc/glibc-functions/strsignal.texi.
50937         * doc/posix-functions/strxfrm_l.texi: Renamed from
50938         doc/glibc-functions/strxfrm_l.texi.
50939         * doc/posix-functions/timer_gettime.texi: Renamed from
50940         doc/glibc-functions/timer_gettime.texi.
50941         * doc/posix-functions/tolower_l.texi: Renamed from
50942         doc/glibc-functions/tolower_l.texi.
50943         * doc/posix-functions/toupper_l.texi: Renamed from
50944         doc/glibc-functions/toupper_l.texi.
50945         * doc/posix-functions/towctrans_l.texi: Renamed from
50946         doc/glibc-functions/towctrans_l.texi.
50947         * doc/posix-functions/towlower_l.texi: Renamed from
50948         doc/glibc-functions/towlower_l.texi.
50949         * doc/posix-functions/towupper_l.texi: Renamed from
50950         doc/glibc-functions/towupper_l.texi.
50951         * doc/posix-functions/uselocale.texi: Renamed from
50952         doc/glibc-functions/uselocale.texi.
50953         * doc/posix-functions/vdprintf.texi: Renamed from
50954         doc/glibc-functions/vdprintf.texi.
50955         * doc/posix-functions/wcpcpy.texi:
50956         Renamed from doc/glibc-functions/wcpcpy.texi.
50957         * doc/posix-functions/wcpncpy.texi: Renamed from
50958         doc/glibc-functions/wcpncpy.texi.
50959         * doc/posix-functions/wcscasecmp.texi: Renamed from
50960         doc/glibc-functions/wcscasecmp.texi.
50961         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
50962         doc/glibc-functions/wcscasecmp_l.texi.
50963         * doc/posix-functions/wcscoll_l.texi: Renamed from
50964         doc/glibc-functions/wcscoll_l.texi.
50965         * doc/posix-functions/wcsdup.texi: Renamed from
50966         doc/glibc-functions/wcsdup.texi.
50967         * doc/posix-functions/wcsncasecmp.texi: Renamed from
50968         doc/glibc-functions/wcsncasecmp.texi.
50969         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
50970         doc/glibc-functions/wcsncasecmp_l.texi.
50971         * doc/posix-functions/wcsnlen.texi: Renamed from
50972         doc/glibc-functions/wcsnlen.texi.
50973         * doc/posix-functions/wcsnrtombs.texi: Renamed from
50974         doc/glibc-functions/wcsnrtombs.texi.
50975         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
50976         doc/glibc-functions/wcsxfrm_l.texi.
50977         * doc/posix-functions/wctrans_l.texi: Renamed from
50978         doc/glibc-functions/wctrans_l.texi.
50979         * doc/posix-functions/wctype_l.texi: Renamed from
50980         doc/glibc-functions/wctype_l.texi.
50981         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50982         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
50983         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
50984         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
50985         these subsections.
50986         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
50987         Remove sections.
50988
50989 2008-12-14  Bruno Haible  <bruno@clisp.org>
50990
50991         Update doc for POSIX:2008.
50992         * doc/posix-functions/*.texi: Update URL of POSIX specification.
50993
50994 2008-12-14  Bruno Haible  <bruno@clisp.org>
50995
50996         Update doc for POSIX:2008.
50997         * doc/pastposix-functions/bcmp.texi: Renamed from
50998         doc/posix-functions/bcmp.texi.
50999         * doc/pastposix-functions/bcopy.texi: Renamed from
51000         doc/posix-functions/bcopy.texi.
51001         * doc/pastposix-functions/bsd_signal.texi: Renamed from
51002         doc/posix-functions/bsd_signal.texi.
51003         * doc/pastposix-functions/bzero.texi: Renamed from
51004         doc/posix-functions/bzero.texi.
51005         * doc/pastposix-functions/ecvt.texi: Renamed from
51006         doc/posix-functions/ecvt.texi.
51007         * doc/pastposix-functions/fcvt.texi: Renamed from
51008         doc/posix-functions/fcvt.texi.
51009         * doc/pastposix-functions/ftime.texi: Renamed from
51010         doc/posix-functions/ftime.texi.
51011         * doc/pastposix-functions/gcvt.texi: Renamed from
51012         doc/posix-functions/gcvt.texi.
51013         * doc/pastposix-functions/getcontext.texi: Renamed from
51014         doc/posix-functions/getcontext.texi.
51015         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51016         doc/posix-functions/gethostbyaddr.texi.
51017         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51018         doc/posix-functions/gethostbyname.texi.
51019         * doc/pastposix-functions/getwd.texi: Renamed from
51020         doc/posix-functions/getwd.texi.
51021         * doc/pastposix-functions/h_errno.texi: Renamed from
51022         doc/posix-functions/h_errno.texi.
51023         * doc/pastposix-functions/index.texi: Renamed from
51024         doc/posix-functions/index.texi.
51025         * doc/pastposix-functions/makecontext.texi: Renamed from
51026         doc/posix-functions/makecontext.texi.
51027         * doc/pastposix-functions/mktemp.texi: Renamed from
51028         doc/posix-functions/mktemp.texi.
51029         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51030         doc/posix-functions/pthread_attr_getstackaddr.texi.
51031         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51032         doc/posix-functions/pthread_attr_setstackaddr.texi.
51033         * doc/pastposix-functions/rindex.texi: Renamed from
51034         doc/posix-functions/rindex.texi.
51035         * doc/pastposix-functions/scalb.texi: Renamed from
51036         doc/posix-functions/scalb.texi.
51037         * doc/pastposix-functions/setcontext.texi: Renamed from
51038         doc/posix-functions/setcontext.texi.
51039         * doc/pastposix-functions/swapcontext.texi: Renamed from
51040         doc/posix-functions/swapcontext.texi.
51041         * doc/pastposix-functions/ualarm.texi: Renamed from
51042         doc/posix-functions/ualarm.texi.
51043         * doc/pastposix-functions/usleep.texi: Renamed from
51044         doc/posix-functions/usleep.texi.
51045         * doc/pastposix-functions/vfork.texi: Renamed from
51046         doc/posix-functions/vfork.texi.
51047         * doc/pastposix-functions/wcswcs.texi: Renamed from
51048         doc/posix-functions/wcswcs.texi.
51049         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51050         (Function Substitutes): Update.
51051
51052 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51053
51054         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51055         m4/strerror.m4.
51056
51057 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51058             Bruno Haible  <bruno@clisp.org>
51059
51060         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51061
51062 2008-12-13  Bruno Haible  <bruno@clisp.org>
51063
51064         * modules/strtoull (Depends-on): Remove unistd.
51065
51066 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51067
51068         * modules/strtoull (Depends-on): Add stdlib.
51069
51070 2008-12-11  Simon Josefsson  <simon@josefsson.org>
51071
51072         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
51073
51074 2008-12-10  Jim Meyering  <meyering@redhat.com>
51075
51076         gl_ASSERT: don't say assertions are disabled when they're not
51077         * m4/assert.m4 (gl_ASSERT): Do not make configure report
51078         "checking whether to enable assertions... no", when they are in
51079         fact enabled.  This is solely a bug in the output of configure.
51080         In spite of saying "no", NDEBUG was not defined in that case.
51081         Also, as noted by Eric Blake, leave assertions enabled upon
51082         --enable-assert=INVALID.
51083
51084 2008-12-10  Bruno Haible  <bruno@clisp.org>
51085
51086         Change MODULES.html to refer to POSIX:2008 where possible.
51087         * MODULES.html.sh (POSIX2008_URL): New variable.
51088         (posix_headers): Remove sys/timeb, ucontext.
51089         (posix2001_headers): New variable.
51090         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
51091         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
51092         index, makecontext, mktemp, pthread_attr_getstackaddr,
51093         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
51094         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
51095         (posix2001_functions): New variable.
51096         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
51097         otherwise.
51098
51099 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51100
51101         add missing include to parse-duration.c
51102         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
51103         * modules/parse-duration (Depends-on): Add xalloc.
51104
51105         fix sed script reading maint.mk
51106         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
51107         (syntax-check-rules): Use it.
51108
51109 2008-12-09  Bruno Haible  <bruno@clisp.org>
51110
51111         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
51112         MacOS X 10.4/PowerPC.
51113         Reported by Simon Josefsson.
51114
51115 2008-12-08  Jim Meyering  <meyering@redhat.com>
51116
51117         work around mingw's lack of some S_IF definitions
51118         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
51119         Reported by Simon Josefsson.
51120
51121 2008-12-08  Bruno Haible  <bruno@clisp.org>
51122
51123         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
51124         applied to variables. Needed on MacOS X 10.4/PowerPC.
51125         Reported by Simon Josefsson.
51126
51127 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
51128         and Eric Blake  <ebb9@byu.net>
51129
51130         assert: honor --enable-assert
51131         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
51132         order to honor --enable-assert, rather than treating it as a
51133         synonym for --disable-assert.
51134
51135 2008-12-08  Jim Meyering  <meyering@redhat.com>
51136
51137         * lib/posixtm.c: Remove now-useless declaration of mktime.
51138
51139         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
51140
51141 2008-12-07  Bruno Haible  <bruno@clisp.org>
51142
51143         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
51144         test_once): Mark functions as static.
51145         * tests/test-tls.c (test_tls): Likewise.
51146
51147 2008-12-07  Bruno Haible  <bruno@clisp.org>
51148
51149         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
51150         iconv_register_autodetect.
51151
51152 2008-12-07  Jim Meyering  <meyering@redhat.com>
51153
51154         posixtm.c: avoid a warning
51155         * lib/posixtm.c (posixtime): Don't initialize tm0.
51156         It's no longer needed to placate gcc4's -Wuninitialized,
51157         and the attempt to placate would elicit a new warning.
51158
51159         unicodeio.c: mark unused parameters
51160         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51161         (fallback_failure_callback): Likewise.
51162
51163 2008-12-07  Bruno Haible  <bruno@clisp.org>
51164
51165         * gnulib-tool (func_create_testdir): When building the tests
51166         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
51167         Reported by Simon Josefsson.
51168
51169 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51170
51171         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
51172
51173 2008-12-06  Bruno Haible  <bruno@clisp.org>
51174
51175         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
51176         Suggested by Eric Blake.
51177
51178 2008-12-06  Bruno Haible  <bruno@clisp.org>
51179
51180         Fix a c-stack test failure on MacOS X.
51181         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
51182         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
51183         handler for SIGBUS as well.
51184         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
51185         install a signal handler for SIGBUS as well.
51186         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
51187
51188 2008-12-06  Bruno Haible  <bruno@clisp.org>
51189
51190         Advocacy documentation.
51191         * doc/gnulib-intro.texi (Benefits): New section.
51192         * doc/gnulib.texi: Update.
51193
51194 2008-12-06  Bruno Haible  <bruno@clisp.org>
51195
51196         Document the 'manywarnings' module.
51197         * doc/manywarnings.texi: New file.
51198         * doc/gnulib.texi: Include it.
51199
51200 2008-12-05  Eric Blake  <ebb9@byu.net>
51201
51202         tests: silence some gcc warnings
51203         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
51204         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
51205         type mismatches.
51206
51207 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51208             Bruno Haible  <bruno@clisp.org>
51209
51210         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
51211
51212 2008-11-29  Jim Meyering  <meyering@redhat.com>
51213
51214         unicodeio.c: mark unused parameters
51215         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51216         (fallback_failure_callback): Likewise.
51217
51218         fts: fix a thinko
51219         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
51220         (set_stat_type): Return S_IF*-valued "type" directly.
51221         Prompted by James Youngman's spotting a related bug.
51222         Confirmed by further testing through find.
51223
51224         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
51225         * lib/fts.c (D_TYPE): Define.
51226         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
51227         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
51228         (s_ifmt_shift_bits): New function.
51229         (set_stat_type): New function.
51230         (fts_build): When not calling fts_stat, call set_stat_type
51231         to propagate dirent.d_type info to fts_read caller.
51232         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
51233         fts_statp->st_mode type information may be valid.
51234
51235 2008-11-28  Simon Josefsson  <simon@josefsson.org>
51236
51237         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
51238         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
51239         <sds@gnu.org>.
51240
51241 2008-11-20  Bruno Haible  <bruno@clisp.org>
51242
51243         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
51244         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
51245         INCLUDE_NEXT.
51246         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
51247         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
51248         * modules/math (Makefile.am): Substitute
51249         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
51250         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51251
51252 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
51253             Bruno Haible  <bruno@clisp.org>
51254
51255         * lib/stdint.in.h: Define all type macros so that their expansion is
51256         a single typedef'ed token. Fixes a compilation failure in Boost which
51257         does "using ::int8_t;".
51258
51259 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51260
51261         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
51262         gl_MANYWARN_ALL_GCC.
51263         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
51264         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
51265         * modules/manywarnings: New file.
51266         * MODULES.html.sh: Mention manywarnings module.
51267
51268 2008-11-18  Bruno Haible  <bruno@clisp.org>
51269
51270         * doc/gnulib-tool.texi (Unit tests): New section.
51271
51272 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51273
51274         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
51275         paths like 'lib/po/foo.po'.
51276
51277 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51278
51279         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
51280         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
51281
51282 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51283
51284         * m4/warnings.m4: Use CPPFLAGS to really check whether the
51285         parameter works.
51286
51287 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51288
51289         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
51290
51291 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51292
51293         * modules/parse-duration-tests: New file.
51294         * tests/test-parse-duration.sh: New file.
51295         * tests/test-parse-duration.c: New file.
51296
51297         New module 'parse-duration'.
51298         * lib/parse-duration.h: New file.
51299         * lib/parse-duration.c: New file.
51300         * modules/parse-duration: New file.
51301
51302 2008-11-17  Bruno Haible  <bruno@clisp.org>
51303
51304         * tests/test-select-out.sh: Comment out the first pipe test.
51305         Reported by Simon Josefsson.
51306
51307 2008-11-17  Bruno Haible  <bruno@clisp.org>
51308
51309         * modules/getaddrinfo (Depends-on): Add servent, hostent.
51310         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
51311         gl_HOSTENT.
51312
51313 2008-11-17  Bruno Haible  <bruno@clisp.org>
51314
51315         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
51316         -lnetwork and -lnet. Needed for Haiku and BeOS.
51317
51318 2008-11-16  Bruno Haible  <bruno@clisp.org>
51319
51320         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
51321
51322 2008-11-16  Bruno Haible  <bruno@clisp.org>
51323
51324         Avoid test failure on Haiku.
51325         * tests/test-fsync.c: Include <errno.h>.
51326         (main): Don't require that fsync (0) fails.
51327
51328 2008-11-15  Bruno Haible  <bruno@clisp.org>
51329
51330         New module 'hostent'.
51331         * modules/hostent: New file.
51332         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
51333
51334 2008-11-15  Bruno Haible  <bruno@clisp.org>
51335
51336         New module 'servent'.
51337         * modules/servent: New file.
51338         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
51339
51340 2008-11-15  Bruno Haible  <bruno@clisp.org>
51341
51342         Avoid generating same test program with two different rules.
51343         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
51344         test-frexp to test-frexp-nolibm.
51345         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
51346         test-frexpl to test-frexpl-nolibm.
51347
51348 2008-11-15  Bruno Haible  <bruno@clisp.org>
51349
51350         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
51351         $(FREXPL_LIBM).
51352
51353 2008-11-15  Bruno Haible  <bruno@clisp.org>
51354
51355         * lib/netdb.in.h: Activate the definitions also when the system's
51356         <netdb.h> has 'struct addrinfo'.
51357         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
51358         EAI_OVERFLOW or AI_NUMERICSERV.
51359         * doc/posix-headers/netdb.texi: Document the problem.
51360
51361 2008-11-15  Bruno Haible  <bruno@clisp.org>
51362
51363         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
51364
51365         Make the 'sched' module work on platforms where <sched.h> exists but
51366         is incomplete (such as Haiku).
51367         * lib/sched.in.h; Include the system's <sched.h> if it exists.
51368         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
51369         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
51370         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
51371         HAVE_STRUCT_SCHED_PARAM.
51372         * modules/sched (Depends-on): Add include_next.
51373         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
51374         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
51375         * doc/posix-headers/sched.texi: Document the issue.
51376
51377 2008-11-13  Jim Meyering  <meyering@redhat.com>
51378
51379         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
51380         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
51381         test would fail due to the difference in the Report bugs to ...
51382         line.  The expected address is empty, "<>", while the actual
51383         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
51384
51385 2008-11-12  Bruno Haible  <bruno@clisp.org>
51386
51387         lstat: don't compile lstat.c on systems lacking lstat
51388         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
51389         which don't have lstat; this is handled by lib/sys_stat.in.h already.
51390         Reported by Daniel P. Berrange via Jim Meyering.
51391
51392 2008-11-12  Jim Meyering  <meyering@redhat.com>
51393
51394         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
51395
51396 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51397
51398         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
51399         instead.
51400
51401 2008-11-12  Bruno Haible  <bruno@clisp.org>
51402
51403         * lib/unicodeio.c: Include unistr.h.
51404         (utf8_wctomb): Remove function.
51405         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
51406
51407 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51408
51409         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
51410         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
51411         <bruno@clisp.org>.
51412         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
51413
51414 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51415
51416         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
51417         * doc/gnulib.texi: Add section for warnings.
51418
51419 2008-11-11  Bruno Haible  <bruno@clisp.org>
51420
51421         * lib/sockets.h: Add a comment.
51422
51423 2008-11-11  Karl Berry  <karl@gnu.org>
51424
51425         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
51426
51427 2008-11-11  Eric Blake  <ebb9@byu.net>
51428
51429         fdl.texi: avoid git symlinks
51430         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51431
51432 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51433
51434         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51435
51436 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51437
51438         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51439         (gl_WARN_ADD): Substitute $2 if literal.
51440
51441 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51442
51443         * m4/warning.m4: Remove.
51444
51445 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51446
51447         * m4/warnings.m4: Almost complete rewrite. :-)
51448
51449 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51450
51451         * modules/warnings: New module.
51452         * m4/warnings.m4: New file.
51453         * MODULES.html.sh: Mention warnings module.
51454         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51455         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51456
51457 2008-11-10  Eric Blake  <ebb9@byu.net>
51458
51459         fdl.texi: make a symlink to the latest version
51460         * doc/standards.texi: Revert today's earlier change.
51461         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51462         * doc/fdl.texi: ...and replace this with a symlink to the newer
51463         fdl-1.3.texi.
51464
51465 2008-11-10  Bruno Haible  <bruno@clisp.org>
51466
51467         * tests/test-select-fd.c (main): Accept the result file name as fourth
51468         argument.
51469         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51470         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51471
51472 2008-11-10  Bruno Haible  <bruno@clisp.org>
51473
51474         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51475         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51476         as autoconf-substituted macros.
51477         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51478         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51479         gl_NETDB_H_DEFAULTS. Set these variables.
51480         * modules/netdb (Makefile.am): Substitute these variables.
51481
51482 2008-11-10  Eric Blake  <ebb9@byu.net>
51483
51484         standards.texi: include correct file for FDL 1.3
51485         * doc/standards.texi (GNU Free Documentation License): Change
51486         include file to pull in FDL 1.3, not 1.2.
51487
51488         fdl.texi: revert accidental change to license
51489         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51490
51491 2008-11-10  Bruno Haible  <bruno@clisp.org>
51492
51493         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51494         cross-compiling guesses also when the native compile gives no result.
51495
51496 2008-11-10  Bruno Haible  <bruno@clisp.org>
51497
51498         * lib/spawni.c (__spawni): Force variable into the stack.
51499
51500 2008-11-10  Bruno Haible  <bruno@clisp.org>
51501
51502         Add support for Haiku.
51503         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51504         glibc and BeOS, but also on Haiku.
51505         * lib/fpurge.c (fpurge): Likewise.
51506         * lib/freadable.c (freadable): Likewise.
51507         * lib/freadahead.c (freadahead): Likewise.
51508         * lib/freading.c (freading): Likewise.
51509         * lib/freadptr.c (freadptr): Likewise.
51510         * lib/freadseek.c (freadptrinc): Likewise.
51511         * lib/fseeko.c (rpl_fseeko): Likewise.
51512         * lib/fseterr.c (fseterr): Likewise.
51513         * lib/fwritable.c (fwritable): Likewise.
51514         * lib/fwriting.c (fwriting): Likewise.
51515         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51516
51517 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51518
51519         * lib/config.charset: Treat Haiku like BeOS.
51520
51521 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51522
51523         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51524         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51525
51526 2008-11-08  Bruno Haible  <bruno@clisp.org>
51527
51528         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51529         AC_CACHE_CHECK.
51530
51531 2008-11-08  Bruno Haible  <bruno@clisp.org>
51532
51533         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51534
51535 2008-11-08  Bruno Haible  <bruno@clisp.org>
51536
51537         * tests/test-select-fd.c: New file.
51538         * tests/test-select-in.sh: New file.
51539         * tests/test-select-out.sh: New file.
51540         * tests/test-select-stdin.c: New file.
51541         * modules/select-tests (Files): Add the new files.
51542         (Depends-on): Add gettimeofday.
51543         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51544         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51545         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51546
51547 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51548             Bruno Haible  <bruno@clisp.org>
51549
51550         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51551
51552 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51553
51554         * build-aux/pmccabe2html: Added support for C++ source files.
51555
51556 2008-11-05  Ben Pfaff  <blp@gnu.org>
51557
51558         Fix lib/close.c build on Windows.
51559         * modules/close (Files): Add lib/w32sock.h.
51560
51561 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51562
51563         Accept Bison's NEWS format.
51564         * build-aux/announce-gen (print_news_deltas): Tweak
51565         $re_prefix.
51566
51567 2008-11-04  Bruno Haible  <bruno@clisp.org>
51568
51569         * modules/random_r (Maintainer): Add glibc.
51570
51571 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51572
51573         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51574         by karl@freefriends.org (Karl Berry).
51575         * doc/alloca.texi: Likewise.
51576         * doc/c-ctype.texi: Likewise.
51577         * doc/c-strcase.texi: Likewise.
51578         * doc/c-strcaseeq.texi: Likewise.
51579         * doc/c-strcasestr.texi: Likewise.
51580         * doc/c-strstr.texi: Likewise.
51581         * doc/c-strtod.texi: Likewise.
51582         * doc/c-strtold.texi: Likewise.
51583         * doc/ctime.texi: Likewise.
51584         * doc/error.texi: Likewise.
51585         * doc/fdl.texi: Likewise.
51586         * doc/gcd.texi: Likewise.
51587         * doc/getdate.texi: Likewise.
51588         * doc/gnulib-intro.texi: Likewise.
51589         * doc/gnulib-tool.texi: Likewise.
51590         * doc/gnulib.texi: Likewise.
51591         * doc/inet_ntoa.texi: Likewise.
51592         * doc/maintain.texi: Likewise.
51593         * doc/make-stds.texi: Likewise.
51594         * doc/quote.texi: Likewise.
51595         * doc/regexprops-generic.texi: Likewise.
51596         * doc/standards.texi: Likewise.
51597         * doc/verify.texi: Likewise.
51598         * doc/visibility.texi: Likewise.
51599         * doc/gnulib.texi (GNU Free Documentation License): Include
51600         fdl-1.3.texi instead of fdl.texi.
51601
51602 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51603
51604         * doc/fdl-1.3.texi: New file, from
51605         <http://www.gnu.org/licenses/fdl-1.3.texi>.
51606         * modules/fdl-1.3: Add.
51607         * MODULES.html.sh: Add fdl-1.3.
51608
51609 2008-11-03  Bruno Haible  <bruno@clisp.org>
51610
51611         Make determination of absolute name of header file work with AIX xlc.
51612         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
51613         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
51614         preprocessing.
51615         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51616         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51617
51618 2008-11-03  Simon Josefsson  <simon@josefsson.org>
51619
51620         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
51621         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
51622         <ludo@gnu.org>.
51623
51624 2008-11-02  Bruno Haible  <bruno@clisp.org>
51625
51626         Mark 'strpbrk' obsolete.
51627         * modules/strpbrk (Status, Notice): New sections.
51628         * modules/strtok_r (Depends-on): Add strpbrk.
51629
51630 2008-11-02  Bruno Haible  <bruno@clisp.org>
51631
51632         Mark 'strdup' obsolete.
51633         * modules/strdup (Status, Notice): New sections.
51634         * modules/findprog (Depends-on): Add strdup.
51635         * modules/getaddrinfo (Depends-on): Likewise.
51636         * modules/localename (Depends-on): Likewise.
51637         * modules/relocatable-lib (Depends-on): Likewise.
51638         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
51639         * modules/relocatable-prog (Depends-on): Likewise.
51640         * modules/trim (Depends-on): Likewise.
51641         * modules/unictype/gen-ctype (Depends-on): Likewise.
51642         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51643
51644 2008-11-02  Bruno Haible  <bruno@clisp.org>
51645
51646         Mark 'strcspn' obsolete.
51647         * modules/strcspn (Status, Notice): New sections.
51648
51649 2008-11-02  Bruno Haible  <bruno@clisp.org>
51650
51651         Mark 'rmdir' obsolete.
51652         * modules/rmdir (Status, Notice): New sections.
51653         * modules/clean-temp (Depends-on): Add rmdir.
51654         * modules/openat (Depends-on): Likewise.
51655
51656 2008-11-02  Bruno Haible  <bruno@clisp.org>
51657
51658         Mark 'raise' obsolete.
51659         * modules/raise (Status, Notice): New sections.
51660         (Include): Specify <signal.h>.
51661         * modules/stdio (Depends-on): Add raise.
51662         * modules/write (Depends-on): Likewise.
51663
51664 2008-11-02  Bruno Haible  <bruno@clisp.org>
51665
51666         Mark 'memset' obsolete.
51667         * modules/memset (Status, Notice): New sections.
51668
51669 2008-11-02  Bruno Haible  <bruno@clisp.org>
51670
51671         Mark 'memmove' obsolete.
51672         * modules/memmove (Status, Notice): New sections.
51673         * modules/argp (Depends-on): Add memmove.
51674         * modules/argz (Depends-on): Likewise.
51675         * modules/canonicalize (Depends-on): Likewise.
51676         * modules/canonicalize-lgpl (Depends-on): Likewise.
51677         * modules/fts (Depends-on): Likewise.
51678         * modules/getcwd (Depends-on): Likewise.
51679         * modules/human (Depends-on): Likewise.
51680         * modules/regex (Depends-on): Likewise.
51681         * modules/striconveh (Depends-on): Likewise.
51682         * modules/trim (Depends-on): Likewise.
51683         * modules/unistr/u8-move (Depends-on): Likewise.
51684         * modules/unistr/u16-move (Depends-on): Likewise.
51685         * modules/unistr/u32-move (Depends-on): Likewise.
51686
51687 2008-11-02  Bruno Haible  <bruno@clisp.org>
51688
51689         Mark 'memcpy' obsolete.
51690         * modules/memcpy (Status, Notice): New sections.
51691
51692 2008-11-02  Bruno Haible  <bruno@clisp.org>
51693
51694         Mark 'memcmp' obsolete.
51695         * modules/memcmp (Status, Notice): New sections.
51696         * modules/argmatch (Depends-on): Add memchr.
51697         * modules/backupfile (Depends-on): Likewise.
51698         * modules/c-strcasestr (Depends-on): Likewise.
51699         * modules/crypto/des (Depends-on): Likewise.
51700         * modules/csharpcomp (Depends-on): Likewise.
51701         * modules/fnmatch (Depends-on): Likewise.
51702         * modules/git-merge-changelog (Depends-on): Likewise.
51703         * modules/isnand (Depends-on): Likewise.
51704         * modules/isnand-nolibm (Depends-on): Likewise.
51705         * modules/isnanf (Depends-on): Likewise.
51706         * modules/isnanf-nolibm (Depends-on): Likewise.
51707         * modules/isnanl (Depends-on): Likewise.
51708         * modules/isnanl-nolibm (Depends-on): Likewise.
51709         * modules/mbchar (Depends-on): Likewise.
51710         * modules/memcoll (Depends-on): Likewise.
51711         * modules/quotearg (Depends-on): Likewise.
51712         * modules/regex (Depends-on): Likewise.
51713         * modules/relocatable-prog (Depends-on): Likewise.
51714         * modules/same (Depends-on): Likewise.
51715         * modules/signbit (Depends-on): Likewise.
51716         * modules/strcasestr-simple (Depends-on): Likewise.
51717         * modules/unictype/gen-ctype (Depends-on): Likewise.
51718         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51719         * modules/uniname/uniname (Depends-on): Likewise.
51720         * modules/unistr/u8-cmp (Depends-on): Likewise.
51721
51722 2008-11-02  Bruno Haible  <bruno@clisp.org>
51723
51724         Mark 'memchr' obsolete.
51725         * modules/memchr (Status, Notice): New sections.
51726         * modules/argp (Depends-on): Add memchr.
51727         * modules/base64 (Depends-on): Likewise.
51728         * modules/c-strcasestr (Depends-on): Likewise.
51729         * modules/chdir-long (Depends-on): Likewise.
51730         * modules/fnmatch (Depends-on): Likewise.
51731         * modules/getsubopt (Depends-on): Likewise.
51732         * modules/git-merge-changelog (Depends-on): Likewise.
51733         * modules/glob (Depends-on): Likewise.
51734         * modules/strcasestr-simple (Depends-on): Likewise.
51735         * modules/strnlen (Depends-on): Likewise.
51736
51737 2008-11-02  Bruno Haible  <bruno@clisp.org>
51738
51739         Mark 'atexit' obsolete.
51740         * modules/atexit (Status, Notice): New sections.
51741         * modules/chdir-long (Depends-on): Add atexit.
51742         * modules/wait-process (Depends-on): Likewise.
51743
51744 2008-11-02  Bruno Haible  <bruno@clisp.org>
51745
51746         * gnulib-tool: New option --with-obsolete.
51747         (func_usage): Document it.
51748         (func_modules_transitive_closure): Drop obsolete dependencies if
51749         incobsolete is not true.
51750         (func_import): Read and save the incobsolete variable to the cache.
51751
51752 2008-11-02  Bruno Haible  <bruno@clisp.org>
51753
51754         * modules/TEMPLATE-EXTENDED: New field 'Status'.
51755         * gnulib-tool: New option --extract-status.
51756         (func_usage): Document it.
51757         (sed_extract_prog): Recognize it.
51758         (func_get_status): New function.
51759
51760 2008-10-30  Simon Josefsson  <simon@josefsson.org>
51761
51762         * modules/sockets (License): Change from LGPL to LGPLv2+.
51763
51764 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51765
51766         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
51767
51768 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51769
51770         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51771         Mention times and sys_times.
51772         * modules/sys_times, modules/sys_times-tests: New modules.
51773         * modules/times, modules/times-tests: Likewise
51774         * m4/sys_times_h.m4: New file.
51775         * lib/sys_times.in.h: Likewise
51776         * lib/times.c: Likewise.
51777         * tests/test-sys_times.c: Likewise.
51778         * tests/test-times.c: Likewise.
51779         * doc/posix-headers/sys_times.texi: Update.
51780         * doc/posix-functions/times.texi: Update.
51781
51782 2008-10-28  Jim Meyering  <meyering@redhat.com>
51783
51784         * modules/tempname (Depends-on): Add lstat.
51785
51786         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
51787
51788 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51789
51790         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
51791         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
51792         using idiom used elsewhere in gnulib.
51793
51794 2008-10-27  Jim Meyering  <meyering@redhat.com>
51795
51796         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
51797
51798 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51799
51800         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
51801         TESTS_ENVIRONMENT, for shell scripts that needs to call built
51802         programs.
51803         * tests/test-argp-2.sh: Use $EXEEXT when needed.
51804
51805 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51806
51807         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
51808
51809 2008-10-27  Bruno Haible  <bruno@clisp.org>
51810
51811         * tests/test-lstat.c: Include <stdio.h>.
51812
51813 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51814
51815         * modules/lstat-tests: New module.
51816         * tests/test-lstat.c: New file.
51817
51818 2008-10-26  Jim Meyering  <meyering@redhat.com>
51819
51820         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
51821
51822 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51823             Bruno Haible  <bruno@clisp.org>
51824
51825         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
51826         * modules/configmake (Include): Add a note that the include must come
51827         after all system headers.
51828         * lib/javaversion.c: Include configmake.h after all other includes.
51829
51830 2008-10-26  Bruno Haible  <bruno@clisp.org>
51831
51832         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
51833         HAVE_STRUCT_RANDOM_DATA to 1.
51834         (gl_STDLIB_H): Simplify.
51835
51836 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51837
51838         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
51839         substitute HAVE_STRUCT_RANDOM_DATA.
51840         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
51841         random_data.
51842         * modules/stdlib (Makefile.am): Substitute
51843         HAVE_STRUCT_RANDOM_DATA.
51844
51845 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51846
51847         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
51848         * doc/gnulib-intro.texi (Copyright): Likewise.
51849
51850 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51851
51852         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
51853         findings.
51854
51855 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
51856             Bruno Haible  <bruno@clisp.org>
51857
51858         * lib/unistd.in.h: Include <winsock2.h>.
51859         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
51860         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
51861         Provide dummy declarations.
51862         (gethostname): Override.
51863         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
51864         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
51865         gl_PREREQ_SYS_H_WINSOCK2.
51866         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
51867         * doc/posix-functions/gethostname.texi: More details.
51868
51869 2008-10-25  Bruno Haible  <bruno@clisp.org>
51870
51871         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51872         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
51873         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
51874
51875         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
51876         here ...
51877         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
51878         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
51879         gl_UNISTD_H_DEFAULTS.
51880
51881 2008-10-25  Eric Blake  <ebb9@byu.net>
51882
51883         signbit: avoid spurious compiler failure
51884         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
51885         declarations inside function.
51886
51887 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51888             Bruno Haible  <bruno@clisp.org>
51889
51890         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
51891         * modules/random_r (Depends-on): Add stdint.
51892
51893 2008-10-24  Bruno Haible  <bruno@clisp.org>
51894
51895         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
51896         Eggert.
51897         * modules/strerror (License): Likewise.
51898
51899 2008-10-24  Jim Meyering  <meyering@redhat.com>
51900
51901         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
51902         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
51903
51904 2008-10-24  Eric Blake  <ebb9@byu.net>
51905
51906         getgroups: fix compilation when getgroups is available
51907         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
51908         but with <config.h> override of getgroups disabled.
51909
51910 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51911
51912         * doc/gnulib.texi (Header files): Add note about C++ problems.
51913         Explained by Bruno Haible <bruno@clisp.org>.
51914
51915 2008-10-23  Bruno Haible  <bruno@clisp.org>
51916
51917         Define a dummy SA_NODEFER macro on Interix.
51918         * lib/signal.in.h (SA_NODEFER): Define fallback.
51919         Reported by Aleksey Cheusov <cheusov@tut.by> via
51920         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
51921
51922 2008-10-23  Bruno Haible  <bruno@clisp.org>
51923
51924         * modules/freadahead (License): Change to LGPLv2+.
51925         Suggested by Simon Josefsson.
51926
51927 2008-10-23  Jim Meyering  <meyering@redhat.com>
51928
51929         random_r: new module
51930         * modules/random_r: New file.
51931         * m4/random_r.m4: New file.
51932         * lib/random_r.c: New file, from glibc.
51933         * modules/random_r-tests: New file.
51934         * tests/test-random_r.c: New file.
51935         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
51936          Declare.
51937         (RAND_MAX): Define.
51938         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
51939         * modules/stdlib: Substitute them, too.
51940         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
51941         * doc/glibc-functions/initstate_r.texi: Mention the new module.
51942         * doc/glibc-functions/random_r.texi: Likewise.
51943         * doc/glibc-functions/setstate_r.texi: Likewise.
51944         * doc/glibc-functions/srandom_r.texi: Likewise.
51945         * config/srclist.txt: Mention it.
51946
51947 2008-10-23  David Lutterkort  <lutter@redhat.com>
51948
51949         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
51950         link requirement
51951
51952 2008-10-23  Jim Meyering  <meyering@redhat.com>
51953
51954         selinux-h: mark parameters of stub functions as intentionally unused
51955         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
51956         * lib/se-context.in.h: Likewise.
51957
51958 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51959
51960         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
51961
51962 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51963
51964         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
51965
51966 2008-10-22  Eric Blake  <ebb9@byu.net>
51967
51968         glthread/thread: avoid compiler warning
51969         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
51970         Add unreachable abort to silence compiler.
51971
51972 2008-10-22  Eric Blake  <ebb9@byu.net>
51973
51974         netdb: also supply struct addrinfo for cygwin 1.5.x
51975         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
51976         older cygwin.
51977         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
51978         cygwin.
51979         * doc/posix-headers/netdb.texi (netdb.h): Document this.
51980
51981 2008-10-22  Bruno Haible  <bruno@clisp.org>
51982
51983         * users.txt: Update entry about pspp.
51984
51985 2008-10-21  Bruno Haible  <bruno@clisp.org>
51986
51987         Simplification.
51988         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
51989         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
51990
51991         Simplification.
51992         * lib/ioctl.c (ioctl): Don't undefine.
51993         * lib/socket.c (socket): Don't undefine.
51994
51995         Remove unused module indicator macros.
51996         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
51997         GNULIB_$1 as a C macro.
51998
51999         * doc/posix-functions/close.texi: Undo last change.
52000         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
52001         Windows platforms.
52002
52003 2008-10-21  Bruno Haible  <bruno@clisp.org>
52004
52005         Add gethostname() declaration to <unistd.h>.
52006         * lib/unistd.in.h (gethostname): New declaration.
52007         * lib/gethostname.c: Include <unistd.h>.
52008         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52009         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52010         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52011         and HAVE_GETHOSTNAME.
52012         * modules/gethostname (Depends-on): Add unistd.
52013         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52014         (Include): Specify <unistd.h>.
52015         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52016         HAVE_GETHOSTNAME.
52017         * tests/test-gethostname.c: Include <unistd.h> first.
52018
52019 2008-10-21  Bruno Haible  <bruno@clisp.org>
52020
52021         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52022         * modules/select-tests (Depends-on): Likewise.
52023         Reported by Simon Josefsson.
52024
52025 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52026
52027         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52028         * lib/accept.c: New file, based on winsock.c.
52029         * lib/bind.c: New file, based on winsock.c.
52030         * lib/connect.c: New file, based on winsock.c.
52031         * lib/getpeername.c: New file, based on winsock.c.
52032         * lib/getsockname.c: New file, based on winsock.c.
52033         * lib/getsockopt.c: New file, based on winsock.c.
52034         * lib/ioctl.c: New file, based on winsock.c.
52035         * lib/listen.c: New file, based on winsock.c.
52036         * lib/recv.c: New file, based on winsock.c.
52037         * lib/recvfrom.c: New file, based on winsock.c.
52038         * lib/send.c: New file, based on winsock.c.
52039         * lib/sendto.c: New file, based on winsock.c.
52040         * lib/setsockopt.c: New file, based on winsock.c.
52041         * lib/shutdown.c: New file, based on winsock.c.
52042         * lib/socket.c: New file, based on winsock.c.
52043         * lib/w32sock.h: New file, based on winsock.c.
52044         * lib/winsock.c: Remove file.
52045         * modules/accept: Likewise.
52046         * modules/bind: Likewise.
52047         * modules/connect: Likewise.
52048         * modules/getpeername: Likewise.
52049         * modules/getsockname: Likewise.
52050         * modules/getsockopt: Likewise.
52051         * modules/ioctl: Likewise.
52052         * modules/listen: Likewise.
52053         * modules/recv: Likewise.
52054         * modules/recvfrom: Likewise.
52055         * modules/send: Likewise.
52056         * modules/sendto: Likewise.
52057         * modules/setsockopt: Likewise.
52058         * modules/shutdown: Likewise.
52059         * modules/socket: Use socket.c instead of winsock.c.
52060         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52061         * doc/posix-functions/accept.texi: Doc fix.
52062         * doc/posix-functions/bind.texi: Doc fix.
52063         * doc/posix-functions/close.texi: Doc fix.
52064         * doc/posix-functions/connect.texi: Doc fix.
52065         * doc/posix-functions/getpeername.texi: Doc fix.
52066         * doc/posix-functions/getsockname.texi: Doc fix.
52067         * doc/posix-functions/getsockopt.texi: Doc fix.
52068         * doc/posix-functions/ioctl.texi: Doc fix.
52069         * doc/posix-functions/listen.texi: Doc fix.
52070         * doc/posix-functions/recv.texi: Doc fix.
52071         * doc/posix-functions/recvfrom.texi: Doc fix.
52072         * doc/posix-functions/send.texi: Doc fix.
52073         * doc/posix-functions/sendto.texi: Doc fix.
52074         * doc/posix-functions/setsockopt.texi: Doc fix.
52075         * doc/posix-functions/shutdown.texi: Doc fix.
52076         * doc/posix-functions/socket.texi: Doc fix.
52077
52078 2008-10-20  Bruno Haible  <bruno@clisp.org>
52079
52080         Take into account the role of SIGABRT_COMPAT on Windows 2008.
52081         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
52082         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
52083         as an alias for SIGABRT.
52084         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
52085         (sigaction): Map it to SIGABRT.
52086         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
52087
52088 2008-10-20  Bruno Haible  <bruno@clisp.org>
52089
52090         * lib/fts.c: Don't include lstat.h.
52091         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
52092
52093         Move the lstat() declaration to <sys/stat.h>.
52094         * lib/lstat.h: Remove file.
52095         * lib/sys_stat.in.h: Add special invocation convention.
52096         (lstat): New declaration.
52097         * lib/lstat.c (orig_lstat): New function.
52098         (rpl_lstat): Use orig_lstat instead of lstat.
52099         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
52100         AC_C_INLINE. Set REPLACE_LSTAT.
52101         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
52102         and REPLACE_LSTAT.
52103         * modules/lstat (Files): Remove lib/lstat.h.
52104         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52105         (Include): Specify <sys/stat.h> instead of lstat.h.
52106         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
52107         REPLACE_LSTAT.
52108         * NEWS: Mention the change.
52109
52110 2008-10-20  Bruno Haible  <bruno@clisp.org>
52111
52112         * modules/posix_spawn-tests: New file.
52113         * tests/test-posix_spawn3.c: New file.
52114
52115 2008-10-20  Bruno Haible  <bruno@clisp.org>
52116
52117         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
52118         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52119         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
52120         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52121         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
52122
52123 2008-10-20  Bruno Haible  <bruno@clisp.org>
52124
52125         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
52126         of posix_spawn on AIX 5.3.
52127
52128 2008-10-20  Bruno Haible  <bruno@clisp.org>
52129
52130         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
52131
52132 2008-10-20  Bruno Haible  <bruno@clisp.org>
52133
52134         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
52135         of AC_LANG_PROGRAM.
52136
52137 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52138
52139         * lib/netdb.in.h: Don't define GNU specific constants until they
52140         are supported or needed.  Reported by Bruno Haible
52141         <bruno@clisp.org>.
52142
52143 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52144
52145         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
52146
52147 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52148
52149         * lib/getaddrinfo.h: Remove file.
52150         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
52151         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
52152         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
52153         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
52154         * modules/netdb: Substitute GNULIB_GETADDRINFO.
52155         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
52156         * tests/test-getaddrinfo.c: Likewise.
52157         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
52158         * NEWS: Mention change.
52159
52160 2008-10-19  Bruno Haible  <bruno@clisp.org>
52161
52162         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
52163
52164 2008-10-19  Bruno Haible  <bruno@clisp.org>
52165
52166         * lib/wait-process.c: Include simply <sys/wait.h>.
52167         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
52168         WIFSTOPPED): Remove fallback definitions.
52169         * modules/wait-process (Depends-on): Add sys_wait.
52170
52171         New module 'sys_wait'.
52172         * modules/sys_wait: New file.
52173         * lib/sys_wait.in.h: New file, partially copied from
52174         lib/wait-process.c.
52175         * m4/sys_wait_h.m4: New file.
52176         * doc/posix-headers/sys_wait.texi: Mention the new module.
52177
52178 2008-10-19  Bruno Haible  <bruno@clisp.org>
52179
52180         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
52181
52182 2008-10-19  Bruno Haible  <bruno@clisp.org>
52183
52184         Assume that waitpid() fills an 'int' status, not a 'union wait'.
52185         * lib/wait-process.c (WAIT_T): Remove type.
52186         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
52187         (wait_subprocess): Update.
52188
52189 2008-10-19  Bruno Haible  <bruno@clisp.org>
52190
52191         New module 'atoll'.
52192         * modules/atoll: New file.
52193         * lib/stdlib.in.h (atoll): New declaration.
52194         * lib/atoll.c: New file, from glibc with modifications.
52195         * m4/atoll.m4: New file.
52196         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
52197         HAVE_ATOLL.
52198         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
52199         * doc/posix-functions/atoll.texi: Mention the new module.
52200
52201 2008-10-19  Bruno Haible  <bruno@clisp.org>
52202
52203         Add strtoull() declaration to <stdlib.h>.
52204         * lib/stdlib.in.h (strtoull): New declaration.
52205         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52206         Set HAVE_STRTOULL.
52207         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
52208         HAVE_STRTOULL.
52209         * modules/strtoull (Depends-on): Add stdlib.
52210         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52211         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
52212         HAVE_STRTOULL.
52213
52214 2008-10-19  Bruno Haible  <bruno@clisp.org>
52215
52216         Add strtoll() declaration to <stdlib.h>.
52217         * lib/stdlib.in.h (strtoll): New declaration.
52218         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52219         Set HAVE_STRTOLL.
52220         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
52221         HAVE_STRTOLL.
52222         * modules/strtoll (Depends-on): Add stdlib.
52223         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52224         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
52225
52226 2008-10-19  Bruno Haible  <bruno@clisp.org>
52227
52228         * modules/bcopy (Depends-on): Add strings.
52229         (Include): Specify <strings.h>.
52230
52231 2008-10-19  Bruno Haible  <bruno@clisp.org>
52232
52233         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
52234
52235 2008-10-19  Bruno Haible  <bruno@clisp.org>
52236
52237         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
52238         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
52239         mingw.
52240
52241 2008-10-19  Bruno Haible  <bruno@clisp.org>
52242
52243         * lib/atanl.c: Don't include isnanl.h.
52244         * lib/cosl.c: Likewise.
52245         * lib/ldexpl.c: Likewise.
52246         * lib/logl.c: Likewise.
52247         * lib/sinl.c: Likewise.
52248         * lib/sqrtl.c: Likewise.
52249         * lib/tanl.c: Likewise.
52250
52251         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
52252         * lib/isnanf.h: Remove file.
52253         * lib/isnand.h: Remove file.
52254         * lib/isnanl.h: Remove file.
52255         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
52256         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
52257         macros.
52258         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
52259         HAVE_ISNANF, don't define it as a C macro.
52260         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
52261         HAVE_ISNAND, don't define it as a C macro.
52262         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
52263         HAVE_ISNANL, don't define it as a C macro.
52264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
52265         HAVE_ISNAN[FDL].
52266         * modules/isnanf (Files): Remove lib/isnanf.h.
52267         (Depends-on): Add math.
52268         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52269         (Include): Specify <math.h> instead of isnanf.h.
52270         * modules/isnand (Files): Remove lib/isnand.h.
52271         (Depends-on): Add math.
52272         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52273         (Include): Specify <math.h> instead of isnand.h.
52274         * modules/isnanl (Files): Remove lib/isnanl.h.
52275         (Depends-on): Add math.
52276         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52277         (Include): Specify <math.h> instead of isnanl.h.
52278         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
52279         HAVE_ISNAN[FDL].
52280         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
52281         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
52282         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
52283         * NEWS: Mention the change.
52284
52285 2008-10-18  Bruno Haible  <bruno@clisp.org>
52286
52287         Add getusershell(), setusershell(), endusershell() declarations to
52288         <unistd.h>.
52289         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
52290         declarations.
52291         * lib/getusershell.c: Include unistd.h.
52292         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
52293         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52294         HAVE_GETUSERSHELL.
52295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
52296         and HAVE_GETUSERSHELL.
52297         * modules/getusershell (Depends-on): Add unistd, extensions.
52298         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52299         (Include): Specify <unistd.h>.
52300         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
52301         HAVE_GETUSERSHELL.
52302
52303 2008-10-18  Bruno Haible  <bruno@clisp.org>
52304
52305         Add a getloadavg() declaration to <stdlib.h>.
52306         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
52307         getloadavg declaration.
52308         (getloadavg): New declaration.
52309         * lib/getloadavg.c: Include <stdlib.h> first.
52310         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
52311         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
52312         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
52313         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
52314         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52315         * modules/getloadavg (Depends-on): Add stdlib, extensions.
52316         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52317         (Include): Specify <stdlib.h>.
52318         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
52319         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52320
52321 2008-10-18  Bruno Haible  <bruno@clisp.org>
52322
52323         * lib/dirchownmod.c: Don't include lchmod.h.
52324
52325         Move the lchmod() declaration to <sys/stat.h>.
52326         * lib/lchmod.h: Remove file.
52327         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
52328         (lchmod): New declaration, moved here from lib/lchown.h.
52329         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
52330         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
52331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
52332         and HAVE_LCHMOD.
52333         * modules/lchmod (Files): Remove lib/lchmod.h.
52334         (Depends-on): Add sys_stat, extensions.
52335         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52336         (Include): Specify <sys/stat.h> instead of lchmod.h.
52337         * modules/sys_stat (Depends-on): Add link-warning.
52338         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
52339         definition of GL_LINK_WARNING.
52340         * NEWS: Mention the change.
52341
52342 2008-10-18  Bruno Haible  <bruno@clisp.org>
52343
52344         * lib/fchdir.c: Don't include dirfd.h.
52345         * lib/fts.c: Likewise.
52346         * lib/getcwd.c: Likewise.
52347         * lib/glob.c: Likewise.
52348
52349         Move the dirfd() declaration to <dirent.h>.
52350         * lib/dirfd.h: Remove file.
52351         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
52352         (dirfd): New declaration.
52353         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
52354         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
52355         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
52356         HAVE_DECL_DIRFD.
52357         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
52358         HAVE_DECL_DIRFD.
52359         * modules/dirfd (Files): Remove lib/dirfd.h.
52360         (Depends-on): Add dirent, extensions.
52361         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
52362         (Include): Specify <dirent.h> instead of dirfd.h.
52363         * modules/dirent (Depends-on): Add link-warning.
52364         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
52365         definition of GL_LINK_WARNING.
52366         * NEWS: Mention the change.
52367
52368 2008-10-18  Bruno Haible  <bruno@clisp.org>
52369
52370         Move the euidaccess() declaration to <unistd.h>.
52371         * lib/euidaccess.h: Remove file.
52372         * lib/unistd.in.h (euidaccess): New declaration.
52373         * lib/euidaccess.c: Don't include euidaccess.h.
52374         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
52375         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
52376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
52377         and HAVE_EUIDACCESS.
52378         * modules/euidaccess (Files): Remove lib/euidaccess.h.
52379         (Depends-on): Add unistd.
52380         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52381         (Include): Specify <unistd.h> instead of euidaccess.h.
52382         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
52383         HAVE_EUIDACCESS.
52384         * NEWS: Mention the change.
52385
52386 2008-10-18  Bruno Haible  <bruno@clisp.org>
52387
52388         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
52389
52390         Move the getdomainname() declaration to <unistd.h>.
52391         * lib/getdomainname.h: Remove file.
52392         * lib/unistd.in.h (getdomainname): New declaration.
52393         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
52394         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
52395         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52396         HAVE_GETDOMAINNAME.
52397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52398         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
52399         * modules/getdomainname (Files): Remove lib/getdomainname.h.
52400         (Depends-on): Add unistd, extensions.
52401         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52402         (Includes): Specify <unistd.h> instead of getdomainname.h.
52403         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
52404         HAVE_GETDOMAINNAME.
52405         * NEWS: Mention the change.
52406
52407 2008-10-18  Bruno Haible  <bruno@clisp.org>
52408
52409         * modules/dirent: New file.
52410         * m4/dirent_h.m4: New file.
52411         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
52412         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
52413         * modules/fchdir (Files): Remove lib/dirent.in.h.
52414         (Depends-on): Add dirent.
52415         (Makefile.am): Move rules to modules/dirent.
52416         * doc/posix-headers/dirent.texi: Mention the new module.
52417
52418 2008-10-18  Bruno Haible  <bruno@clisp.org>
52419
52420         Avoid -Wunused-parameter warnings in public gnulib header files.
52421         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
52422         macro.
52423         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
52424
52425 2008-10-18  Bruno Haible  <bruno@clisp.org>
52426
52427         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
52428         * doc/glibc-functions/error.texi: Mention the module 'error'.
52429         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52430         * doc/glibc-functions/getdomainname.texi: Mention the module
52431         'getdomainname'.
52432         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52433         * doc/glibc-functions/getpagesize.texi: Mention the module
52434         'getpagesize'.
52435         * doc/glibc-functions/getusershell.texi: Mention the module
52436         'getusershell'.
52437         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52438         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52439         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52440         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52441         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52442         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52443         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52444         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52445         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52446         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52447         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52448         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52449         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52450         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52451
52452 2008-10-17  Bruno Haible  <bruno@clisp.org>
52453
52454         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52455         HP-UX and IRIX, use -0.0L.
52456         * tests/test-ceill.c (minus_zero): Likewise.
52457         * tests/test-floorl.c (minus_zero): Likewise.
52458         * tests/test-frexpl.c (minus_zero): Likewise.
52459         * tests/test-isnan.c (minus_zerol): Likewise.
52460         * tests/test-isnanl.h (minus_zero): Likewise.
52461         * tests/test-ldexpl.c (minus_zero): Likewise.
52462         * tests/test-roundl.c (minus_zero): Likewise.
52463         * tests/test-signbit.c (minus_zerol): Likewise.
52464         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52465         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52466         * tests/test-truncl.c (minus_zero): Likewise.
52467         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52468         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52469         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52470         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52471
52472 2008-10-17  Bruno Haible  <bruno@clisp.org>
52473
52474         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52475         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52476         that it gets activated only for gcc >= 3.0.
52477         * lib/dirent.in.h: Likewise.
52478         * lib/errno.in.h: Likewise.
52479         * lib/fcntl.in.h: Likewise.
52480         * lib/float.in.h: Likewise.
52481         * lib/iconv.in.h: Likewise.
52482         * lib/inttypes.in.h: Likewise.
52483         * lib/locale.in.h: Likewise.
52484         * lib/math.in.h: Likewise.
52485         * lib/netdb.in.h: Likewise.
52486         * lib/netinet_in.in.h: Likewise.
52487         * lib/search.in.h: Likewise.
52488         * lib/signal.in.h: Likewise.
52489         * lib/spawn.in.h: Likewise.
52490         * lib/stdarg.in.h: Likewise.
52491         * lib/stdint.in.h: Likewise.
52492         * lib/stdio.in.h: Likewise.
52493         * lib/stdlib.in.h: Likewise.
52494         * lib/string.in.h: Likewise.
52495         * lib/strings.in.h: Likewise.
52496         * lib/sys_file.in.h: Likewise.
52497         * lib/sys_ioctl.in.h: Likewise.
52498         * lib/sys_select.in.h: Likewise.
52499         * lib/sys_socket.in.h: Likewise.
52500         * lib/sys_stat.in.h: Likewise.
52501         * lib/sys_time.in.h: Likewise.
52502         * lib/sysexits.in.h: Likewise.
52503         * lib/time.in.h: Likewise.
52504         * lib/unistd.in.h: Likewise.
52505         * lib/wchar.in.h: Likewise.
52506         * lib/wctype.in.h: Likewise.
52507         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52508
52509 2008-10-17  Jim Meyering  <meyering@redhat.com>
52510
52511         ignore-value: don't depend on inline module
52512         * modules/ignore-value (Depends-on): Remove 'inline'.
52513         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52514         Suggestion from Bruno Haible.
52515
52516 2008-10-17  Bruno Haible  <bruno@clisp.org>
52517
52518         New implementation of condition variables for Win32.
52519         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52520         (gl_linked_waitqueue_t): New type.
52521         (gl_cond_t): Use it.
52522         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52523         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52524         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52525         (glthread_cond_init_func, glthread_cond_wait_func,
52526         glthread_cond_timedwait_func, glthread_cond_signal_func,
52527         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52528         Reimplemented on the basis of gl_linked_waitqueue_t.
52529         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52530         gl_waitqueue_t.
52531         (gl_rwlock_t): Update.
52532         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52533
52534 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52535
52536         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52537         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52538
52539 2008-10-17  Jim Meyering  <meyering@redhat.com>
52540
52541         ignore-value: new module
52542         * modules/ignore-value: New file.
52543         * lib/ignore-value.h: New file.
52544         * MODULES.html.sh (Compiler warning management): New section,
52545         just for this module.  More to come.
52546
52547 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52548
52549         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52550         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52551         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52552
52553 2008-10-16  Jim Meyering  <meyering@redhat.com>
52554
52555         openat-die.c: avoid 'no previous prototype' warning
52556         * lib/openat-die.c: Include "openat.h".
52557         Reported by Reuben Thomas <rrt@sc3d.org>.
52558
52559 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52560
52561         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52562         * lib/netdb.in.h: Fix typo.
52563         Reported by Bruno Haible  <bruno@clisp.org>
52564
52565         * lib/netdb.in.h: Include sys/socket.h for platforms without
52566         netdb.h, to get structures like hostent on MinGW.
52567         * modules/netdb (Depends-on): Add sys_socket.
52568
52569 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52570
52571         * modules/netdb, modules/netdb-tests: New file.
52572         * m4/netdb_h.m4: New file.
52573         * lib/netdb.in.h: Add, currently just an empty file pending
52574         definitions.
52575         * tests/test-netdb.c: New file.
52576         * doc/posix-headers/netdb.texi: Mention that we replace it if
52577         needed.
52578         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52579         netdb.
52580
52581 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52582
52583         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52584         with code.
52585
52586 2008-10-13  Bruno Haible  <bruno@clisp.org>
52587
52588         * lib/glthread/cond.c (glthread_cond_wait_func,
52589         glthread_cond_timedwait_func): Add a comment.
52590
52591 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52592
52593         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52594         * tests/test-select.c: Likewise,
52595
52596 2008-10-13  Bruno Haible  <bruno@clisp.org>
52597
52598         * lib/glthread/cond.c (glthread_cond_wait_func,
52599         glthread_cond_timedwait_func): Fix variable name.
52600         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52601
52602 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
52603
52604         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
52605         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
52606         struct sockaddr.sa_len.
52607         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
52608
52609 2008-10-13  Simon Josefsson  <simon@josefsson.org>
52610
52611         * build-aux/pmccabe2html: Add css and css_url parameters.
52612
52613 2008-10-12  Bruno Haible  <bruno@clisp.org>
52614
52615         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
52616         calling aclx_get.
52617         Reported by Rainer Tammer <tammer@tammer.net>.
52618
52619 2008-10-12  Bruno Haible  <bruno@clisp.org>
52620
52621         Use msvcrt aware primitives for creation/termination of Win32 threads.
52622         * lib/glthread/thread.c: Include <process.h>.
52623         (glthread_create_func): Use _beginthreadex instead of CreateThread.
52624         (wrapper_func): Update signature.
52625         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
52626
52627 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52628             Bruno Haible  <bruno@clisp.org>
52629
52630         Provide a Win32 implementation of the 'cond' module.
52631         * lib/glthread/cond.h [USE_WIN32]: New implementation.
52632         * lib/glthread/cond.c (glthread_cond_init_func,
52633         glthread_cond_wait_func, glthread_cond_timedwait_func,
52634         glthread_cond_signal_func, glthread_cond_broadcast_func,
52635         glthread_cond_destroy_func) [USE_WIN32]: New functions.
52636         * modules/cond (Dependencies): Add gettimeofday.
52637
52638 2008-10-11  Bruno Haible  <bruno@clisp.org>
52639
52640         Make sleep work on older versions of mingw.
52641         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52642         only whether it exists.
52643         * doc/posix-functions/sleep.texi: Mention the problem with older
52644         versions of mingw.
52645
52646 2008-10-11  Bruno Haible  <bruno@clisp.org>
52647
52648         New module 'shutdown'.
52649         * modules/shutdown: New file.
52650         * lib/sys_socket.in.h (shutdown): New declaration.
52651         * lib/winsock.c (shutdown): New function.
52652         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52653         GNULIB_SHUTDOWN.
52654         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52655         * doc/posix-functions/shutdown.texi: Document the new module.
52656
52657 2008-10-11  Jim Meyering  <meyering@redhat.com>
52658
52659         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52660
52661 2008-10-11  Bruno Haible  <bruno@clisp.org>
52662
52663         New module 'fclose'.
52664         * modules/fclose: New file.
52665         * lib/stdio.in.h (fclose): New declaration.
52666         * lib/fclose.c: New file.
52667         * m4/fclose.m4: New file.
52668         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
52669         REPLACE_FCLOSE.
52670         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
52671         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
52672         REPLACE_FCLOSE.
52673         * modules/close (Depends-on): fclose.
52674         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
52675
52676 2008-10-11  Bruno Haible  <bruno@clisp.org>
52677
52678         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
52679         set errno and don't call _close.
52680
52681 2008-10-10  Bruno Haible  <bruno@clisp.org>
52682
52683         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
52684         ACL, not afterwards. Fixes test failure on Cygwin.
52685
52686 2008-10-09  Ben Pfaff  <blp@gnu.org>
52687
52688         * build-aux/announce-gen: Fix gnulib version related part of usage
52689         message.  Die with a useful error message if no tarballs are
52690         found.
52691
52692 2008-10-10  Jim Meyering  <meyering@redhat.com>
52693
52694         bootstrap: use git's --depth=N option only if it's supported
52695         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
52696         recognize the --depth option.  Reported by Pádraig Brady.
52697
52698 2008-10-09  Bruno Haible  <bruno@clisp.org>
52699
52700         New module 'ioctl'.
52701         * modules/ioctl: New file.
52702         * lib/sys_socket.in.h (ioctl): Remove declaration.
52703         * lib/winsock.c: Include <sys/ioctl.h>.
52704         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
52705         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52706         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
52707         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
52708         * doc/posix-functions/ioctl.texi: Mention the new module.
52709
52710 2008-10-09  Bruno Haible  <bruno@clisp.org>
52711
52712         New module 'sys_ioctl'.
52713         * lib/sys_ioctl.in.h: New file.
52714         * m4/sys_ioctl_h.m4: New file.
52715         * modules/sys_ioctl: New file.
52716         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
52717
52718 2008-10-09  Bruno Haible  <bruno@clisp.org>
52719
52720         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
52721         * lib/winsock.c: Include <stdarg.h>.
52722         (rpl_ioctl): Change to second argument 'int' and then varargs.
52723
52724 2008-10-09  Bruno Haible  <bruno@clisp.org>
52725
52726         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
52727         when the sys_socket module is present and the system has <winsock2.h>.
52728
52729 2008-10-09  Bruno Haible  <bruno@clisp.org>
52730
52731         * doc/posix-functions/close.texi: Mention module 'close' instead of
52732         module 'sys_socket'.
52733
52734 2008-10-09  Bruno Haible  <bruno@clisp.org>
52735
52736         * doc/glibc-headers/sys_ioctl.texi: New file.
52737         * doc/gnulib.texi: Include it.
52738
52739 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52740             Bruno Haible  <bruno@clisp.org>
52741
52742         Combine the two replacements of 'close'.
52743         * lib/sys_socket.in.h (close): Define to a reminder to include
52744         <unistd.h>.
52745         (_gl_close_fd_maybe_socket): New declaration.
52746         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
52747         * lib/winsock.c (close): Remove undefinition.
52748         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
52749         needed for the gnulib module 'close'.
52750         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
52751         define to an error symbol or to a warning, if suitable.
52752         * lib/close.c: Include <sys/socket.h>.
52753         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
52754         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
52755         UNISTD_H_HAVE_WINSOCK2_H.
52756         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
52757         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52758         UNISTD_H_HAVE_WINSOCK2_H.
52759         * modules/sys_socket (Files): Add m4/unistd_h.m4.
52760         (configure.ac): Set a module indicator.
52761         (Makefile.am): Substitute GNULIB_CLOSE.
52762         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
52763         * modules/poll-tests (Depends-on): Add close.
52764         * modules/select-tests (Depends-on): Likewise.
52765
52766 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52767             Bruno Haible  <bruno@clisp.org>
52768
52769         New module 'close'.
52770         * modules/close: New file.
52771         * lib/unistd.in.h (close): Move declaration out of the
52772         FCHDIR_REPLACEMENT scope.
52773         (_gl_unregister_fd): New declaration.
52774         * lib/close.c: New file.
52775         * lib/fchdir.c (rpl_close): Remove function.
52776         * m4/close.m4: New file.
52777         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52778         close.
52779         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
52780         REPLACE_CLOSE.
52781         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
52782         REPLACE_CLOSE.
52783         * modules/fchdir (Depends-on): Add close.
52784
52785 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52786             Bruno Haible  <bruno@clisp.org>
52787
52788         * lib/fcntl.in.h (open): Simplify conditionals.
52789         (_gl_register_fd): New declaration.
52790         * lib/fchdir.c (rpl_open): Remove function.
52791         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
52792         also.
52793         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
52794         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52795         open.
52796
52797 2008-10-09  Jim Meyering  <meyering@redhat.com>
52798
52799         GNUmakefile: use the more name-space-friendly "_version"
52800         * top/GNUmakefile (_dummy): Update.
52801         (_version): Rename from "version".
52802
52803 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52804             Bruno Haible  <bruno@clisp.org>
52805
52806         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
52807         rpl_close.
52808         (_gl_register_fd): New function, extracted from rpl_open.
52809         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
52810         (rpl_open, rpl_opendir): Use _gl_register_fd.
52811
52812 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52813
52814         Fix organization of 'open' replacement.
52815         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
52816         (gl_FUNC_OPEN): Use it.
52817         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
52818
52819 2008-10-08  Bruno Haible  <bruno@clisp.org>
52820
52821         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
52822
52823 2008-10-08  Simon Josefsson  <simon@josefsson.org>
52824
52825         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
52826         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
52827         listen).
52828
52829 2008-10-08  Eric Blake  <ebb9@byu.net>
52830
52831         GNUmakefile: add 'make version' target
52832         * top/GNUmakefile (_curr-ver): Split version update rules...
52833         (version): ...into a target.
52834
52835 2008-10-07  Bruno Haible  <bruno@clisp.org>
52836
52837         Use a more portable replacement expression for -0.0L.
52838         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
52839         instead of -0.0L. Fix m4 quotation.
52840
52841         * tests/test-signbit.c: Include <float.h>.
52842         (minus_zero): New variable.
52843         (test_signbitl): Use minus_zero instead of -zero.
52844         * modules/signbit-tests (Depends-on): Add float.
52845
52846         * tests/test-ceill.c: Include <float.h>.
52847         (zero): Remove variable.
52848         (minus_zero): New variable.
52849         (main): Use minus_zero instead of -zero.
52850         * modules/ceill-tests (Depends-on): Add float.
52851
52852         * tests/test-floorl.c: Include <float.h>.
52853         (zero): Remove variable.
52854         (minus_zero): New variable.
52855         (main): Use minus_zero instead of -zero.
52856         * modules/floorl-tests (Depends-on): Add float.
52857
52858         * tests/test-roundl.c: Include <float.h>.
52859         (zero): Remove variable.
52860         (minus_zero): New variable.
52861         (main): Use minus_zero instead of -zero.
52862         * modules/roundl-tests (Depends-on): Add float.
52863
52864         * tests/test-truncl.c: Include <float.h>.
52865         (zero): Remove variable.
52866         (minus_zero): New variable.
52867         (main): Use minus_zero instead of -zero.
52868         * modules/truncl-tests (Depends-on): Add float.
52869
52870         * tests/test-frexpl.c (zero): Remove variable.
52871         (minus_zero): New variable.
52872         (main): Use minus_zero instead of -zero.
52873         * modules/frexpl-tests (Depends-on): Add float.
52874
52875         * tests/test-isnan.c (zerol): Remove variable.
52876         (minus_zerol): New variable.
52877         (test_long_double): Use minus_zerol instead of -zerol.
52878         * modules/isnan-tests (Depends-on): Add float.
52879
52880         * tests/test-isnanl.h (zero): Remove variable.
52881         (minus_zero): New variable.
52882         (main): Use minus_zero instead of -zero.
52883         * modules/isnanl-nolibm-tests (Depends-on): Add float.
52884         * modules/isnanl-tests (Depends-on): Add float.
52885
52886         * tests/test-ldexpl.c (zero): Remove variable.
52887         (minus_zero): New variable.
52888         (main): Use minus_zero instead of -zero.
52889         * modules/ldexpl-tests (Depends-on): Add float.
52890
52891         * tests/test-snprintf-posix.h (zerol): Remove variable.
52892         (minus_zerol): New variable.
52893         (test_function): Use minus_zerol instead of -zerol.
52894         * modules/snprintf-posix-tests (Depends-on): Add float.
52895         * modules/vsnprintf-posix-tests (Depends-on): Add float.
52896
52897         * tests/test-sprintf-posix.h (zerol): Remove variable.
52898         (minus_zerol): New variable.
52899         (test_function): Use minus_zerol instead of -zerol.
52900         * modules/sprintf-posix-tests (Depends-on): Add float.
52901         * modules/vsprintf-posix-tests (Depends-on): Add float.
52902
52903         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
52904         (minus_zerol): New variable.
52905         (test_function): Use minus_zerol instead of -zerol.
52906         * modules/vasnprintf-posix-tests (Depends-on): Add float.
52907
52908         * tests/test-vasprintf-posix.c (zerol): Remove variable.
52909         (minus_zerol): New variable.
52910         (test_function): Use minus_zerol instead of -zerol.
52911         * modules/vasprintf-posix-tests (Depends-on): Add float.
52912
52913 2008-10-07  Simon Josefsson  <simon@josefsson.org>
52914
52915         * MODULES.html.sh (Support for building documentation): Mention
52916         pmccabe2html.  Sort entries.
52917
52918         Add pmccabe2html module, from gnupdf.
52919         * build-aux/pmccabe.css: New file.
52920         * build-aux/pmccabe2html: New file.
52921         * m4/pmccabe2html.m4: New file.
52922         * modules/pmccabe2html: New file.
52923
52924 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
52925
52926         flock: new module
52927         * MODULES.html.sh: Add to list of modules.
52928         * lib/flock.c: flock implementation for Windows and Unix systems
52929         which have fcntl.
52930         * doc/glibc-functions/flock.texi: Update documentation.
52931         * lib/sys_file.in.h: <sys/file.h> header file.
52932         * m4/flock.m4: M4 macros.
52933         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
52934         * modules/flock: flock module.
52935         * modules/flock-tests: flock tests module.
52936         * modules/sys_file: sys/file.h module.
52937         * tests/test-flock.c: test suite for flock.
52938
52939 2008-10-06  Jim Meyering  <meyering@redhat.com>
52940
52941         bootstrap: check for LT_INIT more portably still ;-)
52942         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
52943         Spotted by Bruno Haible.
52944
52945 2008-10-06  Eric Blake  <ebb9@byu.net>
52946
52947         test-signbit: avoid tripping Irix cc bug on -0.0L
52948         * tests/test-signbit.c (minus_zerol): Delete, and replace with
52949         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
52950         entire testsuite consistent and avoids an Irix 6.2 bug.
52951
52952 2008-10-05  Bruno Haible  <bruno@clisp.org>
52953             Jim Meyering  <jim@meyering.net>
52954
52955         Add an option for ignoring EPIPE during close_stdout.
52956         * lib/closeout.h: Include <stdbool.h>.
52957         (close_stdout_set_ignore_EPIPE): New declaration.
52958         * lib/closeout.c: Include <stdbool.h>.
52959         (ignore_EPIPE): New variable.
52960         (close_stdout_set_ignore_EPIPE): New function.
52961         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
52962         * lib/close-stream.c (close_stream): Mention the possible EPIPE
52963         failure.
52964         * modules/closeout (Depends-on): Add stdbool.
52965
52966 2008-10-05  Bruno Haible  <bruno@clisp.org>
52967
52968         * modules/accept: New file.
52969         * modules/bind: New file.
52970         * modules/connect: New file.
52971         * modules/getpeername: New file.
52972         * modules/getsockname: New file.
52973         * modules/getsockopt: New file.
52974         * modules/listen: New file.
52975         * modules/recv: New file.
52976         * modules/recvfrom: New file.
52977         * modules/send: New file.
52978         * modules/sendto: New file.
52979         * modules/setsockopt: New file.
52980         * modules/socket: New file.
52981         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
52982         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52983         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
52984         the particular module is requested. Add a link warning when the
52985         particular module is not requested.
52986         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
52987         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
52988         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
52989         the particular module is requested.
52990         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
52991         gl_SYS_SOCKET_H_DEFAULTS): New macros.
52992         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
52993         * modules/sys_socket (Depends-on): Add link-warning.
52994         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
52995         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
52996         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
52997         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
52998         GL_LINK_WARNING.
52999         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
53000         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
53001         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
53002         * doc/posix-functions/getpeername.texi: Mention the new module
53003         'getpeername'.
53004         * doc/posix-functions/getsockname.texi: Mention the new module
53005         'getsockname'.
53006         * doc/posix-functions/getsockopt.texi: Mention the new module
53007         'getsockopt'.
53008         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53009         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53010         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53011         * doc/posix-functions/send.texi: Mention the new module 'send'.
53012         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53013         * doc/posix-functions/setsockopt.texi: Mention the new module
53014         'setsockopt'.
53015         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53016         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53017         listen, connect, accept.
53018         * modules/select-tests (Depends-on): Likewise.
53019
53020 2008-10-05  Bruno Haible  <bruno@clisp.org>
53021
53022         * lib/winsock.c (strerror): Remove unused #undef.
53023         (rpl_close): Remove unused local variable.
53024
53025         * modules/sys_socket (Depends-on); Add errno.
53026
53027 2008-10-05  Bruno Haible  <bruno@clisp.org>
53028
53029         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53030         (select): Add a link warning when the 'select' module is not used.
53031         * modules/sys_select (Depends-on): Add link-warning.
53032         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53033         Suggested by Paolo Bonzini.
53034
53035 2008-10-05  Jim Meyering  <meyering@redhat.com>
53036
53037         bootstrap: check for LT_INIT more portably
53038         * build-aux/bootstrap: Avoid using grep -E, since it's not
53039         portable enough.  Suggestion from Bruno Haible.
53040
53041 2008-10-05  Bruno Haible  <bruno@clisp.org>
53042
53043         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53044         as being fixed by gnulib.
53045
53046 2008-10-05  Bruno Haible  <bruno@clisp.org>
53047
53048         * modules/select-tests: New file, mostly copied from
53049         modules/sys_select-tests.
53050         * tests/test-select.c: New file, mostly copied from
53051         tests/test-sys_select.c.
53052         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53053         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53054         (Makefile.am): Remove test_sys_select_LDADD.
53055
53056         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53057         to an undefined symbol, for an error message.
53058         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53059         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53060         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53061         winsock-select.c here.
53062         * modules/sys_select (Files): Remove lib/winsock-select.c.
53063         (Depends-on): Remove alloca.
53064         (Makefile.am): Substitute GNULIB_SELECT.
53065         * modules/select: New file.
53066         * doc/posix-functions/select.texi: Update.
53067
53068 2008-10-05  Bruno Haible  <bruno@clisp.org>
53069
53070         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
53071         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
53072         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
53073         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
53074         getdtablesize.
53075         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
53076         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
53077
53078 2008-10-05  Bruno Haible  <bruno@clisp.org>
53079
53080         * modules/getdtablesize-tests: New file.
53081         * tests/test-getdtablesize.c: New file.
53082
53083         New module 'getdtablesize'.
53084         * lib/unistd.in.h (getdtablesize): New declaration.
53085         * lib/getdtablesize.c: New file.
53086         * m4/getdtablesize.m4: New file.
53087         * modules/getdtablesize: New file.
53088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53089         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
53090         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
53091         HAVE_GETDTABLESIZE.
53092         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
53093
53094 2008-10-05  Bruno Haible  <bruno@clisp.org>
53095
53096         * modules/sched (Makefile.am): Fix typo.
53097         Reported by Simon Josefsson.
53098
53099 2008-10-05  Jim Meyering  <meyering@redhat.com>
53100
53101         bootstrap: check for LT_INIT, too
53102         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
53103         are deprecated.  Suggestion from Ralf Wildenhues.
53104
53105 2008-10-05  Bruno Haible  <bruno@clisp.org>
53106
53107         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
53108         overriding them by ours.
53109         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
53110
53111 2008-10-05  Jim Meyering  <meyering@redhat.com>
53112
53113         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
53114         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
53115         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
53116
53117 2008-10-04  Bruno Haible  <bruno@clisp.org>
53118
53119         * modules/dup2 (License): Change to LGPLv2+.
53120         * modules/sleep (License): Likewise.
53121         * modules/perror (License): Likewise.
53122         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
53123         Blake.
53124         * modules/signal (License): Likewise.
53125         * modules/sigprocmask (License): Likewise.
53126         * modules/raise (License): Change to LGPLv2+, with approval by Jim
53127         Meyering.
53128
53129 2008-10-04  Bruno Haible  <bruno@clisp.org>
53130
53131         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
53132         Reported by Rainer Tammer <tammer@tammer.net>.
53133
53134 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
53135             Bruno Haible  <bruno@clisp.org>
53136
53137         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
53138         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
53139         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
53140
53141 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
53142
53143         filevercmp: new module
53144         * lib/filevercmp.h: New function filevercmp comparing version strings.
53145         * lib/filevercmp.c: Implementation of filevercmp function.
53146         * modules/filevercmp: Module metadata.
53147         * tests/test-filevercmp.c: Unit test for new module.
53148         * modules/filevercmp-tests: Unit test metadata.
53149         * MODULES.html.sh: Add filevercmp module.
53150
53151 2008-10-03  Bruno Haible  <bruno@clisp.org>
53152
53153         * lib/c-ctype.h: Add comment.
53154         Reported by Jim Meyering.
53155
53156 2008-10-02  Bruno Haible  <bruno@clisp.org>
53157
53158         * modules/posix_spawn-internal (Depends-on): Add 'open'.
53159
53160 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53161
53162         * build-aux/bootstrap: Allow renaming bootstrap, and change the
53163         name of bootstrap.conf accordingly.
53164
53165 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53166
53167         * build-aux/bootstrap: Install git-merge-changelog configuration
53168         items into .gitconfig if needed.
53169
53170 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53171
53172         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
53173         git repository, and initialize/update it accordingly.
53174
53175 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
53176
53177         * modules/fsync-tests: New file.
53178         * tests/test-fsync.c: New file.
53179
53180         New module 'fsync'.
53181         * lib/fsync.c: New file.
53182         * m4/fsync.m4: New file.
53183         * modules/fsync: New file.
53184         * lib/unistd.in.h (fsync): New declaration.
53185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
53186         GNULIB_FSYNC and HAVE_FSYNC.
53187         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
53188         * MODULES.html.sh (posix_functions): Add fsync.
53189         * doc/posix-functions/fsync.texi: Mention the new module.
53190
53191 2008-10-02  Jim Meyering  <meyering@redhat.com>
53192
53193         fts.c: sync with similar code from coreutils' remove.c
53194         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
53195         Guard also with "#if defined __linux__", since for now at least,
53196         this code is Linux-kernel-specific.
53197
53198 2008-10-02  Jim Meyering  <meyering@redhat.com>
53199
53200         fts: bug fixes
53201         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
53202         Include <sys/vfs.h>, not <sys/statfs.h>.
53203
53204         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
53205         Include <sys/vfs.h>, not <sys/statfs.h>.
53206
53207 2008-10-01  Bruno Haible  <bruno@clisp.org>
53208
53209         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
53210         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
53211         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
53212         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
53213         * doc/posix-functions/posix_spawnp.texi: Likewise.
53214         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
53215         whether posix_spawn actually works.
53216         * m4/pipe.m4 (gl_PIPE): Likewise.
53217         * modules/execute (Files): Add m4/posix_spawn.m4.
53218         * modules/pipe (Files): Add m4/posix_spawn.m4.
53219         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
53220
53221 2008-10-01  Jim Meyering  <meyering@redhat.com>
53222
53223         remove trailing spaces
53224         * NEWS: Likewise.
53225         * lib/poll.c (poll): Likewise.
53226         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
53227         * lib/winsock.c (rpl_close): Likewise.
53228         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
53229         * modules/yield: Likewise.
53230         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
53231         * tests/test-sys_select.c (connect_to_socket): Likewise.
53232
53233         fts.c: adjust a new interface to be more generally useful
53234         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
53235         (fts_build): Adjust caller.
53236
53237 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53238
53239         * modules/cond-tests: New file.
53240         * tests/test-cond.c: New file.
53241
53242 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53243             Bruno Haible  <bruno@clisp.org>
53244
53245         * modules/cond (Dependencies): Add errno, time.
53246         * lib/glthread/cond.h: Include <time.h>.
53247         (gl_cond_define, gl_cond_define_initialized): Use the same definition
53248         across platforms.
53249
53250 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53251             Bruno Haible  <bruno@clisp.org>
53252
53253         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
53254
53255 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53256             Bruno Haible  <bruno@clisp.org>
53257
53258         * modules/tls-tests (Depends-on): Add thread, yield.
53259         (configure.ac): Remove all checks.
53260         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
53261         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53262         gl_thread_self): Remove definitions. Include glthread/thread.h and
53263         glthread/yield.h instead.
53264         (test_tls): Pass an additional NULL argument to gl_thread_join.
53265
53266 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53267             Bruno Haible  <bruno@clisp.org>
53268
53269         * modules/lock-tests (Depends-on): Add thread, yield.
53270         (configure.ac): Remove all checks.
53271         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
53272         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53273         gl_thread_self): Remove definitions. Include glthread/thread.h and
53274         glthread/yield.h instead.
53275         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
53276         additional NULL argument to gl_thread_join.
53277
53278 2008-09-30  Bruno Haible  <bruno@clisp.org>
53279
53280         Fix the Win32 implementation of the 'thread' module.
53281         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
53282         pointer type.
53283         (gl_thread_self): Invoke gl_thread_self_func.
53284         (gl_thread_self_func): New declaration.
53285         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
53286         (do_init_self_key, init_self_key): New functions.
53287         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
53288         Remove some fields.
53289         (running_threads, running_lock): Remove variables.
53290         (get_current_thread_handle): New function.
53291         (gl_thread_self_func, wrapper_func, glthread_create_func,
53292         glthread_join_func, gl_thread_exit_func): Largely rewritten and
53293         simplified.
53294
53295 2008-09-30  Bruno Haible  <bruno@clisp.org>
53296
53297         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
53298         files.
53299
53300 2008-09-30  Jim Meyering  <meyering@redhat.com>
53301
53302         fts.m4: correct the test for statfs.f_type
53303         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
53304         when checking for statfs.f_type.
53305
53306 2008-09-15  Simon Josefsson  <simon@josefsson.org>
53307
53308         tests: avoid some compiler warnings
53309         * tests/test-memchr.c (main): Pass NULL indirectly.
53310         * tests/test-getdate.c (main): Remove unused variable 'ret'.
53311
53312 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
53313
53314         getdate.y: disallow countable dayshifts like "4 yesterday ago"
53315         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
53316         exactly specified dayshifts.
53317         (dayshift): New rule.
53318         (rel): Add dayshift.
53319         (relative_time_table) [tomorrow, yesterday, today, now]:
53320         Use tDAY_SHIFT in place of tDAY_UNIT.
53321         * tests/test-getdate.c: Add tests for now-disallowed countable
53322         dayshifts, e.g., "4 yesterday ago".
53323
53324 2008-09-29  Bruno Haible  <bruno@clisp.org>
53325
53326         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
53327         * tests/test-posix_spawn1.in.sh: Renamed from
53328         tests/test-posix_spawn.in.sh.
53329         * tests/test-posix_spawn2.c: New file.
53330         * tests/test-posix_spawn2.in.sh: New file.
53331         * modules/posix_spawnp-tests (Files): Update.
53332         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
53333
53334 2008-09-29  Bruno Haible  <bruno@clisp.org>
53335
53336         Propagate effects of putenv/setenv/unsetenv to child processes.
53337         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
53338         * lib/pipe.c (create_pipe): Likewise.
53339
53340 2008-09-29  Bruno Haible  <bruno@clisp.org>
53341
53342         Enable use of shell scripts as executables in mingw.
53343         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
53344         run the program as a shell script.
53345         * lib/pipe.c (create_pipe): Likewise.
53346         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
53347         resulting array.
53348
53349 2008-09-29  Eric Blake  <ebb9@byu.net>
53350
53351         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
53352
53353 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
53354
53355         * doc/posix-functions/accept.texi: Update mingw problems.
53356         * doc/posix-functions/bind.texi: Update mingw problems.
53357         * doc/posix-functions/close.texi: Update mingw problems.
53358         * doc/posix-functions/connect.texi: Update mingw problems.
53359         * doc/posix-functions/getpeername.texi: Update mingw problems.
53360         * doc/posix-functions/getsockname.texi: Update mingw problems.
53361         * doc/posix-functions/getsockopt.texi: Update mingw problems.
53362         * doc/posix-functions/ioctl.texi: Update mingw problems.
53363         * doc/posix-functions/listen.texi: Update mingw problems.
53364         * doc/posix-functions/recv.texi: Update mingw problems.
53365         * doc/posix-functions/recvfrom.texi: Update mingw problems.
53366         * doc/posix-functions/select.texi: Update mingw problems.
53367         * doc/posix-functions/send.texi: Update mingw problems.
53368         * doc/posix-functions/sendto.texi: Update mingw problems.
53369         * doc/posix-functions/setsockopt.texi: Update mingw problems.
53370         * doc/posix-functions/socket.texi: Update mingw problems.
53371
53372 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
53373             Bruno Haible  <bruno@clisp.org>
53374
53375         * lib/sys_select.in.h: Include sys/time.h.
53376         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
53377         * modules/sys_select: Depend on sys_time.
53378         * tests/test-sys_select.c: Test that sys/select.h defines struct
53379         timeval fully.
53380
53381 2008-09-29  Bruno Haible  <bruno@clisp.org>
53382
53383         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
53384         * lib/sys_select.in.h: Likewise.
53385
53386 2008-09-29  Bruno Haible  <bruno@clisp.org>
53387
53388         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
53389
53390 2008-09-29  Bruno Haible  <bruno@clisp.org>
53391
53392         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
53393         Set LIBSOCKET instead of augmenting LIBS.
53394         * modules/sockets (Link): New section.
53395         * modules/sockets-tests (test_sockets_LDADD): New variable.
53396         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
53397         * modules/poll-tests (test_poll_LDADD): New variable.
53398         * NEWS: Document the change.
53399
53400 2008-09-29  Bruno Haible  <bruno@clisp.org>
53401
53402         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
53403         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
53404         ARPA_INET_H directly.
53405         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53406
53407 2008-09-28  Bruno Haible  <bruno@clisp.org>
53408
53409         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
53410         from gl_HEADER_SYS_SOCKET.
53411         (gl_HEADER_SYS_SOCKET): Invoke it.
53412         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53413
53414 2008-09-28  Bruno Haible  <bruno@clisp.org>
53415
53416         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
53417         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
53418         Needed on OSF/1 4.0.
53419
53420 2008-09-28  Bruno Haible  <bruno@clisp.org>
53421
53422         Override open more carefully.
53423         * lib/open.c (orig_open): New function.
53424         (rpl_open): Use orig_open instead of open.
53425         * lib/fcntl.in.h: Add special invocation convention.
53426         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
53427         (gl_FUNC_OPEN): Invoke it.
53428
53429         Override freopen more carefully.
53430         * lib/freopen.c (orig_freopen): New function.
53431         (rpl_freopen): Use orig_freopen instead of freopen.
53432         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53433         (gl_FUNC_FREOPEN): Invoke it.
53434
53435         Override fopen more carefully.
53436         * lib/fopen.c (orig_fopen): New function.
53437         (rpl_fopen): Use orig_fopen instead of fopen.
53438         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53439         (gl_FUNC_FOPEN): Invoke it.
53440         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53441
53442 2008-09-28  Bruno Haible  <bruno@clisp.org>
53443
53444         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53445         SIGPIPE.
53446
53447 2008-09-28  Bruno Haible  <bruno@clisp.org>
53448
53449         * tests/test-sigaction.c (handler, main): Disable the check whether
53450         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53451         glibc systems with LinuxThreads.
53452
53453 2008-09-28  Bruno Haible  <bruno@clisp.org>
53454
53455         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53456
53457         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53458         with AIX xlc.
53459         * lib/fcntl.in.h (open): Likewise.
53460         Reported by Rainer Tammer <tammer@tammer.net>.
53461
53462 2008-09-28  Bruno Haible  <bruno@clisp.org>
53463
53464         * modules/posix_spawnp-tests: New file.
53465         * tests/test-posix_spawn.c: New file.
53466         * tests/test-posix_spawn.in.sh: New file.
53467
53468         New module 'posix_spawnp'.
53469         * modules/posix_spawnp: New file.
53470         * lib/spawnp.c: New file, from GNU libc with modifications.
53471         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53472
53473         New module 'posix_spawn'.
53474         * modules/posix_spawn: New file.
53475         * lib/spawn.c: New file, from GNU libc with modifications.
53476         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53477
53478         New module 'posix_spawnattr_destroy'.
53479         * modules/posix_spawnattr_destroy: New file.
53480         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53481         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53482         module.
53483
53484         New module 'posix_spawnattr_setsigmask'.
53485         * modules/posix_spawnattr_setsigmask: New file.
53486         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53487         modifications.
53488         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53489         new module.
53490
53491         New module 'posix_spawnattr_getsigmask'.
53492         * modules/posix_spawnattr_getsigmask: New file.
53493         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53494         modifications.
53495         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53496         new module.
53497
53498         New module 'posix_spawnattr_setsigdefault'.
53499         * modules/posix_spawnattr_setsigdefault: New file.
53500         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53501         modifications.
53502         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53503         new module.
53504
53505         New module 'posix_spawnattr_getsigdefault'.
53506         * modules/posix_spawnattr_getsigdefault: New file.
53507         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53508         modifications.
53509         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53510         new module.
53511
53512         New module 'posix_spawnattr_setschedpolicy'.
53513         * modules/posix_spawnattr_setschedpolicy: New file.
53514         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53515         modifications.
53516         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53517         new module.
53518
53519         New module 'posix_spawnattr_getschedpolicy'.
53520         * modules/posix_spawnattr_getschedpolicy: New file.
53521         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53522         modifications.
53523         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53524         new module.
53525
53526         New module 'posix_spawnattr_setschedparam'.
53527         * modules/posix_spawnattr_setschedparam: New file.
53528         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53529         modifications.
53530         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53531         new module.
53532
53533         New module 'posix_spawnattr_getschedparam'.
53534         * modules/posix_spawnattr_getschedparam: New file.
53535         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53536         modifications.
53537         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53538         new module.
53539
53540         New module 'posix_spawnattr_setpgroup'.
53541         * modules/posix_spawnattr_setpgroup: New file.
53542         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53543         modifications.
53544         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53545         module.
53546
53547         New module 'posix_spawnattr_getpgroup'.
53548         * modules/posix_spawnattr_getpgroup: New file.
53549         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53550         modifications.
53551         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53552         module.
53553
53554         New module 'posix_spawnattr_setflags'.
53555         * modules/posix_spawnattr_setflags: New file.
53556         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53557         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53558         module.
53559
53560         New module 'posix_spawnattr_getflags'.
53561         * modules/posix_spawnattr_getflags: New file.
53562         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53563         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53564         module.
53565
53566         New module 'posix_spawnattr_init'.
53567         * modules/posix_spawnattr_init: New file.
53568         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53569         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53570         module.
53571
53572         New module 'posix_spawn_file_actions_destroy'.
53573         * modules/posix_spawn_file_actions_destroy: New file.
53574         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53575         modifications.
53576         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53577         the new module.
53578
53579         New module 'posix_spawn_file_actions_addopen'.
53580         * modules/posix_spawn_file_actions_addopen: New file.
53581         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53582         modifications.
53583         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53584         the new module.
53585
53586         New module 'posix_spawn_file_actions_adddup2'.
53587         * modules/posix_spawn_file_actions_adddup2: New file.
53588         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53589         modifications.
53590         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53591         the new module.
53592
53593         New module 'posix_spawn_file_actions_addclose'.
53594         * modules/posix_spawn_file_actions_addclose: New file.
53595         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53596         modifications.
53597         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53598         the new module.
53599
53600         New module 'posix_spawn_file_actions_init'.
53601         * modules/posix_spawn_file_actions_init: New file.
53602         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
53603         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
53604         new module.
53605
53606         New module 'posix_spawn-internal'.
53607         * modules/posix_spawn-internal: New file.
53608         * lib/spawn_int.h: New file, from GNU libc with modifications.
53609         * lib/spawni.c: New file, from GNU libc with modifications.
53610         * m4/posix_spawn.m4: New file.
53611
53612         New module 'spawn'.
53613         * modules/spawn: New file.
53614         * lib/spawn.in.h: New file, from GNU libc with modifications.
53615         * m4/spawn_h.m4: New file.
53616         * doc/posix-headers/spawn.texi: Mention the new module.
53617
53618 2008-09-28  Bruno Haible  <bruno@clisp.org>
53619
53620         * modules/sched-tests: New file.
53621         * tests/test-sched.c: New file.
53622
53623         New module 'sched'.
53624         * modules/sched: New file.
53625         * lib/sched.in.h: New file.
53626         * m4/sched_h.m4: New file.
53627         * doc/posix-headers/sched.texi: Mention the new module.
53628
53629 2008-09-27  Eric Blake  <ebb9@byu.net>
53630
53631         Fix previous patch, and tweak references to $0.
53632         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
53633         (func_version, func_gnulib_dir): Don't call this program
53634         gnulib-tool.
53635         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
53636         with using $0 in function.
53637         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
53638         (func_fatal_error): Reuse the name the user invoked us with.
53639
53640 2008-09-27  Bruno Haible  <bruno@clisp.org>
53641
53642         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53643         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53644         (gl_ICONV_H): Not here.
53645         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53646         instead of assigning ICONV_H directly.
53647
53648         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53649         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53650         WCHAR_H directly.
53651
53652 2008-09-27  Bruno Haible  <bruno@clisp.org>
53653
53654         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53655         * modules/arpa_inet (Depends-on): Add link-warning.
53656         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53657         * modules/unistd (Makefile.am): Likewise.
53658
53659 2008-09-26  Bruno Haible  <bruno@clisp.org>
53660
53661         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53662         variables.
53663         (func_version): Essentially copied from gnulib-tool.
53664         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
53665         func_readlink): Copied from gnulib-tool.
53666
53667 2008-09-26  Bruno Haible  <bruno@clisp.org>
53668
53669         * gnulib-tool (func_version): Change directory to $gnulib_dir before
53670         invoking git-version-gen.
53671
53672 2008-09-26  Bruno Haible  <bruno@clisp.org>
53673
53674         * posix-modules: Update to directory names changed on 2008-01-19.
53675         Remove commas in output before splitting into words. No more need to
53676         avoid 'ftruncate' since 2007-02-19.
53677
53678 2008-09-26  Bruno Haible  <bruno@clisp.org>
53679
53680         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
53681
53682 2008-09-26  Bruno Haible  <bruno@clisp.org>
53683
53684         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
53685         * modules/fwriteerror (Depends-on): Add errno.
53686
53687 2008-09-26  Bruno Haible  <bruno@clisp.org>
53688
53689         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
53690         * tests/test-vc-list-files-cvs.sh: Likewise.
53691
53692 2008-09-26  Bruno Haible  <bruno@clisp.org>
53693
53694         * doc/posix-headers/sys_resource.texi: Reorder items.
53695
53696 2008-09-26  Jim Meyering  <meyering@redhat.com>
53697
53698         fts: tweak inode comparison function
53699         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
53700         inode numbers, as documented.
53701
53702         fts: sort dirent entries on inode number before traversing
53703         This avoids a quadratic, seek-related performance penalty when
53704         operating on a directory containing many entries (measurable at 10k;
53705         3.5 hours at 2 million entries with a cold cache) on certain types
53706         of file systems, including ext3 and ext4, but not tmpfs.
53707         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
53708         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
53709         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
53710         (fs_handles_readdir_ordered_dirents_efficiently): New function.
53711         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
53712         (fts_build): Set the stat.st_ino member from D_INO.
53713         If it is likely to be useful, sort dirent entries on inode number.
53714
53715         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
53716         and the struct statfs.f_type member.
53717         * modules/fts (Depends-on): Add d-ino.
53718
53719 2008-09-26  Bruno Haible  <bruno@clisp.org>
53720
53721         * modules/sigpipe-die (Depends-on): Add sigpipe.
53722
53723         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
53724         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
53725         and GNULIB_STDIO_H_SIGPIPE are set.
53726         * lib/stdio-write.c: New file.
53727         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
53728         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53729         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53730         REPLACE_STDIO_WRITE_FUNCS.
53731         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
53732         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53733         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53734         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53735         * modules/stdio (Files): Add lib/stdio-write.c.
53736         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
53737         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53738         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53739         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53740         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
53741         REPLACE_FPRINTF_POSIX.
53742         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
53743         REPLACE_PRINTF_POSIX.
53744         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
53745         REPLACE_VFPRINTF_POSIX.
53746         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
53747         REPLACE_VPRINTF_POSIX.
53748         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
53749         SIGPIPE issue.
53750         * doc/posix-functions/fputc.texi: Likewise.
53751         * doc/posix-functions/fputs.texi: Likewise.
53752         * doc/posix-functions/fwrite.texi: Likewise.
53753         * doc/posix-functions/printf.texi: Likewise.
53754         * doc/posix-functions/putc.texi: Likewise.
53755         * doc/posix-functions/putchar.texi: Likewise.
53756         * doc/posix-functions/puts.texi: Likewise.
53757         * doc/posix-functions/vfprintf.texi: Likewise.
53758         * doc/posix-functions/vprintf.texi: Likewise.
53759
53760         * modules/safe-write (Depends-on): Add write.
53761
53762         * modules/sigpipe-tests: New file.
53763         * tests/test-sigpipe.c: New file.
53764         * tests/test-sigpipe.sh: New file.
53765
53766         * modules/write: New file.
53767         * lib/unistd.in.h: Include <sys/types.h>.
53768         (write): New declaration.
53769         * lib/write.c: New file.
53770         * m4/write.m4: New file.
53771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53772         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
53773         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
53774         GNULIB_WRITE, REPLACE_WRITE.
53775         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
53776         and the SIGPIPE issue.
53777
53778         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
53779         (raise): New declaration.
53780         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
53781         (ext_signal): New function.
53782         (rpl_raise): New function.
53783         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
53784         GNULIB_SIGNAL_H_SIGPIPE.
53785         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
53786         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
53787
53788         * modules/sigpipe: New file.
53789         * m4/sigpipe.m4: New file.
53790
53791 2008-09-25  Derek Price  <derek@ximbiot.com>
53792             Bruno Haible  <bruno@clisp.org>
53793
53794         * gnulib-tool (func_import): Report all license incompatibilities, not
53795         just the first one.
53796
53797 2008-09-25  Bruno Haible  <bruno@clisp.org>
53798
53799         * gnulib-tool (func_import): When computing the edits, consider not
53800         only the Makefile.ams that exist but also those that will be generated.
53801
53802 2008-09-25  Simon Josefsson  <simon@josefsson.org>
53803
53804         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
53805         fixes gnulib-tool --test warning about duplicate dependency.
53806
53807 2008-09-25  Bruno Haible  <bruno@clisp.org>
53808
53809         * gnulib-tool: Don't ask the user to perform edits in the generated
53810         Makefile.ams.
53811         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
53812         apply to the Makefile.am being generated.
53813         (func_emit_tests_Makefile_am): Execute edits that apply to the
53814         Makefile.am being generated.
53815         (func_import): Setup list of Makefile.am edits before emitting the
53816         Makefile.ams, not at the end.
53817         (func_create_testdir): Update.
53818         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53819
53820 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53821
53822         * gnulib-tool (func_import): Store the --tests-base option in the
53823         comment in gnulib-cache.m4.
53824
53825 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
53826
53827         * NEWS: Document increased portability that sys_select now provides.
53828
53829         * lib/sys_select.in.h: Install select wrapper.
53830         * lib/sys_socket.in.h: Use more descriptive name when there is no
53831         select wrapper.
53832         * lib/winsock-select.c: New.
53833         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
53834         Require gl_HEADER_SYS_SOCKET.
53835         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
53836         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
53837         * tests/test-sys_select.c: Add functional tests.
53838
53839 2008-09-24  Eric Blake  <ebb9@byu.net>
53840
53841         open, fopen: close fd leak in last patch
53842         * lib/open.c (rpl_open): Close fd before returning error.
53843         * lib/fopen.c (rpl_fopen): Close fd before returning error.
53844         * doc/posix-functions/open.texi (open): Document that Irix also
53845         has the bug.
53846         * doc/posix-functions/fopen.texi (fopen): Likewise.
53847         Reported by Paolo Bonzini.
53848
53849 2008-09-24  Bruno Haible  <bruno@clisp.org>
53850
53851         Ensure that a filename ending in a slash cannot be used to access a
53852         non-directory.
53853         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
53854         to check whether it's really a directory.
53855         * lib/fopen.c: Include fcntl.h, unistd.h.
53856         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
53857         and fdopen().
53858         * modules/fopen (Depends-on): Add unistd.
53859         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
53860         * tests/test-fopen.c (main): Likewise.
53861         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
53862         * doc/posix-functions/fopen.texi: Likewise.
53863         Reported by Eric Blake.
53864
53865 2008-09-23  Eric Blake  <ebb9@byu.net>
53866
53867         c-stack: avoid compiler optimizations when provoking overflow
53868         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
53869         recursion harder to optimize, to ensure a stack overflow occurs.
53870         * tests/test-c-stack.c (recurse): Likewise.
53871         Borrowed from libsigsegv.
53872
53873         c-stack: work around Irix sigaltstack bug
53874         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
53875         whether sigaltstack uses wrong end of stack_t (copied in part from
53876         libsigsegv).
53877         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
53878         Irix bug, without requiring an over-allocation.
53879         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
53880         bug.
53881
53882         fopen: document mingw bug on directories
53883         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
53884         not allowing a stream visiting a directory, even though reading
53885         from such a stream is not portable.
53886
53887 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53888
53889         * lib/poll.c: Rewrite.
53890         * modules/poll: Depend on alloca.
53891
53892 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53893
53894         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
53895         instead define prototypes for a full set of wrappers.  Ensure
53896         that Cygwin does not use the compatibility code, which is only
53897         for MinGW.
53898         * lib/winsock.c: New.
53899         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
53900         * modules/sys_socket: Add lib/winsock.c.
53901
53902         * modules/poll-tests: Add errno and perror.
53903         * tests/test-poll.c: Use ioctl, not ioctlsocket.
53904
53905 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53906
53907         * tests/test-poll.c: Downgrade minimum needed Winsock version.
53908
53909 2008-09-23  Bruno Haible  <bruno@clisp.org>
53910
53911         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
53912         * doc/glibc-functions/*: Likewise.
53913
53914 2008-09-23  Simon Josefsson  <simon@josefsson.org>
53915
53916         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
53917         success.
53918
53919 2008-09-22  Eric Blake  <ebb9@byu.net>
53920             Bruno Haible  <bruno@clisp.org>
53921
53922         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
53923         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
53924         supply %A but mishandle pseudo-NaN.
53925         Reported by Simon Josefsson.
53926
53927 2008-09-21  Bruno Haible  <bruno@clisp.org>
53928
53929         * tests/test-lock.c (main): Tweak skip message.
53930         * tests/test-tls.c (main): Likewise.
53931
53932 2008-09-21  Bruno Haible  <bruno@clisp.org>
53933
53934         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
53935         whether 'struct sigaction' has sa_sigaction here...
53936         (gl_PREREQ_SIG_HANDLER_H): ... not here.
53937         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
53938
53939 2008-09-21  Bruno Haible  <bruno@clisp.org>
53940
53941         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
53942         section.
53943         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
53944         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
53945         the new section.
53946         (Support for obsolete systems lacking POSIX:2001): New section.
53947         (String handling <string.h>): Move strdup to the new section.
53948         Suggested by Simon Josefsson and Paolo Bonzini.
53949
53950 2008-09-21  Bruno Haible  <bruno@clisp.org>
53951
53952         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
53953         exponents in %e and %g results on 'long double'. Needed for mingw's
53954         improved *printf functions.
53955         * tests/test-vasprintf-posix.c (test_function): Likewise.
53956         * tests/test-snprintf-posix.h (test_function): Likewise.
53957         * tests/test-sprintf-posix.h (test_function): Likewise.
53958         Reported by Eric Blake.
53959
53960 2008-09-21  Bruno Haible  <bruno@clisp.org>
53961
53962         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
53963         * tests/test-sprintf-posix.h (test_function): Likewise.
53964
53965 2008-09-21  Bruno Haible  <bruno@clisp.org>
53966
53967         * modules/getpass (Depends-on): Add strdup-posix.
53968
53969         New module 'strdup-posix'.
53970         * modules/strdup-posix: New file.
53971         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
53972         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
53973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53974         REPLACE_STRDUP.
53975         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
53976         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
53977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53978         strdup-posix.
53979
53980         * modules/strdup (Depends-on): Remove malloc-posix.
53981
53982 2008-09-20  Bruno Haible  <bruno@clisp.org>
53983
53984         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
53985         Wildenhues.
53986
53987 2008-09-20  Bruno Haible  <bruno@clisp.org>
53988
53989         Ensure that wint_t gets defined on IRIX 5.3.
53990         * lib/wchar.in.h (wint_t): Define if not defined by the system.
53991         * lib/wctype.in.h (wint_t): Likewise.
53992         (__wctype_wint_t): Remove type.
53993         (isw*): Use wint_t instead of __wctype_wint_t.
53994         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
53995         * modules/wchar (Files): Add m4/wint_t.m4.
53996         (Makefile.am): Substitute HAVE_WINT_T.
53997         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
53998         * tests/test-wctype.c: Check that wint_t is defined.
53999         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
54000         * doc/posix-headers/wctype.texi: Likewise.
54001         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54002
54003 2008-09-18  Bruno Haible  <bruno@clisp.org>
54004
54005         * gnulib-tool (func_exit): Update comment.
54006
54007 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54008
54009         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54010         assumes strdup exists and does not depend on strdup to return
54011         ENOMEM on out of memory conditions.
54012
54013 2008-09-18  Bruno Haible  <bruno@clisp.org>
54014
54015         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54016         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54017         digits for the exponent.
54018
54019 2008-09-18  Jim Meyering  <meyering@redhat.com>
54020             Bruno Haible  <bruno@clisp.org>
54021
54022         * lib/vasnprintf.c (decimal_point_char): Define also if
54023         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54024
54025 2008-09-16  Bruno Haible  <bruno@clisp.org>
54026         and Eric Blake  <ebb9@byu.net>
54027
54028         vasnprintf: support Irix 5.3
54029         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54030         that mishandle long double infinity.
54031         Reported by Tom G. Christensen.
54032
54033 2008-09-16  Bruno Haible  <bruno@clisp.org>
54034
54035         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54036         Solaris 9.
54037         * doc/glibc-functions/alphasort.texi: Likewise.
54038         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54039
54040 2008-09-16  Jim Meyering  <meyering@redhat.com>
54041
54042         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54043         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54044         a umask modification leak out of a subshell.  Otherwise, the
54045         opensolaris /bin/sh would be accepted and thus cause unwarranted
54046         failures in the coreutils test suite.
54047
54048 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54049
54050         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54051         to succeed.
54052
54053 2008-09-16  Jim Meyering  <meyering@redhat.com>
54054
54055         avoid spurious test failure when library is built without ACL support
54056         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54057         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54058         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54059         * tests/test-copy-acl.sh: Likewise.
54060
54061 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54062
54063         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
54064         based on character occurrence counts.
54065
54066 2008-09-15  Eric Blake  <ebb9@byu.net>
54067
54068         tests: avoid some compiler warnings
54069         * tests/test-memchr.c (main): Pass NULL indirectly.
54070         * tests/test-closein.c (main): Avoid unused variable.
54071
54072 2008-09-15  Bruno Haible  <bruno@clisp.org>
54073
54074         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
54075         are missing on OpenBSD 4.0 individually.
54076         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54077
54078 2008-09-15  Bruno Haible  <bruno@clisp.org>
54079
54080         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
54081         * doc/posix-functions/strerror.texi: Mention also Cygwin.
54082         * doc/posix-functions/perror.texi: Likewise.
54083         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
54084         is missing.
54085         Reported by Eric Blake.
54086
54087         * lib/errno.in.h: Use replacement values >= 2000.
54088         Reported by Eric Blake.
54089
54090 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54091
54092         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
54093         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
54094         limit.
54095         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
54096         compareseq was aborted.
54097
54098 2008-09-14  Bruno Haible  <bruno@clisp.org>
54099
54100         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
54101         yvec_edit_count.
54102         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
54103         (fstrcmp_bounded): Simplify result computation accordingly.
54104
54105 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54106
54107         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
54108         (fstrcmp): Define in terms of fstrcmp_bounded.
54109         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
54110         lower_bound argument.
54111         Return quickly if the result is certainly < lower_bound.
54112         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
54113
54114 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54115
54116         * lib/diffseq.h (EARLY_ABORT): New macro.
54117         (compareseq): Change return type to bool. Return true when EARLY_ABORT
54118         evaluates to true.
54119
54120 2008-09-14  Bruno Haible  <bruno@clisp.org>
54121
54122         * modules/perror-tests: New file.
54123         * tests/test-perror.sh: New file.
54124         * tests/test-perror.c: New file.
54125
54126         New module 'perror'.
54127         * lib/stdio.in.h (perror): New declaration.
54128         * lib/perror.c: New file.
54129         * m4/perror.m4: New file.
54130         * modules/perror: New file.
54131         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
54132         * doc/posix-functions/perror.texi: Mention the perror module.
54133         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
54134         REPLACE_PERROR.
54135         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
54136         REPLACE_PERROR.
54137
54138 2008-09-14  Bruno Haible  <bruno@clisp.org>
54139
54140         * modules/stdio (Makefile.am): Reorder to match the order in
54141         lib/stdio.in.h.
54142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54143
54144 2008-09-13  Bruno Haible  <bruno@clisp.org>
54145
54146         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
54147
54148 2008-09-13  Bruno Haible  <bruno@clisp.org>
54149
54150         Extend strerror to cover the added errno values.
54151         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
54152         (rpl_strerror): Provide error messages for the added errno values and
54153         for the WSA* values.
54154         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
54155         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
54156         strerror.
54157         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
54158         * modules/strerror (Depends-on): Add errno.
54159         * doc/posix-functions/strerror.texi: Document the change.
54160         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
54161         and EOVERFLOW.
54162
54163 2008-09-13  Bruno Haible  <bruno@clisp.org>
54164
54165         * modules/EOVERFLOW: Remove file.
54166         * m4/eoverflow.m4: Remove file.
54167         * modules/EOVERFLOW-tests: Remove file.
54168         * tests/test-EOVERFLOW.c: Remove file.
54169         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
54170         * modules/ftell (Depends-on): Likewise.
54171         * modules/getdelim (Depends-on): Likewise.
54172         * modules/getugroups (Depends-on): Likewise.
54173         * modules/poll (Depends-on): Likewise.
54174         * modules/snprintf (Depends-on): Likewise.
54175         * modules/sprintf-posix (Depends-on): Likewise.
54176         * modules/vasnprintf (Depends-on): Likewise.
54177         * modules/vasprintf (Depends-on): Likewise.
54178         * modules/vfprintf-posix (Depends-on): Likewise.
54179         * modules/vsnprintf (Depends-on): Likewise.
54180         * modules/vsprintf-posix (Depends-on): Likewise.
54181         * modules/xvasprintf (Depends-on): Likewise.
54182         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54183         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
54184         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
54185         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
54186         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54187         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
54188         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
54189         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
54190         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54191         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
54192         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
54193         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
54194         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54195         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
54196         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
54197         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
54198         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54199         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
54200         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
54201         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
54202         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54203         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
54204         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
54205         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
54206         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
54207         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54208         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
54209         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
54210         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
54211         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
54212         * MODULES.html.sh: Remove EOVERFLOW.
54213         * NEWS: Mention the change.
54214
54215 2008-09-13  Bruno Haible  <bruno@clisp.org>
54216
54217         * modules/errno-tests: New file.
54218         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
54219
54220         * lib/errno.in.h: New file.
54221         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
54222         * modules/errno: New file.
54223         * doc/posix-headers/errno.texi: Update documentation.
54224         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
54225
54226 2008-09-13  Bruno Haible  <bruno@clisp.org>
54227
54228         * tests/test-poll.c: Use #if for native Windows, rather than testing
54229         __MSVCRT__.
54230
54231 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54232             Bruno Haible  <bruno@clisp.org>
54233
54234         * lib/glob.c: Don't include <pwd.h> on native Windows.
54235         (WINDOWS32): New macro.
54236         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
54237
54238 2008-09-13  Bruno Haible  <bruno@clisp.org>
54239
54240         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
54241         (ETIMEDOUT): Remove macro.
54242         (glthread_cond_timedwait_multithreaded): New declaration.
54243         (glthread_cond_timedwait): Use it.
54244         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
54245         (glthread_cond_timedwait_multithreaded): New function.
54246
54247 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54248
54249         * modules/poll-tests: Do not check for io.h.
54250         * tests/test-poll.c: Check for __MSVCRT__ instead.
54251
54252 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54253
54254         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
54255         * modules/poll-tests: Add inet_pton, stdbool, sockets.
54256         * tests/test-poll.c: Use them.  Use _pipe on Windows.
54257
54258 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54259
54260         * modules/poll-tests: New.
54261         * tests/test-poll.c: New.
54262
54263 2008-09-12  Eric Blake  <ebb9@byu.net>
54264
54265         frexp: test for NetBSD failure on -0.0
54266         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
54267         not all, bugs from NetBSD 3.0 have been fixed.
54268         * doc/posix-functions/frexp.texi (frexp): Document bug.
54269         Reported by Thomas Klausner.
54270
54271         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
54272         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
54273         literal -0.0.
54274         Reported by Jonathan C. Patschke <jp@centtech.com>.
54275
54276 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54277
54278         * lib/glthread/cond.h: Use dummy implementation also if
54279         USE_WIN32_THREADS.
54280
54281 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54282
54283         * modules/fnmatch-posix (License): Change to LGPLv2+.
54284         * modules/fnmatch-gnu (License): Likewise.
54285
54286 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54287
54288         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
54289
54290 2008-09-11  Jim Meyering  <meyering@redhat.com>
54291
54292         * users.txt: Add gtk-vnc.
54293
54294 2008-09-08  Simon Josefsson  <simon@josefsson.org>
54295
54296         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
54297         rotate amounts.
54298
54299         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
54300         required for 16-bit and 8-bit rotates.
54301         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
54302         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
54303         UINT8_MAX instead of hard-coded constants.
54304         Suggested by Paul Eggert.
54305
54306 2008-09-07  Bruno Haible  <bruno@clisp.org>
54307
54308         * tests/test-striconveh.c (main): Check behaviour when converting from
54309         UTF-7.
54310
54311         Make striconveh work better with stateful encodings.
54312         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
54313         that iconv does not increment the inptr when returning -1/EINVAL.
54314
54315 2008-09-07  Bruno Haible  <bruno@clisp.org>
54316
54317         * build-aux/config.rpath: Update according to libtool-2.2.6.
54318         * build-aux/config.libpath: Likewise.
54319
54320 2008-09-06  Bruno Haible  <bruno@clisp.org>
54321
54322         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
54323         * lib/freadptr.c (freadptr): Likewise.
54324         * lib/freadseek.c (freadptrinc): Likewise.
54325         Reported by Simon Josefsson.
54326
54327 2008-09-06  Bruno Haible  <bruno@clisp.org>
54328
54329         * modules/freadptr (License): Change to LGPLv2+.
54330         * modules/freadseek (License): Likewise.
54331         Suggested by Eric Blake.
54332
54333         * modules/memchr2 (License): Change to LGPLv2+.
54334         Approved by Eric Blake.
54335
54336 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54337             Bruno Haible  <bruno@clisp.org>
54338
54339         Make gnulib-tool work with native 'sed' on AIX.
54340         * gnulib-tool (sed_noop): New variable.
54341         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
54342         func_add_or_update, func_create_testdir): Use it to initialize sed
54343         script variables.
54344         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54345
54346 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
54347             Bruno Haible  <bruno@clisp.org>
54348
54349         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
54350         also works after #include directives.
54351
54352 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
54353
54354         getdate.y: reject an out-of-range timezone value
54355         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
54356         the range [-24...+24].  When specified with only one or two digits,
54357         * tests/test-getdate.c: Tests for the fix.
54358         * doc/getdate.texi: Document this change.
54359
54360 2008-09-03  Bruno Haible  <bruno@clisp.org>
54361
54362         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
54363
54364 2008-09-02  Simon Josefsson  <simon@josefsson.org>
54365
54366         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
54367         <bruce.korb@gmail.com> with ideas from Ben Pfaff
54368         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
54369         Blake <ebb9@byu.net>.
54370
54371         * tests/test-bitrotate.c: Add more test vectors.
54372
54373 2008-09-02  Eric Blake  <ebb9@byu.net>
54374
54375         vasnprintf-posix: handle large precision via %.*d
54376         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
54377         when handling it ourselves.
54378         * tests/test-vasnprintf-posix.c (test_function): Add test.
54379         * tests/test-snprintf-posix.h (test_function): Likewise.
54380         * tests/test-sprintf-posix.h (test_function): Likewise.
54381         * tests/test-vasprintf-posix.c (test_function): Likewise.
54382         Reported by Alain Guibert.
54383
54384 2008-09-01  Eric Blake  <ebb9@byu.net>
54385
54386         c-stack: make configure-time check more robust
54387         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
54388         successful sigaction call.
54389         Reported by Tom G. Christensen.
54390
54391 2008-09-01  Bruno Haible  <bruno@clisp.org>
54392
54393         New module 'findprog-lgpl'.
54394         * modules/findprog-lgpl: New file.
54395         * lib/findprog-lgpl.c: New file.
54396         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
54397         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
54398         to decide whether to use strdup or xstrdup, concatenated_filename or
54399         xconcatenated_filename.
54400
54401 2008-09-01  Bruno Haible  <bruno@clisp.org>
54402
54403         Split module 'concat-filename' into 'concat-filename' (LGPL) and
54404         'xconcat-filename' (GPL).
54405         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
54406         (License): Change to LGPLv2+.
54407         * modules/xconcat-filename: New file.
54408         * lib/concat-filename.h (concatenated_filename): Change specification.
54409         (xconcatenated_filename): New declaration.
54410         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
54411         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
54412         memory situations.
54413         * lib/xconcat-filename.c: New file.
54414         * NEWS: Mention the change.
54415         * lib/findprog.c: Include concat-filename.h, not filename.h.
54416         (find_in_path): Use xconcatenated_filename instead of
54417         concatenated_filename.
54418         * lib/javacomp.c: Include concat-filename.h, not filename.h.
54419         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54420         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54421         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54422         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
54423         instead of concatenated_filename.
54424         * lib/javaexec.c: Include concat-filename.h, not filename.h.
54425         (execute_java_class): Use xconcatenated_filename instead of
54426         concatenated_filename.
54427         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
54428         * modules/javacomp (Depends-on): Likewise.
54429         * modules/javaexec (Depends-on): Likewise.
54430
54431 2008-09-01  Bruno Haible  <bruno@clisp.org>
54432
54433         Split module 'filename' into 'filename' and 'concat-filename'.
54434         * modules/filename: Keep only lib/filename.h.
54435         (License): Change to LGPLv2+.
54436         * modules/concat-filename: New file, extracted from modules/filename.
54437         * lib/filename.h (concatenated_filename): Remove declaration.
54438         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54439         * lib/concat-filename.c: Include concat-filename.h.
54440         * NEWS: Mention the change.
54441
54442 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54443
54444         * lib/bitrotate.h (rotl8, rotr8): Add.
54445
54446         * modules/bitrotate (configure.ac): Need
54447         AC_REQUIRE([AC_C_INLINE]).
54448         (Description): Mention stdint.h.  Reported by Bruno Haible
54449         <bruno@clisp.org>.
54450
54451         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54452         Paolo Bonzini <bonzini@gnu.org>.
54453
54454 2008-08-31  Bruno Haible  <bruno@clisp.org>
54455
54456         Assume Solaris specific bi-arch conventions on Solaris systems.
54457         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54458         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54459         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54460         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54461         like acl_libdirstem.
54462         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54463         acl_libdirstem.
54464         * NEWS: Mention the change.
54465         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54466
54467 2008-08-31  Jim Meyering  <meyering@redhat.com>
54468
54469         * lib/strftime.h: Add comments describing the two added arguments.
54470
54471         remove duplicate #include directives
54472         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54473         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54474
54475 2008-08-31  Bruno Haible  <bruno@clisp.org>
54476
54477         New module 'sigpipe-die'.
54478         * modules/sigpipe-die: New file.
54479         * lib/sigpipe-die.h: New file.
54480         * lib/sigpipe-die.c: New file.
54481         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54482
54483 2008-08-31  Bruno Haible  <bruno@clisp.org>
54484
54485         Don't override previously installed signal handlers.
54486         * lib/fatal-signal.c (saved_sigactions): New variable.
54487         (uninstall_handlers): Reset the signal to the saved handler, not
54488         to SIG_DFL (except when ignored).
54489         (install_handlers): Save the previous handlers.
54490
54491 2008-08-30  Bruno Haible  <bruno@clisp.org>
54492
54493         * gnulib-tool (func_reset_sigpipe): New function.
54494         (func_get_automake_snippet, func_modules_transitive_closure,
54495         func_import): Invoke it before a join command that reads from stdin,
54496         to avoid "echo: write error: Broken pipe" error messages on stderr.
54497         Reported by Sam Steingold <sds@gnu.org>.
54498
54499 2008-08-30  Bruno Haible  <bruno@clisp.org>
54500
54501         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54502         Code copied from m4/open.m4.
54503         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54504         access and the filename ends in a slash. Code copied from lib/open.c.
54505         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54506         * tests/test-fopen.c (main): Check against bug with trailing slash.
54507
54508 2008-08-29  Bruno Haible  <bruno@clisp.org>
54509
54510         Avoid some "gcc -pedantic" warnings.
54511         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54512         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54513         * lib/dirent.in.h: Likewise.
54514         * lib/fcntl.in.h: Likewise.
54515         * lib/float.in.h: Likewise.
54516         * lib/iconv.in.h: Likewise.
54517         * lib/inttypes.in.h: Likewise.
54518         * lib/locale.in.h: Likewise.
54519         * lib/math.in.h: Likewise.
54520         * lib/netinet_in.in.h: Likewise.
54521         * lib/search.in.h: Likewise.
54522         * lib/signal.in.h: Likewise.
54523         * lib/stdarg.in.h: Likewise.
54524         * lib/stdint.in.h: Likewise.
54525         * lib/stdio.in.h: Likewise.
54526         * lib/stdlib.in.h: Likewise.
54527         * lib/string.in.h: Likewise.
54528         * lib/strings.in.h: Likewise.
54529         * lib/sys_select.in.h: Likewise.
54530         * lib/sys_socket.in.h: Likewise.
54531         * lib/sys_stat.in.h: Likewise.
54532         * lib/sys_time.in.h: Likewise.
54533         * lib/sysexits.in.h: Likewise.
54534         * lib/time.in.h: Likewise.
54535         * lib/unistd.in.h: Likewise.
54536         * lib/wchar.in.h: Likewise.
54537         * lib/wctype.in.h: Likewise.
54538         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54539         * modules/fchdir (Makefile.am): Likewise.
54540         * modules/fcntl (Makefile.am): Likewise.
54541         * modules/float (Makefile.am): Likewise.
54542         * modules/iconv_open (Makefile.am): Likewise.
54543         * modules/inttypes (Makefile.am): Likewise.
54544         * modules/locale (Makefile.am): Likewise.
54545         * modules/math (Makefile.am): Likewise.
54546         * modules/netinet_in (Makefile.am): Likewise.
54547         * modules/search (Makefile.am): Likewise.
54548         * modules/signal (Makefile.am): Likewise.
54549         * modules/stdarg (Makefile.am): Likewise.
54550         * modules/stdint (Makefile.am): Likewise.
54551         * modules/stdio (Makefile.am): Likewise.
54552         * modules/stdlib (Makefile.am): Likewise.
54553         * modules/string (Makefile.am): Likewise.
54554         * modules/strings (Makefile.am): Likewise.
54555         * modules/sys_select (Makefile.am): Likewise.
54556         * modules/sys_socket (Makefile.am): Likewise.
54557         * modules/sys_stat (Makefile.am): Likewise.
54558         * modules/sys_time (Makefile.am): Likewise.
54559         * modules/sysexits (Makefile.am): Likewise.
54560         * modules/time (Makefile.am): Likewise.
54561         * modules/unistd (Makefile.am): Likewise.
54562         * modules/wchar (Makefile.am): Likewise.
54563         * modules/wctype (Makefile.am): Likewise.
54564         Reported by Reuben Thomas <rrt@sc3d.org>.
54565
54566 2008-08-29  Bruno Haible  <bruno@clisp.org>
54567
54568         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54569         any more.
54570
54571 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54572
54573         * MODULES.html.sh (Misc): Add bitrotate.
54574
54575         * modules/bitrotate: New file.
54576
54577         * lib/bitrotate.h: New file.
54578
54579         * modules/bitrotate-tests: New file.
54580
54581         * tests/test-bitrotate.c: New file.
54582
54583         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54584         on the bitrotate module.
54585
54586         * lib/arctwo.c: Use new bitrotate module.
54587
54588 2008-08-29  Jim Meyering  <meyering@redhat.com>
54589
54590         bootstrap: merge changes from coreutils
54591         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54592         of copied files.  Remove a kludge, now that this is fixed.
54593         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54594         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54595         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54596
54597 2008-08-29  Bruno Haible  <bruno@clisp.org>
54598
54599         * MODULES.html.sh: Remove --cvs-urls option.
54600
54601 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
54602
54603         maint.mk: adjust to file name change
54604         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
54605
54606 2008-08-28  Jim Meyering  <meyering@redhat.com>
54607
54608         * modules/getndelim2 (License): Relicense to LGPLv2+.
54609         Approved by Richard Stallman for the version of 1995, and by
54610         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
54611
54612 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
54613
54614         * lib/getdelim.c (flockfile, funlockfile): Make all of them
54615         dummy if one is not available.  Do not touch them if
54616         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
54617         (getc_maybe_unlocked): New.
54618         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
54619
54620 2008-08-26  Eric Blake  <ebb9@byu.net>
54621
54622         doc/INSTALL: resync from autoconf
54623         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
54624         (INSTALL_PRELUDE): Delete; this is done more efficiently by
54625         moving...
54626         * install.texi [!autoconf]: ...here.  Resync from autoconf.
54627         * INSTALL: Regenerate.
54628         * INSTALL.ISO: New file.
54629         * INSTALL.UTF-8: Likewise.
54630
54631 2008-08-26  Jim Meyering  <meyering@redhat.com>
54632
54633         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
54634         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
54635         these definitions conditional, so that they may be overridden, too.
54636
54637 2008-08-26  Bruno Haible  <bruno@clisp.org>
54638
54639         Generate INSTALL file variants with prettier quotes.
54640         * doc/Makefile (INSTALL_PRELUDE): New macro.
54641         (INSTALL): Use it.
54642         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54643
54644 2008-08-26  Bruno Haible  <bruno@clisp.org>
54645
54646         Run makeinfo in an English locale.
54647         * doc/Makefile (MAKEINFO): New variable.
54648
54649 2008-08-26  Bruno Haible  <bruno@clisp.org>
54650
54651         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54652         Suggested by Eric Blake.
54653
54654 2008-08-25  Bruno Haible  <bruno@clisp.org>
54655
54656         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54657
54658 2008-08-25  Eric Blake  <ebb9@byu.net>
54659
54660         c-stack: test that stack overflow can be caught
54661         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54662         that platform allows handling stack overflow; at least OS/2 EMX
54663         has sigaltstack, but crashes before transferring control to
54664         handler on stack overflow.
54665         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
54666         check for HAVE_STACK_OVERFLOW_HANDLING.
54667         Reported by Elbert Pol.
54668
54669 2008-08-25  Bruno Haible  <bruno@clisp.org>
54670
54671         * doc/posix-functions/strftime.texi: Fix description of strftime
54672         module.
54673
54674 2008-08-24  Bruno Haible  <bruno@clisp.org>
54675
54676         * tests/uniwidth/test-uc_width2.c: New file.
54677         * tests/uniwidth/test-uc_width2.sh: New file.
54678         * modules/uniwidth/width-tests (Files): Add the new files.
54679         (TESTS): Add uniwidth/test-uc_width2.sh.
54680         (TESTS_ENVIRONMENT): New variable.
54681         (check_PROGRAMS): Add test-uc_width2.
54682         (test_uc_width2_SOURCES): New variable.
54683
54684         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
54685         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
54686         not 0x00AB.
54687         Reported by Alexander V. Lukyanov <lav@netis.ru>.
54688
54689 2008-08-22  Eric Blake  <ebb9@byu.net>
54690
54691         test-lock, test-tls: mention why a test is skipped
54692         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
54693         skipped.
54694         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
54695
54696         count-one-bits: relax license
54697         * modules/count-one-bits (License): Relicense to LGPLv2+.
54698         Suggested by Ludovic Courtès, approved by Ben Pfaff.
54699
54700 2008-08-22  Andreas Schwab  <schwab@suse.de>
54701
54702         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54703         Remove spurious space in assignment.
54704
54705 2008-08-21  Simon Josefsson  <simon@josefsson.org>
54706
54707         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
54708         Paul Eggert <eggert@CS.UCLA.EDU>.
54709
54710 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
54711
54712         * modules/gettext: Add m4/threadlib.m4.
54713
54714 2008-08-19  Eric Blake  <ebb9@byu.net>
54715
54716         test-c-stack: fix compilation failure on FreeBSD 5.0
54717         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
54718         headers before <sys/resource.h>.
54719         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
54720         the bug.
54721         Reported by Nelson H. F. Beebe.
54722
54723         strverscmp: migrate from "strverscmp.h" to <string.h>
54724         * modules/string (Makefile.am): Add new hooks.
54725         * modules/strverscmp (Files): Remove strverscmp.h.
54726         (Depends-on): Add string.
54727         (configure.ac): Add indicator.
54728         (Include): Mention new header.
54729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
54730         defaults.
54731         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
54732         results.
54733         * lib/strverscmp.h: Delete.
54734         * lib/string.in.h (strverscmp): Provide declaration, when needed.
54735         * tests/test-strverscmp.c (includes): Adjust client.
54736         * lib/check-version.c (includes): Likewise.
54737         * NEWS: Document the change.
54738
54739         strverscmp: add unit test
54740         * modules/strverscmp-tests: New file.
54741         * tests/test-strverscmp.c: Likewise.
54742
54743 2008-08-19  Simon Josefsson  <simon@josefsson.org>
54744
54745         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
54746         regarding Windows crypto stuff, from Mono.
54747
54748 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
54749
54750         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
54751         if present, for intel RND.  Return error on failures.
54752
54753 2008-08-18  Ben Pfaff  <blp@gnu.org>
54754
54755         gitlog-to-changelog: give better diagnostic for failed pipe-open
54756         * build-aux/gitlog-to-changelog: Improve error message: suggest
54757         that the version of Git may be too old.
54758
54759 2008-08-18  Simon Josefsson  <simon@josefsson.org>
54760
54761         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
54762         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
54763
54764 2008-08-18  Bruno Haible  <bruno@clisp.org>
54765
54766         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
54767         pthread_in_use().
54768
54769 2008-08-18  Bruno Haible  <bruno@clisp.org>
54770
54771         * lib/glthread/threadlib.c: Include <pthread.h>.
54772
54773 2008-08-18  Bruno Haible  <bruno@clisp.org>
54774
54775         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
54776         glthread_recursive_lock_* macros.
54777         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
54778         Fix syntax error.
54779
54780 2008-08-18  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/glthread/thread.c: Avoid forcing a context switch right after
54783         thread creation.
54784
54785 2008-08-17  Bruno Haible  <bruno@clisp.org>
54786
54787         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
54788         * lib/glthread/thread.h: Provide Win32 specific implementation.
54789         * modules/thread (Files): Add lib/glthread/thread.c.
54790         (Depends-on): Add lock.
54791         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
54792
54793 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54794
54795         New module 'yield'.
54796         * modules/yield: New file.
54797         * lib/glthread/yield.h: New file.
54798         * m4/yield.m4: New file.
54799         * MODULES.html.sh (Multithreading): Add yield.
54800
54801 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54802
54803         New module 'thread'.
54804         * modules/thread: New file.
54805         * lib/glthread/thread.h: New file.
54806         * m4/thread.m4: New file.
54807         * MODULES.html.sh (Multithreading): Add thread.
54808
54809 2008-08-17  Bruno Haible  <bruno@clisp.org>
54810
54811         * lib/glthread/lock.h: Include <stdlib.h> always.
54812         * lib/glthread/tls.h: Likewise.
54813         * lib/glthread/cond.h: Likewise.
54814
54815 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54816
54817         New module 'cond'.
54818         * modules/cond: New file.
54819         * lib/glthread/cond.h: New file.
54820         * lib/glthread/cond.c: New file.
54821         * m4/cond.m4: New file.
54822         * MODULES.html.sh (Multithreading): Add cond.
54823
54824 2008-08-16  Eric Blake  <ebb9@byu.net>
54825
54826         c-stack: fix regression on Irix 5.3 from 2008-06-21
54827         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
54828         sa_sigaction...
54829         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
54830         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
54831         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
54832         * modules/signal (Makefile.am): Use the value.
54833         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
54834         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
54835         * doc/posix-headers/signal.texi (signal.h): Document this
54836         portability issue.
54837         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
54838         Reported by Tom G. Christensen.
54839
54840 2008-08-17  Bruno Haible  <bruno@clisp.org>
54841
54842         New module 'threadlib'.
54843         * modules/threadlib: New file.
54844         * lib/glthread/threadlib.c: New file, extracted from
54845         lib/glthread/lock.c.
54846         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
54847         functions.
54848         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
54849         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
54850         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
54851         macros.
54852         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
54853         (gl_DISABLE_THREADS): Remove macro.
54854         * modules/lock (Files): Remove build-aux/config.rpath.
54855         (Depends-on): Remove havelib. Add threadlib.
54856         (configure.ac-early): Remove section.
54857         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
54858         * modules/tls (Depends-on): Remove lock. Add threadlib.
54859         (Link): New section, copied from threadlib.
54860         * MODULES.html.sh (Multithreading): Add threadlib.
54861
54862 2008-08-14  Bruno Haible  <bruno@clisp.org>
54863
54864         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
54865         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
54866         glthread_rwlock_unlock, glthread_rwlock_destroy,
54867         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
54868         glthread_recursive_lock_destroy): Define as macros always.
54869         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
54870         glthread_lock_lock.
54871         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
54872         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
54873         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
54874         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
54875         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
54876         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
54877         (glthread_recursive_lock_lock_func): Renamed from
54878         glthread_recursive_lock_lock.
54879         (glthread_recursive_lock_unlock_func): Renamed from
54880         glthread_recursive_lock_unlock.
54881         (glthread_recursive_lock_destroy_func): Renamed from
54882         glthread_recursive_lock_destroy.
54883
54884 2008-08-14  Bruno Haible  <bruno@clisp.org>
54885
54886         * lib/glthread/lock.h: Renamed from lib/lock.h.
54887         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
54888         * lib/glthread/tls.h: Renamed from lib/tls.h.
54889         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
54890         * lib/fstrcmp.c: Update includes.
54891         * lib/strsignal.c: Update includes.
54892         * modules/lock (Files, Makefile.am): Update.
54893         (Include): Change to "glthread/lock.h".
54894         * modules/tls (Files, Makefile.am): Update.
54895         (Include): Change to "glthread/tls.h".
54896         * tests/test-lock.c: Update includes.
54897         * tests/test-tls.c: Update includes.
54898         * NEWS: Mention the renamed header files.
54899
54900 2008-08-11  Jim Meyering  <meyering@redhat.com>
54901
54902         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
54903
54904 2008-08-11  Eric Blake  <ebb9@byu.net>
54905
54906         test-c-stack: avoid C99-ism
54907         * tests/test-c-stack.c (main): Fix whitespace, move declaration
54908         before statement.
54909         Reported by Alain Guibert.
54910
54911 2008-08-10  Jim Meyering  <meyering@redhat.com>
54912
54913         ensure that return value of uinttostr et al are not ignored
54914         * lib/inttostr.h (__GNUC_PREREQ): Define.
54915         (__attribute_warn_unused_result__): Define.
54916         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
54917
54918 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
54919
54920         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
54921         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
54922
54923 2008-08-07  Jim Meyering  <meyering@redhat.com>
54924
54925         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
54926
54927         * modules/mkstemp (License): Relicense under LGPLv2+.
54928         * modules/tempname (License): Likewise.
54929
54930 2008-08-06  Bruno Haible  <bruno@clisp.org>
54931
54932         * lib/poll.c (poll): Further micro-optimization.
54933
54934 2008-08-06  Jim Meyering  <meyering@redhat.com>
54935
54936         inet_pton.c: use locale-independent tolower
54937         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
54938         (inet_pton6): Use c_tolower rather than tolower.
54939         * modules/inet_pton (Depends-on): Add c-ctype.
54940
54941 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
54942
54943         * lib/poll.c (poll): Avoid division when timeout is 0, cache
54944         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
54945
54946 2008-08-06  Jim Meyering  <meyering@redhat.com>
54947
54948         * modules/inet_pton (License): Relicense under LGPLv2+.
54949
54950 2008-08-03  Bruno Haible  <bruno@clisp.org>
54951
54952         Additional non-aborting API for lock and tls.
54953         * lib/lock.h: Include <errno.h>.
54954         (glthread_lock_init): New macro/function.
54955         (gl_lock_init): Define as wrapper around glthread_lock_init.
54956         (glthread_lock_lock): New macro/function.
54957         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
54958         (glthread_lock_unlock): New macro/function.
54959         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
54960         (glthread_lock_destroy): New macro/function.
54961         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
54962         (glthread_rwlock_init): New macro/function.
54963         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
54964         (glthread_rwlock_rdlock): New macro/function.
54965         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
54966         (glthread_rwlock_wrlock): New macro/function.
54967         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
54968         (glthread_rwlock_unlock): New macro/function.
54969         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
54970         (glthread_rwlock_destroy): New macro/function.
54971         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
54972         (glthread_recursive_lock_init): New macro/function.
54973         (gl_recursive_lock_init): Define as wrapper around
54974         glthread_recursive_lock_init.
54975         (glthread_recursive_lock_lock): New macro/function.
54976         (gl_recursive_lock_lock): Define as wrapper around
54977         glthread_recursive_lock_lock.
54978         (glthread_recursive_lock_unlock): New macro/function.
54979         (gl_recursive_lock_unlock): Define as wrapper around
54980         glthread_recursive_lock_unlock.
54981         (glthread_recursive_lock_destroy): New macro/function.
54982         (gl_recursive_lock_destroy): Define as wrapper around
54983         glthread_recursive_lock_destroy.
54984         (glthread_once): New macro/function.
54985         (gl_once): Define as wrapper around glthread_once.
54986         Update function declarations.
54987         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
54988         glthread_rwlock_init. Return error code.
54989         (glthread_rwlock_rdlock_multithreaded): Renamed from
54990         glthread_rwlock_rdlock. Return error code.
54991         (glthread_rwlock_wrlock_multithreaded): Renamed from
54992         glthread_rwlock_wrlock. Return error code.
54993         (glthread_rwlock_unlock_multithreaded): Renamed from
54994         glthread_rwlock_unlock. Return error code.
54995         (glthread_rwlock_destroy_multithreaded): Renamed from
54996         glthread_rwlock_destroy. Return error code.
54997         (glthread_recursive_lock_init_multithreaded): Renamed from
54998         glthread_recursive_lock_init. Return error code.
54999         (glthread_recursive_lock_lock_multithreaded): Renamed from
55000         glthread_recursive_lock_lock. Return error code.
55001         (glthread_recursive_lock_unlock_multithreaded): Renamed from
55002         glthread_recursive_lock_unlock. Return error code.
55003         (glthread_recursive_lock_destroy_multithreaded): Renamed from
55004         glthread_recursive_lock_destroy. Return error code.
55005         (glthread_once_call): Make static.
55006         (glthread_once_multithreaded): Renamed from glthread_once.
55007         * lib/tls.h: Include <errno.h>.
55008         (glthread_tls_key_init): New macro/function.
55009         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55010         (glthread_tls_set): New macro/function.
55011         (gl_tls_set): Define as wrapper around glthread_tls_set.
55012         (glthread_tls_key_destroy): New macro/function.
55013         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55014         Update function declarations.
55015         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55016         glthread_tls_get.
55017         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55018
55019 2008-08-04  Eric Blake  <ebb9@byu.net>
55020
55021         gnumakefile: use space, not TAB, outside of targets
55022         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55023
55024 2008-08-02  Jim Meyering  <meyering@redhat.com>
55025
55026         getdate.y: avoid locale-dependent date parsing failure
55027         In Turkish locales, getdate would fail to recognize keywords
55028         containing a lowercase "i".  The solution is not to rely on
55029         locale-sensitive case-conversion.
55030         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55031         (lookup_word): Use c_toupper in place of toupper.
55032         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55033         Reported by Vefa Bicakci <bicave@superonline.com> in
55034         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55035         * modules/getdate (Depends-on): Add c-ctype.
55036
55037 2008-08-02  Bruno Haible  <bruno@clisp.org>
55038
55039         * gnulib-tool (func_import): When updating or creating a .gitignore
55040         file, prepend each added line with a slash, and ignore leading slashes
55041         from the existing lines.
55042         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55043
55044 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55045
55046         Portability fix for GNU make 3.79.1.
55047         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55048         versions do not understand.
55049
55050 2008-08-01  Bruno Haible  <bruno@clisp.org>
55051
55052         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55053         * tests/test-isnanf.h (zero): New variable.
55054         (main): Avoid literal -0.0f.
55055         * tests/test-isnand.h (zero): New variable.
55056         (main): Avoid literal -0.0.
55057         * tests/test-isnanl.h (zero): New variable.
55058         (main): Avoid literal -0.0L.
55059         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55060         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55061         -0.0, -0.0L.
55062         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55063         (test_signbitd): Avoid literal -0.0.
55064         (test_signbitl): Avoid literal -0.0L.
55065         * tests/test-ceilf1.c (zero): New variable.
55066         (main): Avoid literal -0.0f.
55067         * tests/test-ceill.c (zero): New variable.
55068         (main): Avoid literal -0.0L.
55069         * tests/test-floorf1.c (zero): New variable.
55070         (main): Avoid literal -0.0f.
55071         * tests/test-floorl.c (zero): New variable.
55072         (main): Avoid literal -0.0L.
55073         * tests/test-roundf1.c (zero): New variable.
55074         (main): Avoid literal -0.0f.
55075         * tests/test-round1.c (zero): New variable.
55076         (main): Avoid literal -0.0.
55077         * tests/test-roundl.c (zero): New variable.
55078         (main): Avoid literal -0.0L.
55079         * tests/test-truncf1.c (zero): New variable.
55080         (main): Avoid literal -0.0f.
55081         * tests/test-trunc1.c (zero): New variable.
55082         (main): Avoid literal -0.0.
55083         * tests/test-truncl.c (zero): New variable.
55084         (main): Avoid literal -0.0L.
55085         * tests/test-frexp.c (zero): New variable.
55086         (main): Avoid literal -0.0.
55087         * tests/test-frexpl.c (zero): New variable.
55088         (main): Avoid literal -0.0L.
55089         * tests/test-ldexpl.c (zero): New variable.
55090         (main): Avoid literal -0.0L.
55091         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55092         (zerod, zerol): New variables.
55093         (test_function): Avoid literals -0.0, -0.0L.
55094         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55095         (zerod, zerol): New variables.
55096         (test_function): Avoid literals -0.0, -0.0L.
55097         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55098         (zerod, zerol): New variables.
55099         (test_function): Avoid literals -0.0, -0.0L.
55100         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55101         (zerod, zerol): New variables.
55102         (test_function): Avoid literals -0.0, -0.0L.
55103         * tests/test-strtod.c (zero): New variable.
55104         (main): Avoid literal -0.0.
55105         Reported by Jonathan C. Patschke <jp@centtech.com>.
55106
55107 2008-07-31  Jim Meyering  <meyering@redhat.com>
55108
55109         sha256.h: correct definition of SHA224_DIGEST_SIZE
55110         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
55111         Reported by Paulie Pena IV <paulie4@gmail.com>.
55112         Define as 224 / 8, rather than as a literal.
55113         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
55114         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
55115         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
55116
55117 2008-07-31  Bruno Haible  <bruno@clisp.org>
55118
55119         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
55120         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
55121         Reported by Jonathan Patschke <jp@centtech.com>.
55122
55123 2008-07-31  Bruno Haible  <bruno@clisp.org>
55124
55125         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
55126         Reported by Paolo Bonzini <bonzini@gnu.org>.
55127
55128 2008-07-30  Eric Blake  <ebb9@byu.net>
55129
55130         test-strtod: allow compilation without -lm
55131         * tests/test-strtod.c (main): Avoid link dependence on fabs.
55132         Reported by Dennis Clarke <blastwave@gmail.com>.
55133
55134 2008-07-28  Jim Meyering  <meyering@redhat.com>
55135
55136         bootstrap: work also when there are no .po files in po/
55137         * build-aux/bootstrap (update_po_files): Complete the change
55138         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
55139
55140 2008-07-27  Jim Meyering  <meyering@redhat.com>
55141
55142         * users.txt: Add zile.
55143
55144 2008-07-26  Ben Pfaff  <blp@gnu.org>
55145
55146         Add missing dependencies on new m4/exponent[fdl].m4 files.
55147         * modules/isnanf-nolibm: Add m4/exponentf.m4.
55148         * modules/isnand-nolibm: Add m4/exponentd.m4.
55149         * modules/isnanl-nolibm: Add m4/exponentl.m4.
55150         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
55151         m4/isnan[fdl].m4, because the macros actually used moved.
55152         Reported by Jim Meyering.
55153
55154 2008-07-14  Ben Pfaff  <blp@gnu.org>
55155
55156         Add isinf module.
55157         * lib/isinf.c: New file.
55158         * lib/math.in.h: Define isinf macro if we have decided to replace
55159         it.
55160         * m4/isinf.m4: New file.
55161         * m4/math_h.m4: Initialize and substitute variables for isinf
55162         module.
55163         * modules/isinf: New file.
55164         * modules/isinf-tests: New file.
55165         * modules/math: Add substitutions for new module.
55166         * tests/test-isinf.c: New file.
55167         * doc/posix-functions/isinf.texi: Mention new module.
55168         * MODULES.html.sh: Mention new module.
55169
55170 2008-07-14  Ben Pfaff  <blp@gnu.org>
55171
55172         Factor out some macros for use by additional modules.
55173         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
55174         exponentf.m4.
55175         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
55176         exponentd.m4.
55177         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
55178         file exponentl.m4.
55179         * m4/exponentf.m4: New file.
55180         * m4/exponentd.m4: New file.
55181         * m4/exponentl.m4: New file.
55182         * modules/isnanf: Use new file m4/exponentf.m4.
55183         * modules/isnand: Use new file m4/exponentd.m4.
55184         * modules/isnanl: Use new file m4/exponentl.m4.
55185
55186 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
55187
55188         mktime.c: normalize tp->tm_isdst value to -1/0/1.
55189         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
55190         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
55191         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
55192
55193         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
55194         readlink on platforms without PATH_MAX.
55195
55196 2008-07-21  Eric Blake  <ebb9@byu.net>
55197
55198         Warn, not fail, on stale version.
55199         * top/GNUmakefile (_curr-ver): Tone down previous patch.
55200
55201         Don't allow installation with stale devel version number.
55202         * top/GNUmakefile (_is-install-target): New macro.
55203         (_curr-ver): Forbid installation with stale version number.
55204
55205 2008-07-20  Bruno Haible  <bruno@clisp.org>
55206
55207         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
55208         TESTS_ENVIRONMENT.
55209         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
55210
55211 2008-07-20  Bruno Haible  <bruno@clisp.org>
55212
55213         * lib/c-stack.h (c_stack_action): Add documentation.
55214         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
55215
55216 2008-07-20  Bruno Haible  <bruno@clisp.org>
55217
55218         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
55219         * modules/readlink (License): Likewise.
55220
55221 2008-07-17  Eric Blake  <ebb9@byu.net>
55222
55223         * modules/c-stack (Link): Fix typo.
55224
55225         Make c-stack use libsigsegv, when available.
55226         * modules/c-stack (Depends-on): Add libsigsegv.
55227         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
55228         needed.
55229         * lib/c-stack.c (SIGSTKSZ): Define fallback.
55230         (segv_handler, overflow_handler, c_stack_action)
55231         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
55232         implementation when libsigsegv is available, but only when using
55233         the library is necessary.
55234         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
55235         comment, explaining why XSI check fails on Linux.
55236         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
55237         * tests/test-c-stack2.sh: Tweak skip message.
55238         * NEWS: Document new link-time requirements.
55239
55240 2008-07-16  Eric Blake  <ebb9@byu.net>
55241
55242         c-stack: Expose false positives when not using libsigsegv.
55243         * modules/c-stack-tests (Files): Expand test.
55244         * tests/test-c-stack.c (main): Add means to conditionally trigger
55245         non-overflow SIGSEGV.
55246         * tests/test-c-stack2.sh: New file.
55247
55248 2008-07-14  Bruno Haible  <bruno@clisp.org>
55249
55250         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
55251         Reported by Eric Blake.
55252
55253 2008-07-14  Sam Steingold  <sds@gnu.org>
55254             Bruno Haible  <bruno@clisp.org>
55255
55256         New module libsigsegv.
55257         * modules/libsigsegv: New file.
55258         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
55259         modifications.
55260         * MODULES.html.sh (Signal handling): New section.
55261
55262 2008-07-14  Bruno Haible  <bruno@clisp.org>
55263
55264         * modules/unictype/ctype-* (Description): Add the word "function".
55265         Improves the resulting doc in MODULES.html.
55266
55267 2008-07-12  Ben Pfaff  <blp@gnu.org>
55268
55269         Add longlong module.
55270         * modules/longlong: New file.
55271
55272 2008-07-12  Bruno Haible  <bruno@clisp.org>
55273
55274         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
55275         to empty.
55276
55277 2008-07-10  Ben Pfaff  <blp@gnu.org>
55278
55279         Add isnan module.
55280         * doc/posix-functions/isnan.texi: Mention new module.
55281         * lib/math.in.h: Define isnan macro if we have decided to replace
55282         it.
55283         * m4/isnan.m4: New file.
55284         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
55285         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
55286         also.
55287         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
55288         redundancy.
55289         * m4/math_h.m4: Initialize and substitute variables for isnan
55290         module.
55291         * modules/isnan: New file.
55292         * modules/isnan-tests: New file.
55293         * modules/math: Add substitutions for new module.
55294         * tests/test-isnan.c: New file.
55295         * MODULES.html.sh: Mention new module.
55296
55297 2008-07-10  Ben Pfaff  <blp@gnu.org>
55298
55299         Add isnanf module.
55300         * lib/isnanf.m4: New file.
55301         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
55302         (gl_HAVE_ISNANF_IN_LIBM): New macro.
55303         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
55304         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
55305         * modules/isnanf: New file.
55306         * modules/isnanf-tests: New file.
55307         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
55308         files.
55309         * tests/test-isnanf-nolibm.c: factored most of its contents into
55310         new file tests/test-isnanf.h.
55311         * tests/test-isnanf.h: New file.
55312         * tests/test-isnanf.c: New file.
55313         * MODULES.html.sh: Mention new module.
55314         * doc/glibc-functions/isnanf.texi: Mention new module.
55315
55316 2008-07-10  Ben Pfaff  <blp@gnu.org>
55317
55318         Add isnand module.
55319         * lib/isnand.h: New file.
55320         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
55321         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
55322         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
55323         functionality also.
55324         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
55325         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
55326         (gl_HAVE_ISNAND_IN_LIBM): New macro.
55327         * modules/isnand: New file.
55328         * modules/isnand-tests: New file.
55329         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
55330         files.
55331         * tests/test-isnand-nolibm.c: factored most of its contents into
55332         new file tests/test-isnand.h.
55333         * tests/test-isnand.h: New file.
55334         * tests/test-isnand.c: New file.
55335         * MODULES.html.sh: Mention new module.
55336
55337 2008-07-10  Ben Pfaff  <blp@gnu.org>
55338
55339         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
55340         * lib/isnand.h: Rename lib/isnand-nolibm.h.
55341         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
55342         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
55343         * modules/isnanf-nolibm: Update references to renamed files.
55344         * modules/isnand-nolibm: Likewise.
55345         * modules/isnanf-nolibm-tests: Likewise.
55346         * modules/isnand-nolibm-tests: Likewise.
55347         * lib/frexp.c: Likewise.
55348         * lib/isfinite.c: Likewise.
55349         * lib/signbitd.c: Likewise.
55350         * lib/signbitf.c: Likewise.
55351         * lib/vasnprintf.c: Likewise.
55352         * tests/test-ceilf1.c: Likewise.
55353         * tests/test-ceilf2.c: Likewise.
55354         * tests/test-floorf1.c: Likewise.
55355         * tests/test-floorf2.c: Likewise.
55356         * tests/test-frexp.c: Likewise.
55357         * tests/test-round1.c: Likewise.
55358         * tests/test-round2.c: Likewise.
55359         * tests/test-roundf1.c: Likewise.
55360         * tests/test-strtod.c: Likewise.
55361         * tests/test-trunc1.c: Likewise.
55362         * tests/test-trunc2.c: Likewise.
55363         * tests/test-truncf1.c: Likewise.
55364         * tests/test-truncf2.c: Likewise.
55365         * NEWS: Mention the renamed header files.
55366
55367 2008-07-11  Jim Meyering  <meyering@redhat.com>
55368
55369         vc-list-files: make the last-resort awk code more portable
55370         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
55371         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
55372         does not support it.
55373
55374 2008-07-10  Eric Blake  <ebb9@byu.net>
55375
55376         Work with tar's bootstrap.
55377         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
55378         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
55379         an m4 comment.
55380
55381 2008-07-09  Jim Meyering  <meyering@redhat.com>
55382
55383         posix-shell.m4: fix typo that made this test malfunction
55384         * m4/posix-shell.m4: Remove capitalization in variable name.
55385
55386 2008-07-08  Bruno Haible  <bruno@clisp.org>
55387
55388         * m4/onceonly.m4: Update comments.
55389         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55390
55391 2008-07-04  Jim Meyering  <meyering@redhat.com>
55392
55393         * users.txt: Add vc-dwim.
55394         (bison, coreutils): Use the gitweb URL.
55395
55396 2008-07-03  Jim Meyering  <meyering@redhat.com>
55397
55398         * users.txt: Add libffcall.  From Sam Steingold.
55399
55400 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
55401
55402         getdate.y: do not ignore TZ with relative day, month or year offset
55403         * lib/getdate.y (get_date): Move the tz-handling block to follow the
55404         relative-date-handling, since otherwise, the latter would clobber the
55405         sole output (an updated Start value) of the tz-handling block.
55406         * tests/test-getdate.c: Tests for the fix
55407
55408 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55409
55410         Recognize 'foo_LIBRARIES += libgnu.a'.
55411         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
55412         makefile snippet has already specified an installation location,
55413         also using '+='.
55414
55415 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
55416
55417         getdate.y: factor out common actions
55418         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
55419         Use them in place of open-coded actions.
55420
55421 2008-07-01  Simon Josefsson  <simon@josefsson.org>
55422
55423         Add self-test for getdate module.
55424         * modules/getdate-tests: New file.
55425         * tests/test-getdate.c: New file.
55426
55427 2008-06-29  Bruno Haible  <bruno@clisp.org>
55428
55429         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55430         .gitignore.
55431         Reported by Sylvain Beucler <beuc@beuc.net>.
55432
55433 2008-06-29  Bruno Haible  <bruno@clisp.org>
55434
55435         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55436         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55437
55438 2008-06-29  Bruno Haible  <bruno@clisp.org>
55439
55440         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55441         EXTRA_DIST.
55442         Reported by Sylvain Beucler <beuc@beuc.net>.
55443
55444 2008-06-26  Jim Meyering  <meyering@redhat.com>
55445
55446         make several modules depend on the "open" module
55447         This provides slightly increased consistency when opening-for-write
55448         the name of a non-directory spelled with a trailing slash.
55449         * modules/chdir-safer: Likewise.
55450         * modules/chown: Likewise.
55451         * modules/clean-temp: Likewise.
55452         * modules/copy-file: Likewise.
55453         * modules/fchdir: Likewise.
55454         * modules/fcntl-safer: Likewise.
55455         * modules/pipe: Likewise.
55456         * modules/utime: Likewise.
55457         Prompted by Eric Blake and Bruno Haible.
55458
55459 2008-06-24  Andreas Schwab  <schwab@suse.de>
55460
55461         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55462         literals can be used as initializers for global variables.
55463
55464 2008-06-23  Eric Blake  <ebb9@byu.net>
55465
55466         Make gnulib-cache.m4 easier to diff.
55467         * gnulib-tool (func_import): Allow newlines when reading cached
55468         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55469
55470 2008-06-23  Bruno Haible  <bruno@clisp.org>
55471
55472         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55473         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55474         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55475         m4/signalblocking.m4.
55476         (gl_PREREQ_SIGACTION): Don't invoke it.
55477         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55478         gl_PREREQ_SIG_HANDLER_H.
55479         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55480         Don't check for sigaction here.
55481
55482 2008-06-23  Bruno Haible  <bruno@clisp.org>
55483
55484         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55485         (install_handlers): Don't set the SA_RESETHAND flag.
55486
55487 2008-06-23  Bruno Haible  <bruno@clisp.org>
55488
55489         * m4/sigaction.m4: Comment fixes.
55490         * lib/signal.in.h: Likewise.
55491
55492 2008-06-23  Eric Blake  <ebb9@byu.net>
55493
55494         Fix typo.
55495         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55496
55497         Avoid SA_ namespace.
55498         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55499         Reported by Ralf Wildenhues.
55500
55501         Avoid test failure due to SA_RESTORER.
55502         * tests/test-sigaction.c (SA_MASK): New macro.
55503         (main): Avoid failing due to extension flags being set.
55504         Reported by Jim Meyering.
55505
55506         Revert use of sig-handler.h in sigprocmask.c.
55507         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55508         it requires the existence of struct sigaction.
55509         * lib/sigprocmask.c (handler_t): Restore typedef.
55510         (rpl_signal, old_handlers): Use local type.
55511
55512 2008-06-22  Bruno Haible  <bruno@clisp.org>
55513
55514         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55515         conditionally.
55516         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55517
55518 2008-06-22  Bruno Haible  <bruno@clisp.org>
55519
55520         * doc/posix-functions/siginterrupt.texi: Move note.
55521
55522         * lib/signal.in.h (SA_RESTART): New macro.
55523         * lib/sigaction.c: Update comment.
55524
55525         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55526
55527         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55528         (gl_PREREQ_SIGPROCMASK): Invoke it.
55529         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55530
55531         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55532
55533         * lib/sigprocmask.c: Update a comment.
55534
55535 2008-06-21  Eric Blake  <ebb9@byu.net>
55536
55537         Use sigaction module rather than signal().
55538         * modules/c-stack (Depends-on): Add sigaction.
55539         * modules/fatal-signal (Depends-on): Likewise.
55540         * modules/nanosleep (Depends-on): Likewise.
55541         * modules/sigprocmask (Files): Add sig-handler.h.
55542         * modules/sigaction (Files): Likewise.
55543         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55544         Eggert.
55545         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55546         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55547         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55548         (init_fatal_signals): Likewise.
55549         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55550         (siginterrupt): Delete fallback.
55551         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55552         instead.
55553         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55554         siginterrupt.
55555
55556         New module sigaction, for mingw.
55557         * modules/sigaction: New module...
55558         * modules/sigaction-tests: ...and its test.
55559         * m4/sigaction.m4: New file.
55560         * lib/sigaction.c: Likewise.
55561         * tests/test-sigaction.c: Likewise.
55562         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55563         * modules/signal (Makefile.am): Likewise.
55564         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55565         needed.
55566         * doc/posix-headers/signal.texi (signal.h): Mention provided
55567         types.
55568         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55569         that sigaction is preferable.
55570         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55571         module.
55572         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55573         sigaction.
55574
55575         Improve robustness of sigprocmask by overriding signal.
55576         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55577         is in use.
55578         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55579         (SIGKILL, SIGSTOP): Provide fallbacks.
55580         (rpl_signal): Implement.
55581         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55582         signal can be called inside handlers.
55583
55584         Fix nanosleep module on mingw.
55585         * modules/nanosleep (Depends-on): Add sys_select.
55586         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55587
55588         Fix licensing of sigprocmask.
55589         * modules/raise (License): Relicense as LGPL.
55590
55591 2008-06-21  Bruno Haible  <bruno@clisp.org>
55592
55593         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55594         result if it contains question marks.
55595         Reported by Michael Geng <linux@michaelgeng.de>.
55596
55597 2008-06-19  Bruno Haible  <bruno@clisp.org>
55598
55599         Fix CVS-ism.
55600         * doc/gnulib.texi: Include updated-stamp.texi.
55601         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
55602         (updated-stamp.texi): New rule.
55603         (gnulib.info): Depend on it.
55604         * doc/.gitignore: Add updated-stamp.texi.
55605         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
55606
55607 2008-06-19  Bruno Haible  <bruno@clisp.org>
55608
55609         * doc/Makefile (gnulib.info): Update and simplify dependencies.
55610         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55611
55612 2008-06-19  Eric Blake  <ebb9@byu.net>
55613
55614         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
55615         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
55616         Reported by Stepan Kasal.
55617
55618 2008-06-18  Bruno Haible  <bruno@clisp.org>
55619
55620         * lib/fatal-signal.c (init_fatal_signals): Add comment.
55621         Reported by Eric Blake.
55622
55623 2008-06-18  Eric Blake  <ebb9@byu.net>
55624
55625         Work around cygwin 1.5.25 strsignal bug.
55626         * tests/test-strsignal.c: Allow for const char *.
55627         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
55628
55629 2008-06-18  Simon Josefsson  <simon@josefsson.org>
55630
55631         * users.txt: Update URL to article and add author/date
55632         information.
55633
55634 2008-06-17  Bruno Haible  <bruno@clisp.org>
55635
55636         New macro gl_DISABLE_THREADS.
55637         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
55638         if the user did not pass --enable-threads or --disable-threads option.
55639         (gl_DISABLE_THREADS): New macro.
55640         Reported by Eric Blake <ebb9@byu.net>.
55641
55642 2008-06-17  Bruno Haible  <bruno@clisp.org>
55643
55644         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55645         when the macro ignores it.
55646         Based on a patch by Eric Blake <ebb9@byu.net>.
55647
55648 2008-06-17  Bruno Haible  <bruno@clisp.org>
55649
55650         * modules/tls (License): Change to LGPLv2+.
55651         Reported by Eric Blake.
55652
55653 2008-06-17  Eric Blake  <ebb9@byu.net>
55654
55655         Simplify c-stack prerequisites.
55656         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55657         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55658         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55659         check.
55660         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55661         <sys/resource.h>.
55662
55663         Move c-stack test into testsuite.
55664         * modules/c-stack-tests: New file.
55665         * lib/c-stack.c [DEBUG]: Move test program...
55666         * tests/test-c-stack.c: ...into this new file.  Skip rather than
55667         fail test if sigaltstack is lacking.
55668         * tests/test-c-stack.sh: New driver file.
55669
55670 2008-06-16  Eric Blake  <ebb9@byu.net>
55671
55672         Use raise module consistently.
55673         * modules/fatal-signal (Depends-on): Add raise.
55674         * modules/sigprocmask (Depends-on): Likewise.
55675         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
55676         * lib/sigprocmask.c (sigprocmask): Likewise.
55677         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55678         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
55679
55680         Fix compliance bug in sigpending.
55681         * lib/sigprocmask.c (sigpending): Return pending array via
55682         parameter, not return value.
55683
55684 2008-06-14  Eric Blake  <ebb9@byu.net>
55685
55686         Improve obstack-printf test code.
55687         * tests/test-obstack-printf.c (test_function): Fix comment, and
55688         simplify usage of obstack_* in macros.  Add a test for coverage.
55689         Reported by Bruno Haible.
55690
55691 2008-06-14  Bruno Haible  <bruno@clisp.org>
55692
55693         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
55694         array size as a constant, not as a const variable.
55695         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
55696         AC_USE_SYSTEM_EXTENSIONS.
55697         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
55698         Test whether the obstack_printf function actually exists.
55699         * modules/obstack-printf (Depends-on): Add extensions.
55700         (Include): Remove obstack.h.
55701         * modules/obstack-printf-posix (Depends-on): Add extensions.
55702         (Include): Remove obstack.h.
55703
55704 2008-06-13  Eric Blake  <ebb9@byu.net>
55705
55706         Add obstack-printf and obstack-printf-posix modules.
55707         * modules/obstack-printf: New file.
55708         * modules/obstack-printf-posix: Likewise.
55709         * MODULES.html.sh (Misc): Mention them.
55710         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
55711         Likewise.
55712         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
55713         Likewise.
55714         * modules/stdio (Makefile.am): Accomodate new modules.
55715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55716         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
55717         Declare.
55718         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
55719         functions.
55720         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
55721         (gl_REPLACE_OBSTACK_PRINTF): New macros
55722         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
55723         * tests/test-obstack-printf.c: New file.
55724         * modules/obstack-printf-tests: Likewise.
55725         * modules/obstack-printf-posix-tests: Likewise.
55726
55727 2008-06-11  Bruno Haible  <bruno@clisp.org>
55728
55729         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
55730         * lib/open.c: Include errno.h.
55731         (open): Fail when attempting to write to a file that has a trailing
55732         slash.
55733         * tests/test-open.c (main): Test against trailing slash bug.
55734         * doc/posix-functions/open.texi: Mention the trailing slash bug.
55735
55736 2008-06-10  Bruno Haible  <bruno@clisp.org>
55737
55738         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
55739         for $? to work inside the trap command, with various /bin/sh-s.
55740         * tests/test-vc-list-files-cvs.sh: Likewise.
55741
55742 2008-06-10  Bruno Haible  <bruno@clisp.org>
55743
55744         * lib/acl-internal.h: Don't include gettext.h here.
55745         * lib/set-mode-acl.c: Include gettext.h here.
55746         * lib/copy-acl.c: Likewise.
55747
55748 2008-06-10  Bruno Haible  <bruno@clisp.org>
55749
55750         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
55751         * lib/wait-process.c (wait_subprocess): Likewise.
55752         * lib/execute.h (execute): Add termsigp argument.
55753         * lib/execute.c (execute): Likewise.
55754         * lib/csharpcomp.c (compile_csharp_using_pnet,
55755         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
55756         * lib/csharpexec.c (execute_csharp_using_pnet,
55757         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
55758         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
55759         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
55760         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
55761         is_jikes_present): Update.
55762         * lib/javaexec.c (execute_java_class): Update.
55763         * lib/javaversion.c (execute_and_read_line): Update.
55764         * NEWS: Document the changes.
55765         Reported by Eric Blake.
55766
55767 2008-06-10  Eric Blake  <ebb9@byu.net>
55768
55769         Add missing include.
55770         * tests/test-strstr.c (includes): Add <signal.h>.
55771         * tests/test-strcasestr.c (includes): Likewise.
55772         * tests/test-memmem.c (includes): Likewise.
55773
55774 2008-06-10  Bruno Haible  <bruno@clisp.org>
55775
55776         * lib/wait-process.c (wait_subprocess): Add an assertion.
55777
55778 2008-06-10  Bruno Haible  <bruno@clisp.org>
55779
55780         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
55781
55782 2008-06-10  Bruno Haible  <bruno@clisp.org>
55783
55784         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
55785         using alarm().
55786         * tests/test-strcasestr.c (main): Likewise.
55787         * tests/test-strstr.c (main): Likewise.
55788
55789 2008-06-09  Bruno Haible  <bruno@clisp.org>
55790
55791         Work around the Solaris 10 ACE ACLs ABI change.
55792         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
55793         declare if ACL_NO_TRIVIAL is present.
55794         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
55795         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
55796         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
55797         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
55798         define if ACL_NO_TRIVIAL is present.
55799         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
55800         and use the current ABI.
55801         (file_has_acl): Use same #if condition as elsewhere.
55802         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
55803         in use, and use the current ABI.
55804         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
55805         Reported by Jim Meyering.
55806
55807 2008-06-09  Eric Blake  <ebb9@byu.net>
55808
55809         Work around environments that (stupidly) ignore SIGALRM.
55810         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
55811         before using alarm().
55812         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55813         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55814         Reported by Ian Beckwith <ianb@erislabs.net>.
55815
55816         Produce autobuild blurb earlier in log.
55817         * modules/autobuild (configure.ac-early): Move AB_INIT here.
55818
55819 2008-06-09  Jim Meyering  <meyering@redhat.com>
55820         and Ondřej Vašík  <ovasik@redhat.com>
55821
55822         utimens.c: correct kernel bug work-around
55823         Ondřej Vašík found that the invalid return value of 280 indicates
55824         failure, not success, and the kernel bug we're trying to work
55825         around affects not just the utimensat call, but also the fallback
55826         futimens call.
55827         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
55828         not success.
55829         [HAVE_FUTIMENS]: Use the same work-around, here.
55830
55831 2008-06-09  Jim Meyering  <meyering@redhat.com>
55832
55833         add more guards around definition of ACE_-related code
55834         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
55835         ALLOW and ACE_OWNER are also defined.
55836
55837 2008-06-08  Bruno Haible  <bruno@clisp.org>
55838
55839         * lib/acl-internal.h: Add me as co-author.
55840         * lib/file-has-acl.c: Likewise.
55841         * lib/set-mode-acl.c: Likewise.
55842         * lib/copy-acl.c: Likewise.
55843
55844 2008-06-08  Bruno Haible  <bruno@clisp.org>
55845
55846         Add support for AIX ACLs.
55847         * lib/acl-internal.h (acl_nontrivial): New declaration.
55848         * lib/file-has-acl.c (acl_nontrivial): New function.
55849         (file_has_acl): Add implementation using AIX 4 ACL API.
55850         * lib/set-mode-acl.c (qset_acl): Likewise.
55851         * lib/copy-acl.c (qcopy_acl): Likewise.
55852
55853 2008-06-08  Bruno Haible  <bruno@clisp.org>
55854
55855         Add support for HP-UX ACLs.
55856         * lib/acl-internal.h (acl_nontrivial): New declaration.
55857         * lib/file-has-acl.c (acl_nontrivial): New function.
55858         (file_has_acl): Add implementation using HP-UX 11 ACL API.
55859         * lib/set-mode-acl.c (qset_acl): Likewise.
55860         * lib/copy-acl.c (qcopy_acl): Likewise.
55861
55862 2008-06-08  Bruno Haible  <bruno@clisp.org>
55863
55864         Add support for Cygwin ACLs.
55865         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
55866         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
55867         the chmod_or_fchmod call.
55868         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
55869
55870 2008-06-08  Bruno Haible  <bruno@clisp.org>
55871
55872         Fix bug with setuid modes in Solaris 10+ code.
55873         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
55874         succeeded, when the mode contains some special bits.
55875
55876 2008-06-08  Bruno Haible  <bruno@clisp.org>
55877
55878         Add support for Solaris 7..10 ACLs.
55879         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
55880         declarations.
55881         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
55882         functions.
55883         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
55884         * lib/set-mode-acl.c (qset_acl): Likewise.
55885         * lib/copy-acl.c (qcopy_acl): Likewise.
55886
55887 2008-06-08  Bruno Haible  <bruno@clisp.org>
55888
55889         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
55890         declaration.
55891         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
55892         (acl_access_nontrivial): Remove MacOS X case.
55893         (file_has_acl): Use acl_extended_nontrivial.
55894         * lib/copy-acl.c (qcopy_acl): Likewise.
55895
55896 2008-06-08  Bruno Haible  <bruno@clisp.org>
55897
55898         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
55899
55900 2008-06-08  Jim Meyering  <meyering@redhat.com>
55901
55902         * modules/acl (Maintainer): Add Bruno Haible.
55903
55904 2008-06-07  Bruno Haible  <bruno@clisp.org>
55905
55906         Improve support for Tru64 ACLs.
55907         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
55908         ACL on OSF/1.
55909
55910 2008-06-07  Bruno Haible  <bruno@clisp.org>
55911
55912         Add support for MacOS X ACLs.
55913         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
55914         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
55915         * lib/set-mode-acl.c (qset_acl): Likewise.
55916         * lib/copy-acl.c (qcopy_acl): Likewise.
55917
55918 2008-06-07  Bruno Haible  <bruno@clisp.org>
55919
55920         Fix memory leak introduced on 2008-05-22.
55921         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
55922         use.
55923
55924 2008-06-07  Bruno Haible  <bruno@clisp.org>
55925
55926         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
55927         to construct an empty ACL.
55928
55929 2008-06-07  Bruno Haible  <bruno@clisp.org>
55930
55931         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
55932         precisely.
55933         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
55934
55935 2008-06-07  Bruno Haible  <bruno@clisp.org>
55936
55937         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
55938         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
55939
55940 2008-06-07  Bruno Haible  <bruno@clisp.org>
55941
55942         * doc/posix-functions/_setjmp.texi: Explain the use of this function
55943         regardless of POSIX.
55944         * doc/posix-functions/_longjmp.texi: Likewise.
55945         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
55946         SystemV platform in this case.
55947
55948 2008-06-06  Eric Blake  <ebb9@byu.net>
55949
55950         Document abort() bugs.
55951         * doc/posix-functions/abort.texi (abort): Mention anomalies.
55952
55953         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
55954         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
55955         sigsetjmp.
55956         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
55957         siglongjmp, but only as a macro.
55958         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
55959         is obsolete.
55960         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
55961
55962         Tweak documentation to cover cygwin argz bugs.
55963         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
55964         argz bug fix; no code change needed since no cygwin releases
55965         occurred between the last fix and the bug being tested.
55966         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
55967         module and recently fixed cygwin bugs.
55968         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
55969         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
55970         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
55971         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
55972         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
55973         Likewise.
55974         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
55975         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
55976         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
55977         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
55978         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
55979         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
55980         Likewise.
55981
55982         Avoid gcc warning on cygwin.
55983         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
55984         !ACL_NO_TRIVIAL]: Avoid unused variable.
55985
55986 2008-06-05  Eric Blake  <ebb9@byu.net>
55987
55988         Be tolerant of UNKNOWN version in gnulib-tool test dir.
55989         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
55990         git-version-gen fails to come up with a version.
55991         Reported by Simon Josefsson.
55992
55993 2008-06-05  Jim Meyering  <meyering@redhat.com>
55994             Paul Eggert  <eggert@cs.ucla.edu>
55995
55996         utimens.c: work around a probable Linux kernel bug
55997         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
55998         appears to be a kernel bug that causes utimensat to return 280
55999         instead of 0, indicating success.
56000
56001 2008-06-04  Bruno Haible  <bruno@clisp.org>
56002
56003         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
56004         2008-06-01 commit.
56005
56006 2008-06-04  Bruno Haible  <bruno@clisp.org>
56007
56008         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56009         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56010         (file_has_acl): Use it. Save errno afterwards.
56011         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56012
56013 2008-06-03  Bruno Haible  <bruno@clisp.org>
56014
56015         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56016         draft code. Simplify #ifs.
56017         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56018         Put Solaris code after POSIX-draft code. Fix comments regarding
56019         Solaris 10, HP-UX. Mention Cygwin.
56020         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56021
56022 2008-06-03  Eric Blake  <ebb9@byu.net>
56023
56024         Provide fallback for older kernels.
56025         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56026         Provide runtime fallback if kernel lacks support.
56027         Reported by Mike Frysinger.
56028
56029 2008-06-02  Bruno Haible  <bruno@clisp.org>
56030
56031         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56032         it exists.
56033
56034 2008-06-02  Bruno Haible  <bruno@clisp.org>
56035
56036         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56037         * lib/copy-acl.c (qcopy_acl): Update comment.
56038
56039 2008-06-02  Bruno Haible  <bruno@clisp.org>
56040
56041         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56042         like ACL APIs.
56043
56044 2008-06-02  Bruno Haible  <bruno@clisp.org>
56045
56046         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56047         * tests/test-set-mode-acl.sh: Likewise.
56048         * tests/test-copy-acl.sh: Likewise.
56049         * tests/test-copy-file.sh: Likewise.
56050
56051 2008-06-02  Bruno Haible  <bruno@clisp.org>
56052
56053         * tests/test-file-has-acl.sh: Remove unused code.
56054
56055 2008-06-01  Bruno Haible  <bruno@clisp.org>
56056
56057         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56058         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56059         messages.
56060         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56061
56062 2008-06-01  Bruno Haible  <bruno@clisp.org>
56063
56064         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
56065         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
56066         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
56067         APIs.
56068         * modules/acl-tests (configure.ac): Remove tests now contained in
56069         m4/acl.m4.
56070
56071 2008-06-02  Jim Meyering  <meyering@redhat.com>
56072
56073         announce-gen: use a better key-server host name
56074         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
56075         it may be more consistently reliable.  Suggested by Werner Koch
56076         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
56077
56078 2008-06-01  Bruno Haible  <bruno@clisp.org>
56079
56080         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
56081         Reported by Voroskoi Andras <voroskoi@gmail.com>.
56082
56083 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
56084
56085         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
56086
56087 2008-06-01  Bruno Haible  <bruno@clisp.org>
56088
56089         New ACL tests.
56090         * tests/test-file-has-acl.sh: New file.
56091         * tests/test-file-has-acl.c: New file.
56092         * tests/test-set-mode-acl.sh: New file.
56093         * tests/test-set-mode-acl.c: New file.
56094         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
56095         * tests/test-copy-acl.c: New file.
56096         * modules/acl-tests: New file, based on modules/copy-file-tests.
56097         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
56098         (Depends-on): Add acl-tests.
56099         (configure.ac): Remove checks.
56100         (Makefile.am): Don't create test-sameacls program here any more.
56101
56102 2008-06-01  Bruno Haible  <bruno@clisp.org>
56103
56104         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
56105         * tests/test-sameacls.c: Include progname.h.
56106         (main): Invoke set_program_name. Portability fixes for MacOS X,
56107         Solaris, HP-UX.
56108
56109 2008-06-01  Bruno Haible  <bruno@clisp.org>
56110
56111         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
56112         function.
56113         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
56114
56115 2008-06-01  Bruno Haible  <bruno@clisp.org>
56116
56117         * modules/rpmatch (Depends-on): Add strdup.
56118
56119 2008-06-01  Bruno Haible  <bruno@clisp.org>
56120
56121         * lib/pipe.c: Include unistd-safer.h.
56122         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
56123         * modules/pipe (Depends-on): Add unistd-safer.
56124
56125 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56126
56127         * modules/autobuild (configure.ac): Call AB_INIT.
56128
56129 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56130
56131         * tests/test-getaddrinfo.c: Don't print debug messages by default.
56132         Suggested by Bruno Haible <bruno@clisp.org>.
56133
56134 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56135
56136         * tests/test-base64.c: Cast size_t to unsigned long when invoking
56137         printf.  Use %lu instead of %d.  Reported by Bruno Haible
56138         <bruno@clisp.org>.
56139
56140 2008-05-29  Eric Blake  <ebb9@byu.net>
56141
56142         Prefer new POSIX 200x interfaces over futimesat.
56143         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
56144         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
56145         when available.
56146         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
56147
56148 2008-05-28  Bruno Haible  <bruno@clisp.org>
56149
56150         * modules/stpcpy (License): Change to LGPLv2+.
56151         Requested by David Lutterkort <dlutter@redhat.com>.
56152
56153 2008-05-27  Bruno Haible  <bruno@clisp.org>
56154
56155         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
56156         current mingw.
56157         Reported by Jose E. Marchesi <jemarch@gnu.org>.
56158
56159 2008-05-27  Bruno Haible  <bruno@clisp.org>
56160
56161         * modules/iconv_open (Link): New section, from module 'iconv'.
56162         * modules/striconv (Link): Likewise.
56163         * modules/striconveh (Link): Likewise.
56164         * modules/xstriconv (Link): Likewise.
56165         * modules/unicodeio (Link): Likewise.
56166         * modules/propername (Link): Likewise.
56167         Reported by Jim Meyering.
56168
56169 2008-05-26  Jim Meyering  <meyering@redhat.com>
56170
56171         sha256: do not artificially restrict buffer length to be < 2^32
56172         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
56173         uint32_t to size_t.
56174         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
56175         to match.
56176
56177         avoid unaligned access errors, e.g., on sparc
56178         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
56179         direct access through a possibly-unaligned uint64* pointer.
56180         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
56181         direct access through a possibly-unaligned uint32* pointer.
56182         Prompted by this patch from Tom "spot" Callaway:
56183         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
56184
56185         sha512.c: fix typo in comment
56186         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
56187
56188 2008-05-25  Bruno Haible  <bruno@clisp.org>
56189
56190         * lib/set-mode-acl.c: Renamed from lib/acl.c.
56191         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
56192         (Makefile.am): Update lib_SOURCES.
56193
56194 2008-05-25  Bruno Haible  <bruno@clisp.org>
56195
56196         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
56197
56198 2008-05-25  Jim Meyering  <meyering@redhat.com>
56199
56200         useless-if-before-free: freed expr may have white-space differences
56201         * build-aux/useless-if-before-free: Recognize cases in which the
56202         freed expression differs from the tested one in embedded white
56203         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
56204         $1 was used, so we can't make any regexp shy.  Improved tests now
56205         detect this.
56206
56207         useless-if-before-free: accept white space in the expression.
56208         * build-aux/useless-if-before-free: For now, any white space
56209         in the expression must be identical in the free argument.
56210
56211         useless-if-before-free: efficiency tweak
56212         * build-aux/useless-if-before-free: Make the expression-matching
56213         regexp "shy".
56214         Make the *outer* regexp shy, not the expr-matching one.
56215
56216         update code-in-comment to accept cast of free arg
56217         * build-aux/useless-if-before-free: Update regexp.
56218
56219 2008-05-25  Bruno Haible  <bruno@clisp.org>
56220
56221         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
56222         * modules/copy-file-tests (Files, Makefile.am): Update.
56223         * tests/test-copy-file.c (func_test_copy): Update.
56224
56225 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
56226
56227         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
56228
56229 2008-05-23  Bruno Haible  <bruno@clisp.org>
56230
56231         Improve support for ACLs on OSF/1.
56232         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
56233         Remove fallback for unknown flavors of ACLs.
56234
56235 2008-05-22  Bruno Haible  <bruno@clisp.org>
56236
56237         Add support for ACLs on OSF/1.
56238         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
56239         replacements.
56240         (acl_free_text): New macro fallback.
56241         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
56242         acl_free.
56243         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
56244         acl_free_text function. Require AC_C_INLINE.
56245
56246 2008-05-22  Bruno Haible  <bruno@clisp.org>
56247
56248         Make copy_acl work on MacOS X 10.5.
56249         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
56250         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
56251         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
56252         If MODE_INSIDE_ACL, don't assume that every system has the same text
56253         representation for ACLs as FreeBSD.
56254         * lib/copy-acl.c (copy_acl): Add support for platforms with
56255         !MODE_INSIDE_ACL.
56256         * lib/file-has-acl.c (file_has_acl): Likewise.
56257         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
56258         FreeBSD, MacOS X, or IRIX, respectively.
56259
56260 2008-05-22  Bruno Haible  <bruno@clisp.org>
56261
56262         * lib/acl.h: Don't include <sys/acl.h>.
56263         (GETACLCNT): Move fallback to lib/acl-internal.h.
56264         * lib/acl-internal.h: Include <sys/acl.h> here.
56265         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
56266
56267 2008-05-22  Bruno Haible  <bruno@clisp.org>
56268
56269         Split off copy_acl function to separate file.
56270         * lib/copy-acl.c: New file, extracted from lib/acl.c.
56271         * lib/acl.c (copy_acl): Moved function to separate file.
56272         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
56273         * modules/acl (Files): Add lib/copy-acl.c.
56274         (Makefiles.am): Augment lib_SOURCES.
56275
56276 2008-05-22  Bruno Haible  <bruno@clisp.org>
56277
56278         * modules/copy-file-tests: New file.
56279         * tests/test-copy-file.sh: New file.
56280         * tests/test-copy-file.c: New file.
56281         * tests/test-copy-file-sameacls.c: New file.
56282
56283 2008-05-22  Eric Blake  <ebb9@byu.net>
56284
56285         Avoid gcc warning.
56286         * tests/test-memcmp.c (main): Pass NULL indirectly.
56287
56288 2008-05-21  Bruno Haible  <bruno@clisp.org>
56289
56290         Add reference doc about ACLs.
56291         * doc/acl-resources.txt: New file.
56292         * doc/acl-cygwin.txt: New file.
56293
56294 2008-05-21  Bruno Haible  <bruno@clisp.org>
56295
56296         Avoid one more warning from gcc.
56297         * lib/vasnprintf.c (IF_LINT): Update comments.
56298         (VASNPRINTF): Use it also for the 'prefix' array initializer.
56299
56300 2008-05-21  Jim Meyering  <meyering@redhat.com>
56301
56302         avoid a warning from gcc
56303         * lib/vasnprintf.c (IF_LINT): Define.
56304         (scale10_round_decimal_long_double):
56305         Use it to avoid a "may be used uninitialized" warning.
56306         (scale10_round_decimal_double): Likewise.
56307
56308 2008-05-21  Simon Josefsson  <simon@josefsson.org>
56309
56310         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
56311         declared.
56312
56313 2008-05-20  Bruno Haible  <bruno@clisp.org>
56314
56315         * tests/test-memcmp.c (main): Test also the sign of the result. Test
56316         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
56317
56318 2008-05-20  Simon Josefsson  <simon@josefsson.org>
56319
56320         * modules/memcmp-tests: New file.
56321         * tests/test-memcmp.c: New file.
56322
56323 2008-05-19  Bruno Haible  <bruno@clisp.org>
56324
56325         * modules/propername (Notice, configure.ac): Put quoted "..." into
56326         --keyword option.
56327         * lib/propername.h: Update comments accordingly.
56328         Reported by Eric Blake.
56329
56330 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
56331
56332         * modules/getpass-gnu (Depends-on): Add fseeko.
56333
56334 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56335
56336         * modules/base64-tests: New file.
56337
56338 2008-05-19  Bo Borgerson <gigabo@gmail.com>
56339
56340         * lib/base64.c (base64_decode_ctx): If a decode context structure
56341         was passed in use it to ignore newlines.  If a context structure
56342         was _not_ passed in, continue to treat newlines as garbage (this
56343         is the historical behavior).  Formerly base64_decode.
56344         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56345         takes a decode context structure.
56346         * lib/base64.h (base64_decode): Macro for four-argument calls.
56347         (base64_decode_alloc): Likewise.
56348         * lib/base64.c (base64_decode_ctx): If a decode context structure
56349         was passed in use it to ignore newlines.  If a context structure
56350         was _not_ passed in, continue to treat newlines as garbage (this
56351         is the historical behavior).  Formerly base64_decode.
56352         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56353         takes a decode context structure.
56354         * lib/base64.h (base64_decode): Macro for four-argument calls.
56355         (base64_decode_alloc): Likewise.
56356
56357 2008-05-19  Jim Meyering  <meyering@redhat.com>
56358
56359         avoid a warning from gcc
56360         * lib/trim.c (IF_LINT): Define.
56361         (trim2): Use it to avoid a "may be used uninitialized" warning.
56362
56363         Fix doc typo.
56364         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
56365
56366 2008-05-19  Bruno Haible  <bruno@clisp.org>
56367
56368         * doc/glibc-functions/getpass.texi: Document limits of other
56369         implementations.
56370
56371 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56372             Bruno Haible <bruno@clisp.org>
56373
56374         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
56375
56376 2008-05-18  Bruno Haible  <bruno@clisp.org>
56377
56378         * modules/propername: New file, from GNU gettext.
56379         * lib/propername.h: New file, from GNU gettext.
56380         * lib/propername.c: New file, from GNU gettext.
56381         * MODULES.html.sh (Internationalization functions): Add propername.
56382
56383 2008-05-16  Jim Meyering  <meyering@redhat.com>
56384             Bruno Haible  <bruno@clisp.org>
56385
56386         Avoid some warnings from "gcc -Wshadow".
56387         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
56388
56389 2008-05-15  Eric Blake  <ebb9@byu.net>
56390
56391         Extend previous patch to cygwin 1.7.0.
56392         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
56393         fast implementation in cygwin >= 1.7.0.
56394         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56395         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56396
56397 2008-05-15  Bruno Haible  <bruno@clisp.org>
56398
56399         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
56400         implementation in glibc >= 2.9.
56401         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56402         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56403
56404 2008-05-15  Bruno Haible  <bruno@clisp.org>
56405
56406         * MODULES.html.sh (Internationalization functions): Remove linebreak.
56407         (Unicode string functions): Add unilbrk/*.
56408         Reported by Karl Berry.
56409
56410 2008-05-15  Eric Blake  <ebb9@byu.net>
56411
56412         Fix violation of <stdbool.h> replacement in regex.
56413         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
56414         * lib/regexec.c (re_search_internal): Likewise.
56415         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
56416
56417 2008-05-15  Jim Meyering  <meyering@redhat.com>
56418
56419         avoid distracting test output when git or cvs is not found
56420         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
56421         * tests/test-vc-list-files-git.sh: Likewise.
56422
56423 2008-05-15  Eric Blake  <ebb9@byu.net>
56424
56425         Glibc finally accepted the memmem speedup code, bugzilla #5514.
56426         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
56427         glibc version.
56428         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
56429         * doc/posix-functions/strstr.texi (strstr): Likewise.
56430         * lib/str-two-way.h (MAX): Sychronize with glibc.
56431
56432 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56433
56434         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56435         opr.ctx_type.
56436         (calc_first): Initialize constraint field.
56437         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56438         Fix grammar.
56439         (duplicate_node): Merge constraint field for all node types.
56440         (calc_eclosure_iter): Look at constraint field for all node types.
56441         * lib/regex_internal.c (create_cd_newstate): Don't look at
56442         opr.ctx_type.
56443
56444 2008-05-14  Bruno Haible  <bruno@clisp.org>
56445
56446         Help GCC to do better code generation.
56447         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56448         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56449         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56450         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56451         Declare with attribute 'malloc' if supported.
56452
56453 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56454
56455         use "echo STR|wc -c" rather than unportable "expr length STR"
56456         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56457         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56458
56459 2008-05-14  Jim Meyering  <meyering@redhat.com>
56460
56461         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56462         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56463         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56464         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56465         via Collin Lasse.
56466
56467 2008-05-14  Eric Blake  <ebb9@byu.net>
56468
56469         Avoid quadratic growth in gl_LIBSOURCES.
56470         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56471         Suggested by Bruno Haible.
56472
56473         Test xmemdup0.
56474         * modules/xmemdup0-tests: New file.
56475         * tests/test-xmemdup0.c: Likewise.
56476
56477 2008-05-13  Eric Blake  <ebb9@byu.net>
56478
56479         Split xmemdup0 into its own module.
56480         * modules/xmemdup0: New file.
56481         * lib/xmemdup0.h: Likewise.
56482         * lib/xmemdup0.c: Likewise.
56483         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56484         * lib/xalloc.h (xmemdup0): Remove.
56485         * lib/xmalloc.c (xmemdup0): Likewise.
56486
56487 2008-05-13  Eric Blake  <ebb9@byu.net>
56488             Bruno Haible  <bruno@clisp.org>
56489
56490         Reduce number of forks required during autoconf.
56491         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56492         and gl_LIBSOURCES_DIR.
56493         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56494         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56495         m4_syscmd per file.
56496         <m4_foreach_w>: Move...
56497         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56498
56499 2008-05-13  Eric Blake  <ebb9@byu.net>
56500
56501         * gnulib-tool: Fix various comment typos.
56502
56503 2008-05-12  Bruno Haible  <bruno@clisp.org>
56504
56505         Tailor the linebreaking algorithm.
56506         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56507
56508 2008-05-12  Bruno Haible  <bruno@clisp.org>
56509
56510         Update to Unicode 5.0.0.
56511         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56512         LBP_JV, LBP_JT. Redistribute values.
56513         (unilbrk_table): Change size.
56514         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56515         Unicode TR#14 rev. 22.
56516         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56517         LBP_JV, LBP_JT. Redistribute values.
56518         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56519         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56520         Update.
56521         * lib/unilbrk/lbrkprop1.h: Regenerated.
56522         * lib/unilbrk/lbrkprop2.h: Regenerated.
56523         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56524         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56525         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56526         Likewise.
56527         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56528         Likewise.
56529         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56530         result.
56531         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56532         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56533         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56534         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56535         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56536         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56537
56538 2008-05-11  Bruno Haible  <bruno@clisp.org>
56539
56540         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56541
56542 2008-05-11  Bruno Haible  <bruno@clisp.org>
56543
56544         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56545         * modules/unilbrk/gen-lbrk: New file.
56546
56547 2008-05-11  Bruno Haible  <bruno@clisp.org>
56548
56549         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56550         * m4/sha512.m4 (gl_SHA512): Likewise.
56551
56552 2008-05-11  Jim Meyering  <meyering@redhat.com>
56553
56554         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56555         * modules/crypto/sha256: New file.
56556         * modules/crypto/sha512: Likewise.
56557         * lib/sha256.c: Likewise.
56558         * lib/sha256.h: Likewise.
56559         * lib/sha512.c: Likewise.
56560         * lib/sha512.h: Likewise.
56561         * lib/u64.h: Likewise.
56562         * m4/sha256.m4: Likewise.
56563         * m4/sha512.m4: Likewise.
56564         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56565
56566 2008-05-10  Bruno Haible  <bruno@clisp.org>
56567
56568         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56569         (Input/Output <stdio.h>): Add xprintf.
56570         (Signal handling <signal.h>): Add strsignal.
56571         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56572         (Core language properties): Add func.
56573         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56574         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56575         strings.
56576         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56577         (Input/output): New section.
56578         (File system functions): Add openat-die, stat-macros.
56579         (Networking functions): Add sockets.
56580         (Unicode string functions): Add unictype/*.
56581         (Support for building libraries and executables): Add gperf.
56582         (Support for building documentation): Add agpl-3.0.
56583         (Misc): Add nocrash.
56584
56585 2008-05-10  Bruno Haible  <bruno@clisp.org>
56586
56587         * modules/unictype/gen-ctype: New file.
56588
56589 2008-05-10  Jim Meyering  <meyering@redhat.com>
56590
56591         Make chdir-safer.c more efficient on a system with no symlinks.
56592         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56593         also if ELOOP is zero.  Suggested by Bruno Haible.
56594
56595         Make chdir-safer.c slightly safer.
56596         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56597         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56598
56599         Avoid compile failure on systems without ELOOP (like mingw).
56600         * lib/chdir-safer.c (ELOOP): Define if not already defined.
56601         Reported by Bruno Haible.
56602
56603 2008-05-10  Bruno Haible  <bruno@clisp.org>
56604
56605         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
56606         (is_utf8_encoding): Use a case-insensitive comparison.
56607         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
56608         streq.
56609
56610 2008-05-10  Bruno Haible  <bruno@clisp.org>
56611
56612         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
56613         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
56614         * lib/unilbrk/ulc-common.h (iconv_string_length,
56615         iconv_string_keeping_offsets): Remove declarations.
56616         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
56617         Don't include <iconv.h>, streq.h, xsize.h.
56618         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
56619         conversion.
56620         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
56621         <iconv.h>, streq.h, xsize.h.
56622         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
56623         conversion.
56624         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
56625         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
56626         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
56627         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
56628
56629 2008-05-10  Bruno Haible  <bruno@clisp.org>
56630
56631         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
56632         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
56633
56634         * modules/unilbrk/u32-width-linebreaks-tests: New file.
56635         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
56636
56637         * modules/unilbrk/u16-width-linebreaks-tests: New file.
56638         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
56639
56640         * modules/unilbrk/u8-width-linebreaks-tests: New file.
56641         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56642
56643         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56644         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56645
56646         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56647         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56648
56649         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56650         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56651
56652         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56653         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56654
56655 2008-05-10  Bruno Haible  <bruno@clisp.org>
56656
56657         Split up 'linebreak' module.
56658         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56659         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56660         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56661         modifications.
56662         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
56663         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
56664         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
56665         lib/linebreak.c.
56666         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
56667         lib/linebreak.c.
56668         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
56669         lib/linebreak.c.
56670         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
56671         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
56672         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
56673         lib/linebreak.c.
56674         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
56675         lib/linebreak.c.
56676         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
56677         lib/linebreak.c.
56678         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
56679         lib/linebreak.c.
56680         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
56681         lib/linebreak.c.
56682         * modules/unilbrk/base: New file.
56683         * modules/unilbrk/tables: New file.
56684         * modules/unilbrk/u8-possible-linebreaks: New file.
56685         * modules/unilbrk/u16-possible-linebreaks: New file.
56686         * modules/unilbrk/u32-possible-linebreaks: New file.
56687         * modules/unilbrk/ulc-common: New file.
56688         * modules/unilbrk/ulc-possible-linebreaks: New file.
56689         * modules/unilbrk/u8-width-linebreaks: New file.
56690         * modules/unilbrk/u16-width-linebreaks: New file.
56691         * modules/unilbrk/u32-width-linebreaks: New file.
56692         * modules/unilbrk/ulc-width-linebreaks: New file.
56693         * lib/linebreak.h: Remove file.
56694         * lib/linebreak.c: Remove file.
56695         * m4/linebreak.m4: Remove file.
56696         * modules/linebreak: Remove file.
56697         * NEWS: Mention the changes.
56698
56699 2008-05-09  Eric Blake  <ebb9@byu.net>
56700
56701         Add xmemdup0.
56702         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
56703         implementation.
56704         * lib/xmalloc.c (xmemdup0): New C implementation.
56705
56706 2008-05-08  Bruno Haible  <bruno@clisp.org>
56707
56708         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
56709
56710 2008-05-07  Eric Blake  <ebb9@byu.net>
56711
56712         Support cross-compilation of <wctype.h>.
56713         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
56714         AC_CACHE_CHECK.
56715
56716 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
56717
56718         * build-aux/vc-list-files: Add support for bzr.
56719
56720 2008-05-03  Jim Meyering  <meyering@redhat.com>
56721
56722         avoid failed assertion with tight malloc
56723         * tests/test-getndelim2.c: Correct an off-by-one assertion.
56724
56725 2008-05-03  Simon Josefsson  <simon@josefsson.org>
56726
56727         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
56728         are needed from arpa/inet.h.
56729         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
56730         Reported by Bruno Haible.
56731
56732 2008-05-02  Jim Meyering  <meyering@redhat.com>
56733
56734         avoid compilation error on FreeBSD 6
56735         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
56736
56737 2008-05-01  Jim Meyering  <meyering@redhat.com>
56738
56739         useless-if-before-free: correct --help's exit status description
56740         * build-aux/useless-if-before-free (usage): Like grep, exit 0
56741         for one or more matches, etc.  Reported by Bruno Haible.
56742
56743         vc-list-files: make the stand-alone gnulib test work
56744         * modules/vc-list-files-tests (configure.ac):
56745         Define and AC_SUBST abs_aux_dir.
56746         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
56747         $(abs_top_srcdir) to each script and having each of them
56748         duplicate the work of setting PATH, set PATH here, using
56749         the new variable, abs_aux_dir instead.
56750         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
56751         * tests/test-vc-list-files-git.sh: Likewise.
56752         Reported by Bruno Haible.
56753
56754 2008-05-01  Bruno Haible  <bruno@clisp.org>
56755
56756         * lib/getndelim2.c (getndelim2): Fix newsize computation during
56757         reallocation. Rename 'done' to 'found_delimiter'.
56758
56759 2008-05-01  Jim Meyering  <meyering@redhat.com>
56760
56761         vc-list-files: accommodate /bin/sh like the one from Solaris 10
56762         * build-aux/vc-list-files: Use `...`, not $(...).
56763
56764 2008-04-30  Jim Meyering  <meyering@redhat.com>
56765
56766         add tests for vc-list-files
56767         * modules/vc-list-files-tests: New module.
56768         * tests/test-vc-list-files-cvs.sh: New file.
56769         * tests/test-vc-list-files-git.sh: New file.
56770
56771         avoid a warning from gcc
56772         * lib/getndelim2.c (IF_LINT): Define.
56773         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
56774
56775         vc-list-files: work properly with build-aux/cvsu, too
56776         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
56777         to all cvs-based clauses.
56778
56779         vc-list-files: work properly in the CVS+awk case, too
56780         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
56781
56782         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
56783         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
56784         take more than one file argument, so .  Add quotes, just in case $dir
56785         ever contains a shell meta-character.  Prompted by Soren Hansen in
56786         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
56787
56788 2008-04-29  Eric Blake  <ebb9@byu.net>
56789
56790         Optimize getndelim2 to use block operations when possible.
56791         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
56792         freadseek, and memchr2.
56793         * lib/getndelim2.c (getndelim2): Use them for block reads.
56794
56795 2008-04-29  Bruno Haible  <bruno@clisp.org>
56796
56797         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
56798         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56799         * modules/inet_ntop (Depends-on): Add extensions.
56800         * modules/inet_pton (Depends-on): Likewise.
56801         Reported by Simon Josefsson.
56802
56803 2008-04-29  Jim Meyering  <meyering@redhat.com>
56804
56805         When the is more than one match in a block, match all of them.
56806         * build-aux/useless-if-before-free: Iterate through each block
56807         until there are no more matches.
56808
56809         Fix broken useless-if-before-free script.
56810         * build-aux/useless-if-before-free: Fix typo: missing "?" after
56811         the expression to match cast of argument to free-like function.
56812
56813 2008-04-29  Eric Blake  <ebb9@byu.net>
56814
56815         Use new header.
56816         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
56817
56818 2008-04-29  Jim Meyering  <meyering@redhat.com>
56819
56820         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
56821         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
56822         by gnulib to exist and to declare e.g., inet_ntop.
56823         Don't include "inet_ntop.h", now removed.
56824
56825         * m4/arpa_inet_h.m4: Remove trailing blanks.
56826
56827 2008-04-29  Eric Blake  <ebb9@byu.net>
56828
56829         Silence valgrind on safe reads beyond potential array bounds.
56830         * lib/rawmemchr.valgrind: New file.
56831         * lib/strchrnul.valgrind: Likewise.
56832         * modules/rawmemchr (Files): Distribute new file.
56833         * modules/strchrnul (Files): Likewise.
56834         Suggested by Bruno Haible.
56835
56836 2008-04-29  Bruno Haible  <bruno@clisp.org>
56837
56838         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
56839         (inet_ntop, inet_pton): Change portability warning's wording.
56840         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
56841         Invoke gl_CHECK_NEXT_HEADERS.
56842         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
56843         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
56844         set ARPA_INET_H.
56845         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56846         * modules/arpa_inet (Description): No longer only for systems that
56847         lack it.
56848         (Depends-on): Add include_next.
56849         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56850         HAVE_ARPA_INET_H.
56851
56852 2008-04-29  Jim Meyering  <meyering@redhat.com>
56853
56854         * modules/mkdir (License): Re-license as LGPLv2+.
56855
56856 2008-04-29  Bruno Haible  <bruno@clisp.org>
56857
56858         * modules/rawmemchr (Maintainer): Set to Eric.
56859         * modules/strchrnul (Maintainer): Likewise.
56860
56861 2008-04-29  Simon Josefsson  <simon@josefsson.org>
56862
56863         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
56864         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
56865
56866         * modules/arpa_inet (arpa/inet.h): Use them.
56867
56868 2008-04-28  Eric Blake  <ebb9@byu.net>
56869
56870         Test getndelim2.
56871         * modules/getndelim2-tests: New file.
56872         * tests/test-getndelim2.c: Likewise.
56873         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
56874         stream.
56875         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
56876
56877         * MODULES.html.sh: Document new module.
56878
56879 2008-04-20  Bruno Haible  <bruno@clisp.org>
56880
56881         * lib/c-stack.c (die): Use raise.
56882         * modules/c-stack (Depends-on): Add raise.
56883
56884 2008-04-28  Bruno Haible  <bruno@clisp.org>
56885
56886         Expect rpmatch to be declared.
56887         * lib/yesno.c (rpmatch): Remove declaration.
56888
56889         Declare rpmatch.
56890         * lib/stdlib.in.h (rpmatch): New declaration.
56891         * lib/rpmatch.c: Include <stdlib.h> first.
56892         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
56893         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
56894         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
56895         HAVE_RPMATCH.
56896         * modules/rpmatch (Depends-on): Add stdlib, extensions.
56897         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56898         (Include): Set to <stdlib.h>.
56899         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
56900         HAVE_RPMATCH.
56901         * NEWS: Document the change.
56902
56903 2008-04-28  Bruno Haible  <bruno@clisp.org>
56904
56905         Change rpmatch to use nl_langinfo when appropriate.
56906         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
56907         (N_): New macro.
56908         (localized_pattern): New function/macro.
56909         (try): Remove match, nomatch arguments. Copy the pattern into safe
56910         memory before caching it.
56911         (rpmatch): Use localized_pattern. Add translator comments.
56912         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
56913         Suggested by Eric Blake.
56914         * modules/rpmatch (Depends-on): Add stdbool.
56915
56916 2008-04-28  Eric Blake  <ebb9@byu.net>
56917
56918         Add rawmemchr module, matching glibc.
56919         * modules/string (Makefile.am): New indicator.
56920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
56921         * lib/string.in.h (rawmemchr): Declare when appropriate.
56922         * modules/rawmemchr: New file.
56923         * m4/rawmemchr.m4: Likewise.
56924         * lib/rawmemchr.c: Likewise.
56925         * modules/rawmemchr-tests: Likewise.
56926         * tests/test-rawmemchr.c: Likewise.
56927         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
56928         module.
56929         * modules/strchrnul (Depends-on): Add rawmemchr.
56930         * lib/strchrnul.c (strchrnul): Optimize a corner case.
56931
56932         Whitespace cleanup.
56933         * tests/test-strchrnul.c: Reindent.
56934         * lib/strchrnul.c: Likewise.
56935
56936         Optimize and test strchrnul.
56937         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
56938         * modules/strchrnul-tests: New file.
56939         * tests/test-strchrnul.c: Likewise.
56940
56941         Remove intprops dependency.
56942         * modules/memchr (Depends-on): Remove intprops.
56943         * modules/memrchr (Depends-on): Likewise.
56944         * modules/memchr2 (Depends-on): Likewise.
56945         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
56946         * lib/memrchr.c (__memrchr): Likewise.
56947         * lib/memrchr2.c (memchr2): Likewise.
56948         Reported by Simon Josefsson.
56949
56950 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56951
56952         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
56953         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56954
56955 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56956
56957         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
56958
56959         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
56960
56961         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
56962
56963         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
56964         declarations.
56965         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
56966
56967         * m4/inet_pton.m4: Don't check for header files.
56968
56969         * m4/inet_ntop.m4: Don't check for header files.
56970
56971 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56972
56973         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
56974         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
56975         trigger for cygwin).
56976         Reported by Bruno Haible  <bruno@clisp.org>.
56977
56978 2008-04-28  Bruno Haible  <bruno@clisp.org>
56979
56980         * doc/posix-functions/strdup.texi: Mention mingw problem.
56981
56982 2008-04-27  Bruno Haible  <bruno@clisp.org>
56983
56984         * modules/stat-time-tests (Depends-on): Add sleep.
56985         * tests/test-stat-time.c (force_unlink): New function.
56986         (cleanup): Use it.
56987         (test_mtime): Remove the ctime related tests.
56988         (test_ctime): New function, containing the ctime related tests.
56989         (main): Call test_ctime, except on native Windows platforms.
56990
56991 2008-04-27  Bruno Haible  <bruno@clisp.org>
56992
56993         * lib/rpmatch.c (rpmatch): Add some comments.
56994         Reported by James Youngman <jay@gnu.org>.
56995
56996 2008-04-27  Bruno Haible  <bruno@clisp.org>
56997
56998         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
56999         quiet NaNs.
57000
57001 2008-04-27  Bruno Haible  <bruno@clisp.org>
57002
57003         Make test-yesno.sh work on mingw.
57004         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
57005         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
57006         (main): Set stdin to binary mode.
57007         * modules/yesno-tests (Depends-on): Add binary-io.
57008
57009 2008-04-27  Bruno Haible  <bruno@clisp.org>
57010
57011         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57012         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57013         argument that lie outside the IEEE 854 domain.
57014         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57015         (gl_ISFINITE): Use it.
57016         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57017
57018 2008-04-27  Bruno Haible  <bruno@clisp.org>
57019
57020         Allow local renaming in config.h.
57021         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57022
57023 2008-04-27  Bruno Haible  <bruno@clisp.org>
57024
57025         * lib/memchr.c (__memchr): Change type of 'i'.
57026         * lib/memchr2.c (memchr2): Likewise.
57027
57028 2008-04-26  Eric Blake  <ebb9@byu.net>
57029         and Bruno Haible  <bruno@clisp.org>
57030
57031         Optimize and test memrchr.
57032         * modules/memrchr (Depends-on): Add intprops.
57033         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57034         * modules/memrchr-tests: New file.
57035         * tests/test-memrchr.c: New file.
57036
57037 2008-04-26  Bruno Haible  <bruno@clisp.org>
57038
57039         Add tentative support for DragonFly BSD.
57040         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57041         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57042         fp.
57043         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57044         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57045         * lib/fpurge.c (fpurge): Likewise.
57046         * lib/freadable.c (freaadable): Likewise.
57047         * lib/freadahead.c (freadahead): Likewise.
57048         * lib/freading.c (freading): Likewise.
57049         * lib/freadptr.c (freadptr): Likewise.
57050         * lib/freadseek.c (freadptrinc): Likewise.
57051         * lib/fseeko.c (fseeko): Likewise.
57052         * lib/fseterr.c (fseterr): Likewise.
57053         * lib/fwritable.c (fwritable): Likewise.
57054         * lib/fwriting.c (fwriting): Likewise.
57055
57056 2008-04-26  Bruno Haible  <bruno@clisp.org>
57057
57058         * lib/stdio-impl.h: New file.
57059         * lib/fbufmode.c: Include stdio-impl.h.
57060         (fbufmode): Use fp_, remove redundant #defines.
57061         * lib/fflush.c: Include stdio-impl.h.
57062         (clear_ungetc_buffer): Remove redundant #defines.
57063         * lib/fpurge.c: Include stdio-impl.h.
57064         (fpurge): Remove redundant #defines.
57065         * lib/freadable.c: Include stdio-impl.h.
57066         (freadable): Remove redundant #defines.
57067         * lib/freadahead.c: Include stdio-impl.h.
57068         (freadahead): Remove redundant #defines.
57069         * lib/freading.c: Include stdio-impl.h.
57070         (freading): Remove redundant #defines.
57071         * lib/freadptr.c: Include stdio-impl.h.
57072         (freadptr): Remove redundant #defines.
57073         * lib/freadseek.c: Include stdio-impl.h.
57074         (freadptrinc): Remove redundant #defines.
57075         * lib/fseeko.c: Include stdio-impl.h.
57076         (rpl_fseeko): Remove redundant #defines.
57077         * lib/fseterr.c: Include stdio-impl.h.
57078         (fseterr): Remove redundant #defines.
57079         * lib/fwritable.c: Include stdio-impl.h.
57080         (fwritable: Remove redundant #defines.
57081         * lib/fwriting.c: Include stdio-impl.h.
57082         (fwriting): Remove redundant #defines.
57083         * modules/fbufmode (Files): Add lib/stdio-impl.h.
57084         * modules/fflush (Files): Likewise.
57085         * modules/fpurge (Files): Likewise.
57086         * modules/freadable (Files): Likewise.
57087         * modules/freadahead (Files): Likewise.
57088         * modules/freading (Files): Likewise.
57089         * modules/freadptr (Files): Likewise.
57090         * modules/freadseek (Files): Likewise.
57091         * modules/fseeko (Files): Likewise.
57092         * modules/fseterr (Files): Likewise.
57093         * modules/fwritable (Files): Likewise.
57094         * modules/fwriting (Files): Likewise.
57095
57096 2008-04-26  Bruno Haible  <bruno@clisp.org>
57097
57098         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57099         restore_seek_optimization, update_fpos_cache): New functions, extracted
57100         from rpl_fflush.
57101         (rpl_fflush): Use them.
57102         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
57103         (gl_REPLACE_FFLUSH): Use it.
57104
57105 2008-04-26  Bruno Haible  <bruno@clisp.org>
57106
57107         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
57108         on Solaris.
57109         * tests/test-xstrtoimax.sh: Likewise.
57110         * tests/test-xstrtoumax.sh: Likewise.
57111         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57112
57113 2008-04-26  Bruno Haible  <bruno@clisp.org>
57114
57115         * modules/memchr-tests: New file.
57116         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
57117
57118 2008-04-26  Eric Blake  <ebb9@byu.net>
57119             Bruno Haible  <bruno@clisp.org>
57120
57121         * lib/memchr.c: Include intprops.h.
57122         (__memchr): Optimize parallel detection of matching bytes. Rename local
57123         variables. Add explanatory comments.
57124
57125 2008-04-26  Bruno Haible  <bruno@clisp.org>
57126
57127         Fix module 'memchr', broken since 2000-10-28.
57128         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
57129
57130 2008-04-26  Bruno Haible  <bruno@clisp.org>
57131
57132         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
57133         comments.
57134
57135 2008-04-25  Eric Blake  <ebb9@byu.net>
57136
57137         Use native fstatat on cygwin 1.7.0.
57138         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
57139         first.
57140
57141 2008-04-23  Eric Blake  <ebb9@byu.net>
57142
57143         Improve memchr2 performance.
57144         * lib/memchr2.c (memchr2): Further optimize parallel detection of
57145         NUL bytes.
57146         * modules/memchr2 (Depends-on): Use intprops.h.
57147
57148 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57149
57150         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
57151         an inline function instead of a CPP macro.  Patch by Ben Pfaff
57152         <blp@cs.stanford.edu>.
57153
57154 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57155
57156         * lib/arpa_inet.in.h: New file.
57157
57158         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
57159         (Makefile.am): Sed in substitute header file.
57160
57161         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
57162         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
57163
57164         * modules/inet_ntop (configure.ac): Use
57165         gl_ARPA_INET_MODULE_INDICATOR.
57166
57167         * modules/inet_pton (configure.ac): Use
57168         gl_ARPA_INET_MODULE_INDICATOR.
57169
57170 2008-04-22  Jim Meyering  <meyering@redhat.com>
57171
57172         * modules/verify (License): Re-license as LGPLv2+.
57173
57174 2008-04-22  Simon Josefsson  <simon@josefsson.org>
57175
57176         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
57177         parameter to void* as per POSIX standard (MinGW uses char*).
57178
57179 2008-04-21  Bruno Haible  <bruno@clisp.org>
57180
57181         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57182         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57183         Define to replacements if REPLACE_ISWCNTRL is 1.
57184         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
57185         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
57186         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
57187         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
57188         what it fixes.
57189         * doc/posix-functions/iswalpha.texi: Likewise.
57190         * doc/posix-functions/iswblank.texi: Likewise.
57191         * doc/posix-functions/iswcntrl.texi: Likewise.
57192         * doc/posix-functions/iswdigit.texi: Likewise.
57193         * doc/posix-functions/iswgraph.texi: Likewise.
57194         * doc/posix-functions/iswlower.texi: Likewise.
57195         * doc/posix-functions/iswprint.texi: Likewise.
57196         * doc/posix-functions/iswpunct.texi: Likewise.
57197         * doc/posix-functions/iswspace.texi: Likewise.
57198         * doc/posix-functions/iswupper.texi: Likewise.
57199         * doc/posix-functions/iswxdigit.texi: Likewise.
57200         Reported by Alain Guibert.
57201
57202 2008-04-21  Bruno Haible  <bruno@clisp.org>
57203
57204         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
57205         Patch by Alain Guibert.
57206
57207 2008-04-21  Bruno Haible  <bruno@clisp.org>
57208
57209         Fix test failures on mingw.
57210         * tests/test-xstrtol.c (print_no_progname): New function.
57211         (main): Install it in error_print_progname hook.
57212         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
57213         * tests/test-xstrtoimax.sh: Likewise.
57214         * tests/test-xstrtoumax.sh: Likewise.
57215
57216 2008-04-21  Bruno Haible  <bruno@clisp.org>
57217
57218         Fix test failure on mingw.
57219         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
57220
57221 2008-04-21  Bruno Haible  <bruno@clisp.org>
57222
57223         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
57224         Actually assign a value.
57225
57226 2008-04-20  Bruno Haible  <bruno@clisp.org>
57227
57228         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
57229         take 2.
57230         * lib/canonicalize.c (canonicalize_file_name): Elide if the
57231         'canonicalize-lgpl' module is also used.
57232         * lib/canonicalize-lgpl.c: Undo last change.
57233         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
57234
57235 2008-04-20  Bruno Haible  <bruno@clisp.org>
57236
57237         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
57238         config.h. Provide _mkdir based fallback for mingw.
57239         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
57240         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
57241         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
57242         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
57243         rather than defining mkdir in config.h.
57244         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
57245         (gl_SYS_STAT_H_DEFAULTS): New macro.
57246         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
57247         HAVE_IO_H any more.
57248         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
57249         HAVE_DECL_MKDIR and HAVE_IO_H.
57250
57251 2008-04-20  Bruno Haible  <bruno@clisp.org>
57252
57253         * lib/isapipe.c: Port to native Windows platforms.
57254
57255 2008-04-20  Bruno Haible  <bruno@clisp.org>
57256
57257         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
57258
57259 2008-04-21  Eric Blake  <ebb9@byu.net>
57260
57261         Work around preprocessors that don't handle UINTMAX_MAX.
57262         * lib/memchr2.c (memchr2): Avoid embedded #if.
57263         Reported by Alain Guibert, fix suggested by Bruno Haible.
57264
57265 2008-04-21  Simon Josefsson  <simon@josefsson.org>
57266
57267         * doc/posix-functions/strftime.texi (strftime): Explain better
57268         Windows incompatibility.  Suggested by Micah Cowan
57269         <micah@cowan.name>.
57270
57271 2008-04-20  Bruno Haible  <bruno@clisp.org>
57272
57273         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
57274         unistr/u8-mblen.
57275
57276 2008-04-20  Bruno Haible  <bruno@clisp.org>
57277
57278         Fix test failure on platforms with non-GNU iconv.
57279         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
57280         (U_TO_U8): Use it, rather than u16_to_u8.
57281         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
57282         units at the end of the input string.
57283         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
57284
57285 2008-04-20  Bruno Haible  <bruno@clisp.org>
57286
57287         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
57288         when the resulting length is 0.
57289         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
57290
57291 2008-04-20  Bruno Haible  <bruno@clisp.org>
57292
57293         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
57294         works.
57295         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
57296
57297 2008-04-20  Bruno Haible  <bruno@clisp.org>
57298
57299         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
57300         * modules/tsearch-tests (configure.ac): Test for initstate function.
57301
57302 2008-04-20  Bruno Haible  <bruno@clisp.org>
57303
57304         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
57305         for nlink_t if missing.
57306         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
57307
57308 2008-04-19  Bruno Haible  <bruno@clisp.org>
57309
57310         Work around snprintf bug on Linux libc5.
57311         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
57312         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57313         gl_SNPRINTF_SIZE1.
57314         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57315         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
57316         that test failed.
57317         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
57318         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
57319         * modules/snprintf (Files): Add m4/printf.m4.
57320         * modules/vsnprintf (Files): Likewise.
57321         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
57322         * doc/posix-functions/vsnprintf.texi: Likewise.
57323
57324 2008-04-19  Bruno Haible  <bruno@clisp.org>
57325
57326         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
57327         from 0.0058 to less than 10^-7.
57328
57329 2008-04-19  Bruno Haible  <bruno@clisp.org>
57330
57331         Fix rounding when a precision is given.
57332         * lib/vasnprintf.c (is_borderline): New function.
57333         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
57334         9...9x.
57335         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
57336         %e, %g.
57337         * tests/test-vasprintf-posix.c (test_function): Likewise.
57338         * tests/test-snprintf-posix.h (test_function): Likewise.
57339         * tests/test-sprintf-posix.h (test_function): Likewise.
57340         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
57341         * tests/test-printf-posix.h (test_function): Likewise.
57342         * tests/test-printf-posix.output: Update.
57343         Reported by John Darrington <john@darrington.wattle.id.au> via
57344         Ben Pfaff <blp@cs.stanford.edu>.
57345
57346 2008-04-18  Simon Josefsson  <simon@josefsson.org>
57347
57348         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
57349         Suggested by Bruno Haible <bruno@clisp.org>.
57350
57351 2008-04-17  Bruno Haible  <bruno@clisp.org>
57352
57353         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
57354         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
57355         implementation.
57356         Patch by Bruce Merry <bmerry@gmail.com>.
57357
57358 2008-04-17  Simon Josefsson  <simon@josefsson.org>
57359
57360         * doc/posix-functions/strftime.texi (strftime): Mention that %e
57361         doesn't work under Windows.
57362
57363 2008-04-16  Bruno Haible  <bruno@clisp.org>
57364
57365         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
57366         New macros.
57367         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
57368         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
57369         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
57370         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
57371         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
57372         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
57373         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
57374         macros.
57375         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
57376         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
57377         Northern Sotho, Uighur.
57378
57379 2008-04-16  Bruno Haible  <bruno@clisp.org>
57380
57381         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
57382         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
57383         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
57384         Reported by Daniel Bergström <daniel@octocode.com>.
57385
57386 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
57387             Bruno Haible  <bruno@clisp.org>
57388
57389         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
57390         function.
57391         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
57392         New functions, mostly extracted from gl_locale_name_default.
57393         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
57394
57395 2008-04-16  Eric Blake  <ebb9@byu.net>
57396
57397         Adjust strtod detection to catch glibc 2.7 bug.
57398         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
57399         Reported by John Gatewood Ham.
57400
57401 2008-04-16  Bruno Haible  <bruno@clisp.org>
57402
57403         Add tentative support for Linux libc5.
57404         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
57405         * lib/fpurge.c (fpurge): Likewise.
57406         * lib/freadable.c (freadable): Likewise.
57407         * lib/freadahead.c (freadahead): Likewise.
57408         * lib/freading.c (freading): Likewise.
57409         * lib/freadptr.c (freadptr): Likewise.
57410         * lib/freadseek.c (freadptrinc): Likewise.
57411         * lib/fseeko.c (rpl_fseeko): Likewise.
57412         * lib/fseterr.c (fseterr): Likewise.
57413         * lib/fwritable.c (fwritable): Likewise.
57414         * lib/fwriting.c (fwriting): Likewise.
57415         Reported by Alain Guibert <alguibert+bts@free.fr>.
57416
57417 2008-04-15  Bruno Haible  <bruno@clisp.org>
57418
57419         * modules/mathl (configure.ac): Define module indicator.
57420
57421 2008-04-15  Bruno Haible  <bruno@clisp.org>
57422
57423         * lib/logl.c (logl): Remove unused variables.
57424
57425 2008-04-15  Bruno Haible  <bruno@clisp.org>
57426
57427         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
57428         fails.
57429
57430 2008-04-15  Bruno Haible  <bruno@clisp.org>
57431
57432         * lib/trim.c (trim2): Fix argument of isspace() macro.
57433
57434 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57435
57436         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57437         to 0.
57438         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57439
57440 2008-04-14  Bruno Haible  <bruno@clisp.org>
57441
57442         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57443         AC_LANG_PROGRAM argument.
57444         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57445         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57446         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57447         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57448         * m4/math_h.m4 (gl_MATH_H): Likewise.
57449         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57450         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57451         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57452         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57453         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57454         * m4/regex.m4 (gl_REGEX): Likewise.
57455         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57456         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57457         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57458         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57459         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57460         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57461         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57462         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57463
57464 2008-04-14  Jim Meyering  <meyering@redhat.com>
57465
57466         test-strtod: fix typos: s/abs/fabs/
57467         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57468
57469 2008-04-13  Bruno Haible  <bruno@clisp.org>
57470
57471         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57472         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57473         module is also used and while not building the reloc-wrapper.
57474
57475 2008-04-13  Bruno Haible  <bruno@clisp.org>
57476
57477         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57478
57479 2008-04-13  Bruno Haible  <bruno@clisp.org>
57480
57481         Fix AIX compilation failure introduced on 2008-04-02.
57482         * tests/test-frexp.c (exp): Undefine before redefining.
57483         * tests/test-frexpl.c (exp): Likewise.
57484
57485 2008-04-13  Bruno Haible  <bruno@clisp.org>
57486
57487         Work around a HP-UX stdio bug.
57488         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57489         * tests/test-ftello.c (main): Likewise.
57490         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57491         * doc/posix-functions/ftello.texi: Likewise.
57492
57493 2008-04-13  Bruno Haible  <bruno@clisp.org>
57494
57495         Make test-signbit pass on HP-UX/hppa.
57496         * tests/test-signbit.c (minus_zerol): New variable.
57497         (test_signbitl): Use it.
57498
57499 2008-04-13  Bruno Haible  <bruno@clisp.org>
57500
57501         Make truncl work on OSF/1 4.0.
57502         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57503         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57504         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57506         HAVE_DECL_TRUNCL.
57507         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57508         HAVE_DECL_TRUNCL.
57509         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57510
57511 2008-04-13  Bruno Haible  <bruno@clisp.org>
57512
57513         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57514
57515 2008-04-13  Bruno Haible  <bruno@clisp.org>
57516
57517         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57518         expression, so as to avoid HP-UX 11 cc compiler bug.
57519
57520 2008-04-13  Bruno Haible  <bruno@clisp.org>
57521
57522         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57523
57524 2008-04-13  Bruno Haible  <bruno@clisp.org>
57525
57526         * lib/git-merge-changelog.c: Remove empty declaration outside of
57527         functions.
57528
57529 2008-04-13  Bruno Haible  <bruno@clisp.org>
57530
57531         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57532
57533 2008-04-13  Bruno Haible  <bruno@clisp.org>
57534
57535         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57536         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57537         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57538         also if it exists but lacks definitions of the SHUT_* macros.
57539         * modules/sys_socket (Description): Update.
57540         Reported by Elbert Pol <e.pol@chello.nl>.
57541
57542 2008-04-13  Bruno Haible  <bruno@clisp.org>
57543
57544         * lib/localcharset.c (OS2): Don't redefine if already defined.
57545         Reported by Elbert Pol <e.pol@chello.nl>.
57546
57547 2008-04-13  Bruno Haible  <bruno@clisp.org>
57548
57549         * lib/binary-io.h [__EMX__]: Include <io.h>.
57550         Reported by Elbert Pol <e.pol@chello.nl>.
57551
57552 2008-04-12  Bruno Haible  <bruno@clisp.org>
57553
57554         * lib/fpucw.h: Enable the definitions also for x86_64.
57555         Needed for NetBSD/x86_64.
57556         Reported by Thomas Klausner <tk@giga.or.at>.
57557
57558 2008-04-12  Bruno Haible  <bruno@clisp.org>
57559
57560         * tests/test-strtod.c: Include isnand.h.
57561         (main): Use isnand instead of isnan.
57562         Reported by Jim Meyering.
57563
57564 2008-04-12  Bruno Haible  <bruno@clisp.org>
57565
57566         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57567         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57568
57569 2008-04-12  Jim Meyering  <meyering@redhat.com>
57570
57571         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57572
57573 2008-04-12  Bruno Haible  <bruno@clisp.org>
57574
57575         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57576         Reported by Elbert Pol <e.pol@chello.nl>.
57577
57578 2008-04-12  Eric Blake  <ebb9@byu.net>
57579
57580         Work around Solaris 10 math.h bug.
57581         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57582         (gl_MATH_H_DEFAULTS): Set up default.
57583         * modules/math (Makefile.am): Replace new indicators.
57584         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57585         * tests/test-math.c (main): Test this.
57586         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57587         * doc/posix-headers/math.texi (math.h): Mention bug.
57588         Reported by Nelson H. F. Beebe and Jim Meyering.
57589
57590 2008-04-11  Bruno Haible  <bruno@clisp.org>
57591
57592         Adapt to future versions of Apple GCC.
57593         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57594         Reported by Peter O'Gorman <peter@pogma.com>.
57595
57596 2008-04-11  Bruno Haible  <bruno@clisp.org>
57597
57598         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57599
57600 2008-04-11  Bruno Haible  <bruno@clisp.org>
57601
57602         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
57603
57604         * modules/getaddrinfo-tests (Makefile.am): Define
57605         test_getaddrinfo_LDADD.
57606
57607 2008-04-11  Bruno Haible  <bruno@clisp.org>
57608
57609         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
57610         (init): Fix syntax error.
57611         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
57612         is declared.
57613
57614 2008-04-11  Bruno Haible  <bruno@clisp.org>
57615
57616         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
57617         * modules/glob (Depends-on): Add stdbool.
57618
57619 2008-04-11  Bruno Haible  <bruno@clisp.org>
57620
57621         * lib/trim.c: Include <string.h>.
57622
57623 2008-04-11  Eric Blake  <ebb9@byu.net>
57624
57625         Avoid compile failure on OS/2.
57626         * lib/regex_internal.h (internal_function): Disable optimization
57627         on OS/2 (__EMX__), where it caused compiler error.
57628         Reported by Elbert Pol.
57629
57630 2008-04-11  Bruno Haible  <bruno@clisp.org>
57631
57632         Flush the standard error stream before aborting. Needed on mingw.
57633         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
57634         * tests/test-array_list.c (ASSERT): Likewise.
57635         * tests/test-array_oset.c (ASSERT): Likewise.
57636         * tests/test-avltree_list.c (ASSERT): Likewise.
57637         * tests/test-avltree_oset.c (ASSERT): Likewise.
57638         * tests/test-avltreehash_list.c (ASSERT): Likewise.
57639         * tests/test-binary-io.c (ASSERT): Likewise.
57640         * tests/test-byteswap.c (ASSERT): Likewise.
57641         * tests/test-c-ctype.c (ASSERT): Likewise.
57642         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57643         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57644         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57645         * tests/test-c-strstr.c (ASSERT): Likewise.
57646         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57647         * tests/test-canonicalize.c (ASSERT): Likewise.
57648         * tests/test-carray_list.c (ASSERT): Likewise.
57649         * tests/test-ceilf1.c (ASSERT): Likewise.
57650         * tests/test-ceilf2.c (ASSERT): Likewise.
57651         * tests/test-ceill.c (ASSERT): Likewise.
57652         * tests/test-count-one-bits.c (ASSERT): Likewise.
57653         * tests/test-fbufmode.c (ASSERT): Likewise.
57654         * tests/test-fflush2.c (ASSERT): Likewise.
57655         * tests/test-floorf1.c (ASSERT): Likewise.
57656         * tests/test-floorf2.c (ASSERT): Likewise.
57657         * tests/test-floorl.c (ASSERT): Likewise.
57658         * tests/test-fopen.c (ASSERT): Likewise.
57659         * tests/test-fpending.c (ASSERT): Likewise.
57660         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57661         * tests/test-fpurge.c (ASSERT): Likewise.
57662         * tests/test-freadable.c (ASSERT): Likewise.
57663         * tests/test-freadahead.c (ASSERT): Likewise.
57664         * tests/test-freading.c (ASSERT): Likewise.
57665         * tests/test-freadptr.c (ASSERT): Likewise.
57666         * tests/test-freadptr2.c (ASSERT): Likewise.
57667         * tests/test-freadseek.c (ASSERT): Likewise.
57668         * tests/test-freopen.c (ASSERT): Likewise.
57669         * tests/test-frexp.c (ASSERT): Likewise.
57670         * tests/test-frexpl.c (ASSERT): Likewise.
57671         * tests/test-fseek.c (ASSERT): Likewise.
57672         * tests/test-fseeko.c (ASSERT): Likewise.
57673         * tests/test-fstrcmp.c (ASSERT): Likewise.
57674         * tests/test-ftell.c (ASSERT): Likewise.
57675         * tests/test-ftello.c (ASSERT): Likewise.
57676         * tests/test-func.c (ASSERT): Likewise.
57677         * tests/test-fwritable.c (ASSERT): Likewise.
57678         * tests/test-fwriting.c (ASSERT): Likewise.
57679         * tests/test-getdelim.c (ASSERT): Likewise.
57680         * tests/test-getline.c (ASSERT): Likewise.
57681         * tests/test-i-ring.c (ASSERT): Likewise.
57682         * tests/test-iconv-utf.c (ASSERT): Likewise.
57683         * tests/test-iconv.c (ASSERT): Likewise.
57684         * tests/test-isfinite.c (ASSERT): Likewise.
57685         * tests/test-isnand.c (ASSERT): Likewise.
57686         * tests/test-isnanf.c (ASSERT): Likewise.
57687         * tests/test-isnanl.h (ASSERT): Likewise.
57688         * tests/test-ldexpl.c (ASSERT): Likewise.
57689         * tests/test-linked_list.c (ASSERT): Likewise.
57690         * tests/test-linkedhash_list.c (ASSERT): Likewise.
57691         * tests/test-localename.c (ASSERT): Likewise.
57692         * tests/test-lseek.c (ASSERT): Likewise.
57693         * tests/test-mbscasecmp.c (ASSERT): Likewise.
57694         * tests/test-mbscasestr1.c (ASSERT): Likewise.
57695         * tests/test-mbscasestr2.c (ASSERT): Likewise.
57696         * tests/test-mbscasestr3.c (ASSERT): Likewise.
57697         * tests/test-mbscasestr4.c (ASSERT): Likewise.
57698         * tests/test-mbschr.c (ASSERT): Likewise.
57699         * tests/test-mbscspn.c (ASSERT): Likewise.
57700         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
57701         * tests/test-mbspbrk.c (ASSERT): Likewise.
57702         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
57703         * tests/test-mbsrchr.c (ASSERT): Likewise.
57704         * tests/test-mbsspn.c (ASSERT): Likewise.
57705         * tests/test-mbsstr1.c (ASSERT): Likewise.
57706         * tests/test-mbsstr2.c (ASSERT): Likewise.
57707         * tests/test-mbsstr3.c (ASSERT): Likewise.
57708         * tests/test-memchr2.c (ASSERT): Likewise.
57709         * tests/test-memmem.c (ASSERT): Likewise.
57710         * tests/test-open.c (ASSERT): Likewise.
57711         * tests/test-printf-frexp.c (ASSERT): Likewise.
57712         * tests/test-printf-frexpl.c (ASSERT): Likewise.
57713         * tests/test-printf-posix.c (ASSERT): Likewise.
57714         * tests/test-quotearg.c (ASSERT): Likewise.
57715         * tests/test-rbtree_list.c (ASSERT): Likewise.
57716         * tests/test-rbtree_oset.c (ASSERT): Likewise.
57717         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
57718         * tests/test-round1.c (ASSERT): Likewise.
57719         * tests/test-roundf1.c (ASSERT): Likewise.
57720         * tests/test-roundl.c (ASSERT): Likewise.
57721         * tests/test-signbit.c (ASSERT): Likewise.
57722         * tests/test-sleep.c (ASSERT): Likewise.
57723         * tests/test-snprintf-posix.c (ASSERT): Likewise.
57724         * tests/test-snprintf.c (ASSERT): Likewise.
57725         * tests/test-sprintf-posix.c (ASSERT): Likewise.
57726         * tests/test-stat-time.c (ASSERT): Likewise.
57727         * tests/test-strcasestr.c (ASSERT): Likewise.
57728         * tests/test-strerror.c (ASSERT): Likewise.
57729         * tests/test-striconv.c (ASSERT): Likewise.
57730         * tests/test-striconveh.c (ASSERT): Likewise.
57731         * tests/test-striconveha.c (ASSERT): Likewise.
57732         * tests/test-strsignal.c (ASSERT): Likewise.
57733         * tests/test-strstr.c (ASSERT): Likewise.
57734         * tests/test-strtod.c (ASSERT): Likewise.
57735         * tests/test-trunc1.c (ASSERT): Likewise.
57736         * tests/test-trunc2.c (ASSERT): Likewise.
57737         * tests/test-truncf1.c (ASSERT): Likewise.
57738         * tests/test-truncf2.c (ASSERT): Likewise.
57739         * tests/test-truncl.c (ASSERT): Likewise.
57740         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
57741         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
57742         * tests/test-vasnprintf.c (ASSERT): Likewise.
57743         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
57744         * tests/test-vasprintf.c (ASSERT): Likewise.
57745         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
57746         * tests/test-vprintf-posix.c (ASSERT): Likewise.
57747         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
57748         * tests/test-vsnprintf.c (ASSERT): Likewise.
57749         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
57750         * tests/test-wcwidth.c (ASSERT): Likewise.
57751         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
57752         * tests/test-xprintf-posix.c (ASSERT): Likewise.
57753         * tests/test-xvasprintf.c (ASSERT): Likewise.
57754         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
57755         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
57756         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
57757         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
57758         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
57759         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
57760         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
57761         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
57762         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
57763         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
57764         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
57765         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
57766         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
57767         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
57768         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
57769         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
57770         * tests/unictype/test-block_list.c (ASSERT): Likewise.
57771         * tests/unictype/test-block_of.c (ASSERT): Likewise.
57772         * tests/unictype/test-block_test.c (ASSERT): Likewise.
57773         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
57774         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
57775         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
57776         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
57777         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
57778         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
57779         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
57780         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
57781         * tests/unictype/test-combining.c (ASSERT): Likewise.
57782         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
57783         * tests/unictype/test-digit.c (ASSERT): Likewise.
57784         * tests/unictype/test-mirror.c (ASSERT): Likewise.
57785         * tests/unictype/test-numeric.c (ASSERT): Likewise.
57786         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
57787         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
57788         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
57789         * tests/unictype/test-scripts.c (ASSERT): Likewise.
57790         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
57791         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
57792         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
57793         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
57794         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
57795         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
57796         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
57797         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
57798         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
57799         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
57800         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
57801         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
57802         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
57803         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
57804         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
57805         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
57806         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
57807         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
57808         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
57809         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
57810         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
57811         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
57812         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
57813         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
57814         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
57815         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
57816         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
57817         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
57818         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
57819         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
57820         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
57821         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
57822         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
57823         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
57824         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
57825         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
57826         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
57827         Reported by Eric Blake.
57828
57829 2008-04-11  Bruno Haible  <bruno@clisp.org>
57830
57831         * lib/wchar.in.h: Tweak comment.
57832
57833 2008-04-11  Bruno Haible  <bruno@clisp.org>
57834
57835         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
57836         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
57837         gl_COMMON.
57838         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
57839
57840 2008-04-11  Bruno Haible  <bruno@clisp.org>
57841
57842         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
57843
57844 2008-04-11  Simon Josefsson  <simon@josefsson.org>
57845
57846         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
57847         of attempting to use non-existing /dev/*random.  Based on patch
57848         from Adam Strzelecki <ono@java.pl> in
57849         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
57850
57851 2008-04-08  Bruno Haible  <bruno@clisp.org>
57852
57853         Add tentative support for emx+gcc.
57854         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
57855         * lib/fpurge.c (fpurge): Likewise.
57856         * lib/freadable.c (freadable): Likewise.
57857         * lib/freadahead.c (freadahead): Likewise.
57858         * lib/freading.c (freading): Likewise.
57859         * lib/freadptr.c (freadptr): Likewise.
57860         * lib/freadseek.c (freadptrinc): Likewise.
57861         * lib/fseeko.c (rpl_fseeko): Likewise.
57862         * lib/fseterr.c (fseterr): Likewise.
57863         * lib/fwritable.c (fwritable): Likewise.
57864         * lib/fwriting.c (fwriting): Likewise.
57865         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
57866
57867 2008-04-09  Eric Blake  <ebb9@byu.net>
57868
57869         Avoid some autoconf warnings.
57870         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
57871         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
57872         * m4/afs.m4 (gl_AFS): Likewise.
57873         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
57874         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
57875         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57876         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
57877         (gl_INTEGER_TYPE_SUFFIX): Likewise.
57878         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
57879         (AC_CHECK_DECLS_ONCE): Likewise.
57880         Rename file...
57881         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
57882         gnulib-tool requires autoconf 2.59 or better.
57883         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
57884
57885 2008-04-08  Eric Blake  <ebb9@byu.net>
57886
57887         Use 'git describe --match' if present (added in git 1.5.5).
57888         * build-aux/git-version-gen: Limit result to tags that match 'v*'
57889         if possible.
57890
57891 2008-04-08  Bruno Haible  <bruno@clisp.org>
57892
57893         Add tentative support for OpenServer.
57894         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
57895         _ptr, _cnt.
57896         * lib/fpurge.c (fpurge): Likewise.
57897         * lib/freadable.c (freadable): Likewise.
57898         * lib/freadahead.c (freadahead): Likewise.
57899         * lib/freading.c (freading): Likewise.
57900         * lib/freadptr.c (freadptr): Likewise.
57901         * lib/freadseek.c (freadptrinc): Likewise.
57902         * lib/fseeko.c (rpl_fseeko): Likewise.
57903         * lib/fseterr.c (fseterr): Likewise.
57904         * lib/fwritable.c (fwritable): Likewise.
57905         * lib/fwriting.c (fwriting): Likewise.
57906         Reported by Roger Cornelius <rac@tenzing.org> and
57907         Brian K. White <brian@aljex.com>.
57908
57909 2008-04-06  Jim Meyering  <meyering@redhat.com>
57910
57911         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
57912
57913 2008-04-06  Bruno Haible  <bruno@clisp.org>
57914
57915         Avoid possible error with non-ASCII bytes in UTF-8 locales.
57916         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
57917         * tests/test-printf-posix.sh: Likewise.
57918         * tests/test-vfprintf-posix.sh: Likewise.
57919         * tests/test-vprintf-posix.sh: Likewise.
57920         * tests/test-xprintf-posix.sh: Likewise.
57921
57922 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57923
57924         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
57925         hide error from 'ls', needed on OS/2.
57926         Report by Elbert Pol <elbert.pol@gmail.com>.
57927
57928 2008-04-04  Eric Blake  <ebb9@byu.net>
57929
57930         Make test-fseeko.c failures meaningful.
57931         * tests/test-fseeko.c: Print line number on failure.
57932         * tests/test-fseek.c: Likewise.
57933         Reported by Nelson H. F. Beebe.
57934
57935         Improve strtod bug detection check.
57936         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
57937         required for Solaris 10.
57938         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
57939
57940 2008-04-04  Bruno Haible  <bruno@clisp.org>
57941
57942         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
57943         by m4/setenv.m4.
57944
57945 2008-04-03  Eric Blake  <ebb9@byu.net>
57946
57947         Ensure sane .version contents.
57948         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
57949         version string.
57950         * build-aux/git-version-gen: Improve documentation.
57951
57952         Make GNU make output nicer.
57953         * top/GNUmakefile [!_have-Makefile]: Add dependency on
57954         MAKECMDGOALS to enforce message for all command line targets.  Set
57955         srcdir for use in maint.mk.
57956
57957         Another maintainer tweak.
57958         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
57959         a target that regenerates version.
57960
57961 2008-04-03  Jim Meyering  <meyering@redhat.com>
57962
57963         vc-list-files: don't cause coreutils "make po-check" failure
57964         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
57965
57966 2008-04-03  Eric Blake  <ebb9@byu.net>
57967
57968         Allow VPATH usage of vc-list-files.
57969         * build-aux/vc-list-files (scriptversion): Add timestamp.
57970         (options): Add --help, --version, -C.
57971         (CVS): Support installed cvsu.
57972
57973 2008-04-02  Bruno Haible  <bruno@clisp.org>
57974
57975         Avoid some "statement with no effect" warnings from gcc.
57976         * tests/test-wctype.c (main): Explicitly ignore unused values.
57977         Reported by Jim Meyering.
57978
57979 2008-04-02  Jim Meyering  <meyering@redhat.com>
57980
57981         Avoid some warnings from "gcc -Wshadow".
57982         * tests/test-frexp.c (exp): Define to a different identifier.
57983         * tests/test-frexpl.c (exp): Likewise.
57984
57985 2008-04-03  Jim Meyering  <meyering@redhat.com>
57986
57987         bootstrap: remove dangling *.[ch] symlinks from lib
57988         * build-aux/bootstrap [dangling symlink removal]: Move find's
57989         -depth option to precede all others, to avoid a warning.
57990         Remove *.[ch] files too, and from "$source_base" (usually lib/).
57991
57992 2008-04-02  Bruno Haible  <bruno@clisp.org>
57993
57994         Avoid some warnings from "gcc -Wshadow".
57995         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
57996         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
57997         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
57998         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
57999         Reported by Jim Meyering.
58000
58001 2008-04-01  Bruno Haible  <bruno@clisp.org>
58002
58003         Fix test to work on IRIX 6.5 with cc.
58004         * tests/test-math.c (numeric_equal): New function.
58005         (main): Use it.
58006
58007 2008-04-01  Bruno Haible  <bruno@clisp.org>
58008
58009         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58010
58011 2008-04-01  Bruno Haible  <bruno@clisp.org>
58012
58013         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58014         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58015         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58016         (Depends-on): Remove math.
58017
58018         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58019         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58020         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58021         (Depends-on): Remove math.
58022
58023         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58024         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58025         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58026         (Depends-on): Remove math.
58027         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58028         (Depends-on): Remove math.
58029
58030         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
58031         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58032         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
58033         (Depends-on): Remove math.
58034         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58035         (Depends-on): Remove math.
58036
58037         * tests/test-round1.c: Include nan.h.
58038         (main): Use NaNd instead of NAN.
58039         * modules/round-tests (Files): Add tests/nan.h.
58040
58041         * tests/test-trunc1.c: Include nan.h.
58042         (main): Use NaNd instead of NAN.
58043         * modules/trunc-tests (Files): Add tests/nan.h.
58044
58045         * tests/test-roundf1.c: Include nan.h.
58046         (main): Use NaNf instead of NAN.
58047         * modules/roundf-tests (Files): Add tests/nan.h.
58048
58049         * tests/test-truncf1.c: Include nan.h.
58050         (main): Use NaNf instead of NAN.
58051         * modules/truncf-tests (Files): Add tests/nan.h.
58052
58053         * tests/test-ceilf1.c: Include nan.h.
58054         (main): Use NaNf instead of NAN.
58055         * modules/ceilf-tests (Files): Add tests/nan.h.
58056
58057         * tests/test-floorf1.c: Include nan.h.
58058         (main): Use NaNf instead of NAN.
58059         * modules/floorf-tests (Files): Add tests/nan.h.
58060
58061         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58062         (main): Use NaNf instead of NAN.
58063         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
58064
58065         * tests/test-isnand.c: Include nan.h instead of <math.h>.
58066         (main): Use NaNd instead of NAN.
58067         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
58068
58069         * tests/test-frexp.c: Include nan.h.
58070         (main): Use NaNd instead of NAN.
58071         * modules/frexp-tests (Files): Add tests/nan.h.
58072
58073         * lib/isnan.c: Don't include <math.h>.
58074         (FUNC): Don't use NAN macro.
58075         * modules/isnand-nolibm (Depends-on): Remove math.
58076         * modules/isnanf-nolibm (Depends-on): Remove math.
58077         * modules/isnanl (Depends-on): Remove math.
58078         * modules/isnanl-nolibm (Depends-on): Remove math.
58079
58080         * tests/nan.h: New file.
58081
58082 2008-04-01  Eric Blake  <ebb9@byu.net>
58083
58084         Fix typos.
58085         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
58086         values to be the right type.
58087
58088         For now, cater to gnulib strtod inaccuracies.
58089         * tests/test-strtod.c (main): Allow 1-ulp error on expected
58090         fractional results.  While not as nice from a QoI perspective, it
58091         is a quicker patch than correctly implementing decimal to binary
58092         rounding.
58093
58094 2008-03-31  Eric Blake  <ebb9@byu.net>
58095
58096         Guarantee a definition of NAN.
58097         * lib/math.in.h (NAN): Define if missing.
58098         * tests/test-math.c (main): Test it.
58099         * doc/posix-headers/math.texi (math.h): Document this.
58100         * lib/isnan.c (rpl_isnand): Use it.
58101         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
58102         * tests/test-floorf1.c (NaN): Likewise.
58103         * tests/test-frexp.c (NaN): Likewise.
58104         * tests/test-isnand.c (NaN): Likewise.
58105         * tests/test-isnanf.c (NaN): Likewise.
58106         * tests/test-round1.c (NaN): Likewise.
58107         * tests/test-roundf1.c (NaN): Likewise.
58108         * tests/test-snprintf-posix.h (NaN): Likewise.
58109         * tests/test-sprintf-posix.h (NaN): Likewise.
58110         * tests/test-trunc1.c (NaN): Likewise.
58111         * tests/test-truncf1.c (NaN): Likewise.
58112         * tests/test-vasnprintf-posix.c (NaN): Likewise.
58113         * tests/test-vasprintf-posix.c (NaN): Likewise.
58114         * modules/isnand-nolibm (Depends-on): Add math.
58115         * modules/isnanf-nolibm (Depends-on): Likewise.
58116         * modules/isnanl (Depends-on): Likewise.
58117         * modules/isnanl-nolibm (Depends-on): Likewise.
58118         * modules/snprintf-posix-tests (Depends-on): Likewise.
58119         * modules/sprintf-posix-tests (Depends-on): Likewise.
58120         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
58121         * modules/vsprintf-posix-tests (Depends-on): Likewise.
58122         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
58123         * modules/vasprintf-posix-tests (Depends-on): Likewise.
58124
58125 2008-03-31  Bruno Haible  <bruno@clisp.org>
58126
58127         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
58128         * doc/posix-functions/strtod.texi: Likewise.
58129
58130 2008-03-31  Bruno Haible  <bruno@clisp.org>
58131
58132         * tests/test-strtod.c (main): Don't use C99 syntax.
58133
58134 2008-03-31  Bruno Haible  <bruno@clisp.org>
58135
58136         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
58137         Reported by Eric Blake.
58138
58139 2008-03-31  Jim Meyering  <meyering@redhat.com>
58140
58141         Don't compare actual signbit return values.
58142         * tests/test-strtod.c (main): Rather, compare only their
58143         zero/non-zero nature.
58144
58145 2008-03-31  Eric Blake  <ebb9@byu.net>
58146
58147         More strtod documentation.
58148         * doc/posix-functions/strtod.texi (strtod): Interpret more test
58149         failures as distinct bugs.
58150
58151 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58152
58153         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
58154         Problem reported by Erik Benada in
58155         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
58156
58157 2008-03-30  Bruno Haible  <bruno@clisp.org>
58158
58159         * tests/test-strtod.c: Add comments about which assertion fails on which
58160         platform.
58161         * doc/posix-functions/strtod.texi: Add info about many more platforms.
58162
58163 2008-03-30  Eric Blake  <ebb9@byu.net>
58164
58165         Test signbit behavior on zeros.
58166         * tests/test-signbit.c (test_signbitf): Add tests for zero.
58167         (test_signbitd, test_signbitl): Likewise.
58168
58169         More strtod touchups.
58170         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
58171         sign of negative underflow, for now.  Use .5, not .1.
58172         * doc/posix-functions/strtod.texi (strtod): Mention these
58173         limitations.
58174         Reported by Jim Meyering.
58175
58176 2008-03-30  Bruno Haible  <bruno@clisp.org>
58177
58178         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
58179         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
58180
58181 2008-03-30  Bruno Haible  <bruno@clisp.org>
58182
58183         Avoid failure when attempting to return empty iconv results on some
58184         platforms.
58185         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
58186         allocation, don't report ENOMEM when the resulting string is empty.
58187
58188 2008-03-30  Bruno Haible  <bruno@clisp.org>
58189
58190         Fix buffer overrun.
58191         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
58192         Don't consider the width for tmp_length. Check count against tmp_length
58193         before doing the padding. Ensure enough allocation during padding.
58194
58195 2008-03-30  Eric Blake  <ebb9@byu.net>
58196
58197         strtod touchups.
58198         * lib/strtod.c (strtod): Avoid compiler warnings.
58199         Reported by Jim Meyering.
58200
58201 2008-03-30  Bruno Haible  <bruno@clisp.org>
58202
58203         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
58204         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
58205         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
58206         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
58207         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
58208         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
58209         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
58210         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
58211
58212         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
58213         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
58214         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
58215         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
58216         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
58217         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
58218         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
58219         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
58220
58221         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
58222         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
58223         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
58224         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
58225         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
58226         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
58227         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
58228         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
58229
58230         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
58231         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
58232
58233         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
58234         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
58235
58236         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
58237         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
58238
58239         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
58240         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
58241         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
58242
58243         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
58244         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
58245         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
58246
58247         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
58248         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
58249         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
58250
58251         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
58252         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
58253         * modules/vasprintf (Depends-on): Add EOVERFLOW.
58254
58255         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
58256         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
58257         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
58258         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
58259         (Depends-on): Add EOVERFLOW.
58260         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
58261         (Depends-on): Add EOVERFLOW.
58262         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58263         (Depends-on): Add EOVERFLOW.
58264         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58265         (Depends-on): Add EOVERFLOW.
58266         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58267         (Depends-on): Add EOVERFLOW.
58268         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58269         (Depends-on): Add EOVERFLOW.
58270         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58271         (Depends-on): Add EOVERFLOW.
58272         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58273         (Depends-on): Add EOVERFLOW.
58274
58275         * lib/sprintf.c (EOVERFLOW): Remove fallback.
58276         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
58277         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
58278
58279         * lib/snprintf.c (EOVERFLOW): Remove fallback.
58280         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
58281         * modules/snprintf (Depends-on): Add EOVERFLOW.
58282
58283         * lib/poll.c (EOVERFLOW): Remove fallback.
58284         * modules/poll (Depends-on): Add EOVERFLOW.
58285
58286         * lib/getugroups.c (EOVERFLOW): Remove fallback.
58287         * modules/getugroups (Depends-on): Add EOVERFLOW.
58288
58289         * lib/getdelim.c (EOVERFLOW): Remove fallback.
58290         * modules/getdelim (Depends-on): Add EOVERFLOW.
58291
58292         * lib/ftell.c (EOVERFLOW): Remove fallback.
58293         * modules/ftell (Depends-on): Add EOVERFLOW.
58294
58295         * lib/fprintf.c (EOVERFLOW): Remove fallback.
58296         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
58297         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
58298
58299         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
58300
58301         * modules/EOVERFLOW-tests: New file.
58302         * tests/test-EOVERFLOW.c: New file.
58303
58304         * modules/EOVERFLOW: New file.
58305         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
58306
58307 2008-03-30  Bruno Haible  <bruno@clisp.org>
58308
58309         Fix bug introduced on 2007-06-10.
58310         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
58311         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
58312
58313 2008-03-30  Bruno Haible  <bruno@clisp.org>
58314
58315         Improve freadseek's efficiency after ungetc.
58316         * lib/freadseek.c: Include freadahead.h.
58317         (freadptrinc): New function, extracted from freadseek.
58318         (freadseek): Use it in a loop. Use freadahead to determine the number
58319         of loop iterations.
58320         * modules/freadseek (Depends-on): Add freadahead.
58321         (configure.ac): Require AC_C_INLINE.
58322
58323 2008-03-30  Bruno Haible  <bruno@clisp.org>
58324
58325         * lib/freadseek.c (freadseek): Don't ignore the return value of
58326         freadptr.
58327
58328 2008-03-29  Eric Blake  <ebb9@byu.net>
58329
58330         Add hex float support.
58331         * modules/strtod (Depends-on): Add c-ctype.
58332         (Link): Mention POW_LIB.
58333         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
58334         whitespace between 'e' and exponent.
58335         * tests/test-strtod.c (main): Enable hex float tests.
58336         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
58337         now provides.
58338
58339         Document various strtod bugs, with some fixes.
58340         * doc/posix-functions/strtod.texi (strtod): Document bugs with
58341         "-0x", "inf", "nan", and hex constants.
58342         * doc/posix-functions/atof.texi (atof): Likewise.
58343         * modules/stdlib (Makefile.am): Support strtod.
58344         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
58345         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
58346         detect additional strtod bugs.
58347         * lib/stdlib.in.h (rpl_strtod): Add declarations.
58348         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
58349         bool where appropriate.  Parse 'inf' and 'nan'.
58350         * tests/test-strtod.c: New file.
58351         * modules/strtod (Depends-on): Add stdbool, stdlib.
58352         (configure.ac): Turn on module indicator.
58353         * modules/strtod-tests: New module.
58354
58355 2008-03-29  Eric Blake  <ebb9@byu.net>
58356
58357         Fix ftell on mingw.
58358         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
58359         * modules/ftell-tests (Depends-on): Add binary-io.
58360         * modules/ftello-tests (Depends-on): Likewise.
58361         * tests/test-ftell.c (main): Enhance test to cover behavior after
58362         ungetc.  Enforce binary mode.
58363         * tests/test-ftello.c (main): Likewise.
58364
58365         Pass test-freadseek on cygwin.
58366         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
58367         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
58368         ungetc buffer.
58369
58370         * tests/test-fflush2.c (main): Fix typo.
58371
58372 2008-03-29  Bruno Haible  <bruno@clisp.org>
58373
58374         * tests/test-fflush2.c (main): Temporarily disable the contents of
58375         this test.
58376         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
58377         Reported by Eric Blake.
58378
58379 2008-03-28  Simon Josefsson  <simon@josefsson.org>
58380
58381         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
58382         (GC_SHA224_DIGEST_SIZE): Add.
58383
58384         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
58385         (gc_hash_digest_length): Likewise.
58386         (gc_hash_buffer): Likewise.
58387
58388 2008-03-25  Bruno Haible  <bruno@clisp.org>
58389
58390         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
58391         detail which gettext release to use.
58392         Reported by Simon Josefsson.
58393
58394 2008-03-26  Jim Meyering  <meyering@redhat.com>
58395
58396         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
58397         * modules/gnumakefile (clean-GNUmakefile): Also, use
58398         test ... && ... || : syntax rather than if-then ... fi.
58399
58400         gnumakefile: Don't double-quote-expand $(VPATH) value.
58401         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
58402
58403 2008-03-24  Eric Blake  <ebb9@byu.net>
58404
58405         Alter GNUmakefile to install into top directory.
58406         * modules/maintainer-makefile: Split, and add dependency...
58407         * modules/gnumakefile: to this new module.
58408         * build-aux/GNUmakefile: Move...
58409         * top/GNUmakefile: ...here.
58410         * build-aux/maint.mk: Move...
58411         * top/maint.mk: ...here.
58412         * MODULES.html.sh (Support for maintaining...): Document new
58413         module.
58414
58415 2008-03-23  Bruno Haible  <bruno@clisp.org>
58416
58417         * gnulib-tool: New options --vc-files, --no-vc-files.
58418         (func_usage): Document them.
58419         (vc_files): New variable.
58420         (func_import): Consider vc_files.
58421         (func_create_testdir): Set vc_files to empty.
58422         Suggested by Jim Meyering and Karl Berry.
58423
58424 2008-03-23  Bruno Haible  <bruno@clisp.org>
58425
58426         Fix regex compilation error on HP-UX 11.
58427         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
58428         * modules/regex (Files): Add m4/mbstate_t.m4.
58429         Reported by Ton Voon <ton.voon@altinity.com>.
58430
58431 2008-03-23  Bruno Haible  <bruno@clisp.org>
58432
58433         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58434
58435 2008-03-23  Eric Blake  <ebb9@byu.net>
58436             Bruno Haible  <bruno@clisp.org>
58437
58438         Install files from top/ in the destination directory.
58439         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58440         augmentation also for the files from top/.
58441         (func_import, func_create_testdir): Rewrite file names:
58442         top/filename -> filename.
58443
58444 2008-03-23  Bruno Haible  <bruno@clisp.org>
58445
58446         Tweak "gnulib --version" output.
58447         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58448
58449 2008-03-23  Bruno Haible  <bruno@clisp.org>
58450
58451         Tweak "gnulib --version" output.
58452         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58453         rather than contents of ChangeLog, when possible.
58454
58455 2008-03-21  Eric Blake  <ebb9@byu.net>
58456
58457         More --version tweaks.
58458         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58459         date of last ChangeLog entry.
58460
58461 2008-03-21  Jim Meyering  <meyering@redhat.com>
58462
58463         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58464
58465 2008-03-20  Eric Blake  <ebb9@byu.net>
58466
58467         VPATH fix.
58468         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58469
58470 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58471
58472         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58473         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58474
58475 2008-03-20  Eric Blake  <ebb9@byu.net>
58476
58477         Sync GNUmakefile with coreutils.
58478         * build-aux/GNUmakefile (have-Makefile): Rename...
58479         (_have-Makefile): ...to this, for namespace consideration.
58480         (GNUmakefile.cfg): Include, if present.
58481         (_autoreconf): Define a default.
58482         (_is-dist-target): New rule for rebuilds to pick up intra-release
58483         version.
58484         (maint-cfg.mk): Rename...
58485         (cfg.mk): ...to this.
58486
58487 2008-03-18  Jim Meyering  <meyering@redhat.com>
58488
58489         New script and module: mktempd
58490         * MODULES.html.sh (maint+release support): Add mktempd.
58491         * build-aux/mktempd: New file.
58492         * modules/mktempd: New file.
58493
58494 2008-03-15  Jim Meyering  <meyering@redhat.com>
58495
58496         Undo last change.
58497         * lib/sha1.c, lib/md5.c: 63 != ~63.
58498         Reported by Andreas Schwab.
58499
58500         sha1.c, md5.c: Hoist a redundant expression.
58501         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58502         "ctx->buflen" only once, before calling *_process_block.
58503         * lib/md5.c (md5_process_bytes): Likewise.
58504
58505 2008-03-14  Eric Blake  <ebb9@byu.net>
58506
58507         Bump copyright year in files generated by gnulib-tool.
58508         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58509         gnulib-tool, rather than hard-coding it.
58510
58511         Fix 'gnulib-tool --version' output to work with git.
58512         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58513         (startup): ...here.
58514         (func_version): Use it to invoke git-version-gen, rather than
58515         relying on CVS keyword expansion.  Modernize wording.
58516         (cvsdatestamp, last_checkin_date, version): Kill unused
58517         variables.
58518
58519 2008-03-12  Jim Meyering  <meyering@redhat.com>
58520
58521         Recognize optional cast of the argument to free.
58522         * build-aux/useless-if-before-free: Update regexps.
58523
58524         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58525
58526 2008-03-11  Bruno Haible  <bruno@clisp.org>
58527
58528         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58529         by a single package.
58530         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58531         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58532         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58533         Reported by Sam Steingold <sds@gnu.org>.
58534
58535 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58536
58537         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58538         repositories.
58539
58540 2008-03-11  Bruno Haible  <bruno@clisp.org>
58541
58542         Avoid conflicts between local macro definitions.
58543         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58544         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58545
58546 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58547             Bruno Haible  <bruno@clisp.org>
58548
58549         Make va_copy work with some version of xlc on AIX 5.1.
58550         * lib/stdarg.in.h: New file.
58551         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58552         On AIX, use a <stdarg.h> file substitute.
58553         * modules/stdarg (Files): Add lib/stdarg.in.h.
58554         (Depends-on): Add include_next.
58555         (Makefile.am): Build a stdarg.h substitute if requested.
58556         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58557
58558 2008-03-10  Bruno Haible  <bruno@clisp.org>
58559
58560         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58561         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58562         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58563
58564 2008-03-10  Bruno Haible  <bruno@clisp.org>
58565
58566         * modules/stdlib (Depends-on): Add include_next, remove
58567         absolute-header.
58568
58569 2008-03-09  Bruno Haible  <bruno@clisp.org>
58570
58571         * lib/freadahead.h (freadahead): Document more precisely.
58572         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58573         the sum of both buffer sizes.
58574         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58575         * NEWS: Document the change.
58576
58577 2008-03-09  Bruno Haible  <bruno@clisp.org>
58578
58579         Extend freadptr to return also the buffer size.
58580         * lib/freadptr.h (freadptr): Add sizep argument.
58581         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58582         (freadptr): Add sizep argument. Determine buffer size like freadahead
58583         does.
58584         * tests/test-freadptr.c: Don't include freadahead.h.
58585         (main): Adapt for new calling convention of freadptr.
58586         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58587         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58588         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58589         tests/test-freadptr2.sh.
58590         (Depends): Remove freadahead.
58591         (TESTS): Add test-freadptr2.sh.
58592         (check_PROGRAMS): Add test-freadptr2.
58593
58594 2008-03-09  Bruno Haible  <bruno@clisp.org>
58595
58596         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58597         Report and solution by Simon Josefsson.
58598
58599 2008-03-06  Bruno Haible  <bruno@clisp.org>
58600
58601         Make fflush after ungetc work on BSD platforms.
58602         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
58603         * tests/test-fflush2.c: New file.
58604         * tests/test-fflush2.sh: New file.
58605         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
58606         tests/test-fflush2.c.
58607         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
58608         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
58609
58610 2008-03-06  Eric Blake  <ebb9@byu.net>
58611
58612         Likewise for ftello.
58613         * modules/ftello (Dependencies): Add extensions.
58614         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
58615
58616 2008-03-06  Bruno Haible  <bruno@clisp.org>
58617
58618         * modules/fseeko (Dependencies): Add extensions.
58619         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
58620         Needed on glibc systems.
58621
58622 2008-03-06  Bruno Haible  <bruno@clisp.org>
58623
58624         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
58625         email address.
58626         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58627
58628 2008-03-06  Bruno Haible  <bruno@clisp.org>
58629
58630         * users.txt: Add libgnupdf.
58631
58632 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58633
58634         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
58635         (Header File Substitutes, Function Substitutes,
58636         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
58637         (Build robot for gnulib): Fix typo.
58638
58639 2008-03-06  Bruno Haible  <bruno@clisp.org>
58640
58641         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58642         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58643
58644 2008-03-06  Bruno Haible  <bruno@clisp.org>
58645
58646         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58647         * doc/gnulib.texi: Include it.
58648
58649 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58650
58651         * modules/func (License): Change license to unlimited; there was
58652         no LGPL parts in the module anyway.
58653
58654 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58655
58656         * modules/__func__: Renamed to modules/func.
58657         * modules/__func__-tests: Renamed to modules/func-tests.
58658         * tests/test-__func__.c: Renamed to tests/test-func.c.
58659         * m4/__func__.m4: Renamed to m4/func.m4.
58660         * doc/gnulib.texi (__func__): Section renamed to func.
58661         Suggested by Eric Blake <ebb9@byu.net>.
58662
58663 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58664
58665         * doc/gnulib.texi (__func__): Use C99 terminology when talking
58666         about __func__.  Make example self-contained.  Suggested by Eric
58667         Blake <ebb9@byu.net>.
58668
58669         * tests/test-__func__.c (main): Avoid extraneous () around __func.
58670         Suggested by Eric Blake <ebb9@byu.net>.
58671
58672 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58673
58674         * modules/__func__: New file.
58675         * modules/__func__-tests: New file.
58676         * tests/test-__func__.c: New file.
58677         * m4/__func__.m4: New file.
58678         * doc/gnulib.texi (__func__): Document __func__ module.
58679
58680 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58681
58682         * modules/byteswap (License): Re-license as LGPLv2+.
58683
58684 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58685
58686         * doc/Makefile: Add pdf target.
58687
58688 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58689
58690         * modules/inline (License): Use 'unlimited', since there are only
58691         *.m4 files in this module.
58692
58693 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58694             Bruno Haible  <bruno@clisp.org>
58695
58696         Add support for HP C 7.1 on OpenVMS 8.3.
58697         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
58698
58699 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58700
58701         Update VMS specifics.
58702         * lib/getopt.c [VMS]: Remove include of unixlib.h.
58703
58704 2008-03-02  Jim Meyering  <meyering@redhat.com>
58705
58706         Remove the last dependency on the "free" module.
58707         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
58708         Reported by Bob Proulx.
58709
58710         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
58711
58712         Remove useless "if" tests before free.  Deprecate "free" module.
58713         * doc/posix-functions/free.texi: Mention that this
58714         module is no longer useful.
58715         * modules/free (Notice): Say this module is obsolete.
58716         * modules/readutmp (Depends-on): Remove free.
58717         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
58718         * lib/putenv.c (putenv): Likewise.
58719         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
58720         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
58721         * tests/test-c-strcasestr.c (main): Likewise.
58722         * tests/test-c-strstr.c (main): Likewise.
58723         * tests/test-mbscasestr1.c (main): Likewise.
58724         * tests/test-mbscasestr2.c (main): Likewise.
58725         * tests/test-mbsstr1.c (main): Likewise.
58726         * tests/test-mbsstr2.c (main): Likewise.
58727         * tests/test-memmem.c (main): Likewise.
58728         * tests/test-strcasestr.c (main): Likewise.
58729         * tests/test-striconv.c (main): Likewise.
58730         * tests/test-striconveh.c (main): Likewise.
58731         * tests/test-striconveha.c (main): Likewise.
58732         * tests/test-strstr.c (main): Likewise.
58733
58734         * build-aux/git-version-gen: Adjust a comment and the Usage string.
58735
58736         bootstrap: sync from coreutils again
58737         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
58738
58739 2008-03-01  Jim Meyering  <meyering@redhat.com>
58740
58741         bootstrap: sync from coreutils
58742         * build-aux/bootstrap (update_po_files): Copy a .po file into place
58743         also when the target doesn't exist.
58744
58745 2008-03-01  Eric Blake  <ebb9@byu.net>
58746
58747         Fix bugs in last patch.
58748         * lib/memchr2.c (memchr2): Fix typo.
58749         * tests/test-memchr2.c: Test previous bug, and don't use GNU
58750         extension.
58751         Reported by Bruce Korb.
58752
58753         New module 'memchr2'.
58754         * modules/memchr2: New file.
58755         * modules/memchr2-tests: Likewise.
58756         * lib/memchr2.h: Likewise.
58757         * lib/memchr2.c: Likewise, based on memchr.c.
58758         * tests/test-memchr2.c: New test.
58759         * MODULES.html.sh (String handling): Add memchr2.
58760
58761 2008-02-29  Bruno Haible  <bruno@clisp.org>
58762
58763         * modules/freadseek-tests: New file.
58764         * tests/test-freadseek.sh: New file.
58765         * tests/test-freadseek.c: New file.
58766
58767         New module 'freadseek'.
58768         * modules/freadseek: New file.
58769         * lib/freadseek.h: New file.
58770         * lib/freadseek.c: New file.
58771         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
58772
58773 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58774
58775         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
58776         wydawca.
58777
58778         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
58779         program_invocation_name and program_invocation_short_name are
58780         present.
58781
58782 2008-02-28  Bruno Haible  <bruno@clisp.org>
58783
58784         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
58785         * tests/test-freadptr.sh: Also test non-seekable stdin.
58786
58787 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
58788
58789         * build-aux/bootstrap (source_base, m4_base)
58790         (doc_base, tests_base): New variables.
58791         (gnulib_tool_options): Do not hardcode base directories, use
58792         the above variables instead.
58793
58794 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
58795
58796         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
58797
58798 2008-02-28  Bruno Haible  <bruno@clisp.org>
58799
58800         * modules/freadptr-tests: New file.
58801         * tests/test-freadptr.sh: New file.
58802         * tests/test-freadptr.c: New file.
58803
58804         New module 'freadptr'.
58805         * modules/freadptr: New file.
58806         * lib/freadptr.h: New file.
58807         * lib/freadptr.c: New file.
58808         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
58809
58810 2008-02-26  Karl Berry  <karl@freefriends.org>
58811
58812         Sync from Libtool:
58813         * libltdl/argz.c (argz_add, argz_count): New functions.
58814         * libltdl/argz.in.h: Declare them.
58815         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
58816
58817 2008-02-22  Bruno Haible  <bruno@clisp.org>
58818
58819         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
58820         is a pointer type.  Needed for HP-UX 10.
58821         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
58822         * doc/posix-functions/gmtime_r.texi: Likewise.
58823         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58824
58825 2008-02-24  Bruno Haible  <bruno@clisp.org>
58826
58827         * modules/environ-tests: New file.
58828         * tests/test-environ.c: New file.
58829
58830         New module 'environ'.
58831         * modules/environ: New file.
58832         * lib/unistd.in.h (environ): New declaration.
58833         * m4/environ.m4: New file.
58834         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
58835         after use.
58836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
58837         HAVE_DECL_ENVIRON.
58838         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
58839         HAVE_DECL_ENVIRON.
58840         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
58841         wrong claim that 'environ' is missing on some systems.
58842         * modules/execute (Depends-on): Add environ.
58843         * lib/execute.c (environ): Remove fallback declaration.
58844         * modules/pipe (Depends-on): Add environ.
58845         * lib/pipe.c (environ): Remove fallback declaration.
58846         * modules/setenv (Depends-on): Add environ.
58847         * lib/setenv.c (environ): Remove fallback declaration.
58848         * modules/unsetenv (Depends-on): Add environ.
58849         * lib/unsetenv.c (environ): Remove fallback declaration.
58850         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
58851         m4/environ.m4.
58852         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
58853         (gl_PREREQ_UNSETENV): Likewise.
58854
58855 2008-02-24  Bruno Haible  <bruno@clisp.org>
58856
58857         * doc/posix-functions/environ.texi: Document the MacOS X problem.
58858
58859 2008-02-20  Bob Proulx  <bob@proulx.com>
58860
58861         Enable use of older two part flavor 'git describe'.
58862         * build-aux/git-version-gen: If using the older two part flavor of
58863         git version then recreate the third part now present in the
58864         newer three part flavor of git describe.
58865
58866 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
58867
58868         * lib/fts.c (fts_build): Typo correction to comment.
58869
58870 2008-02-17  Bruno Haible  <bruno@clisp.org>
58871
58872         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
58873         generating no-op conflicts.
58874
58875 2008-02-17  Bruno Haible  <bruno@clisp.org>
58876
58877         Speed up by 10%.
58878         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
58879         result_entries, rather than an index-based loop.
58880
58881 2008-02-17  Bruno Haible  <bruno@clisp.org>
58882
58883         Speed up by 25%.
58884         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
58885         'hashcode_cached'.
58886         (entry_create): New function.
58887         (entry_hashcode): Use the cached hashcode if possible.
58888         (read_changelog_file, try_split_merged_entry): Use entry_create.
58889
58890 2008-02-17  Bruno Haible  <bruno@clisp.org>
58891
58892         Speed up from O(n^2) to O(n) for long ChangeLog files.
58893         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
58894         (read_changelog_file): Change implementation of entries_reversed list
58895         to rbtreehash.
58896         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
58897
58898 2008-02-17  Bruno Haible  <bruno@clisp.org>
58899
58900         New option --split-merged-entry.
58901         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
58902         (find_paragraph_end, try_split_merged_entry): New functions.
58903         (long_options): Add option --split-merged-entry.
58904         (usage): Document option --split-merged-entry.
58905         (main): Implement option --split-merged-entry.
58906         Reported by Eric Blake.
58907
58908 2008-02-17  Bruno Haible  <bruno@clisp.org>
58909
58910         * lib/git-merge-changelog.c: Include c-strstr.h.
58911         (main): Support the "git pull --rebase" situation.
58912         * modules/git-merge-changelog (Depends-on): Add c-strstr.
58913         Reported by Eric Blake.
58914
58915 2008-02-16  Eric Blake  <ebb9@byu.net>
58916
58917         Avoid doubling \ in common case of "c-maybe" quoting style.
58918         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
58919         eliding outer quotes.
58920         * lib/quotearg.h: Document this.
58921         * tests/test-quotearg.c (result_strings, inputs, results_g)
58922         (flag_results, locale_results): Test it by adding a new string to
58923         each test group.
58924         (compare_strings): Test new string.
58925
58926 2008-02-13  Eric Blake  <ebb9@byu.net>
58927
58928         Avoid trigraph quoting in default output.
58929         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
58930         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
58931         unless explicitly requested.
58932         * tests/test-quotearg.c (flag_results, main): Add additional tests.
58933
58934 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
58935
58936         Don't rely on signed integer overflowing to negative value.
58937         * lib/getugroups.c (getugroups): Include <limits.h>.
58938         Instead, compare against INT_MAX, and increment only if the test passes.
58939
58940 2008-02-13  Jim Meyering  <meyering@redhat.com>
58941         and Eric Blake  <ebb9@byu.net>
58942
58943         Avoid shadowing warning and compile errors on Linux.
58944         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
58945         forwarding macros on Linux.
58946         (dcgettext): Define a stub, for Linux.
58947         (results_g, main): Avoid warnings.
58948
58949 2008-02-12  Eric Blake  <ebb9@byu.net>
58950
58951         Silence warning in last patch.
58952         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
58953
58954         Quotearg part 4: add tests, fix c-maybe colon quoting.
58955         * lib/quotearg.h: Improve documentation.
58956         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
58957         escapes when adding outer quotes.  When quoting trigraphs, use
58958         valid C notation.  When quoting NUL, omit extra characters if next
58959         character is not digit.  Alter prototype.
58960         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
58961         callers.
58962         * modules/quotearg-tests: New module.
58963         * tests/test-quotearg.c: New test.
58964
58965 2008-02-07  Eric Blake  <ebb9@byu.net>
58966
58967         Quotearg part 3: add flag to control outer quote elision.
58968         * lib/quotearg.h (c_maybe_quoting_style): New style.
58969         (enum quoting_flags): Better documentation of flags.
58970         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
58971         c-maybe style.
58972         (quotearg_buffer_restyled): Handle new flag to elide outer
58973         quotes.
58974
58975         Quotearg part 2: add flag that can control NUL elision.
58976         * lib/quotearg.h (set_quoting_flags): New prototype.
58977         * lib/quotearg.c (struct quoting_options): Add flag field.
58978         (set_quoting_flags): New function.
58979         (quotearg_buffer_restyled): Add flags parameter.
58980         (quotearg_alloc_mem): Set the flag if length cannot be returned.
58981         (quotearg_n_options): Set the flag, since length cannot be
58982         returned.
58983         (quoting_options_from_style): Default flags correctly.
58984
58985         Quotearg part 1: more wrappers, restore quotearg_char state.
58986         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
58987         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
58988         (quotearg_colon_mem): New wrappers.
58989         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
58990         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
58991         functions.
58992         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
58993         (quotearg_colon_mem): New functions.
58994
58995 2008-02-11  Bruno Haible  <bruno@clisp.org>
58996
58997         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
58998         library in the current directory: it does not work with parallel make.
58999         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59000
59001 2008-02-11  Bruno Haible  <bruno@clisp.org>
59002
59003         * .gitattributes: New file.
59004
59005 2008-02-11  Jim Meyering  <meyering@redhat.com>
59006
59007         useless-if-before-free: Fix reversed exit values.
59008         * build-aux/useless-if-before-free: Use correct values
59009         for EXIT_MATCH and EXIT_NO_MATCH.
59010
59011         * build-aux/useless-if-before-free: Close stdout carefully.
59012
59013 2008-02-10  Bruno Haible  <bruno@clisp.org>
59014
59015         New module 'git-merge-changelog'.
59016         * modules/git-merge-changelog: New file.
59017         * lib/git-merge-changelog.c: New file.
59018
59019 2008-02-10  Jim Meyering  <meyering@redhat.com>
59020
59021         useless-if-before-free: New option: --list (-l).
59022
59023         useless-if-before-free: Don't exit immediately upon open failure.
59024         * build-aux/useless-if-before-free: Exit 2 for errors.
59025         Upon failure to open a file, don't exit immediately.
59026         Rather, just warn and continue with any remaining files.
59027
59028 2008-02-10  Bruno Haible  <bruno@clisp.org>
59029
59030         New abstract list operation 'node_set_value'.
59031         * lib/gl_list.h (gl_list_node_set_value): New function.
59032         (struct gl_list_implementation): New field node_set_value.
59033         * lib/gl_list.c (gl_list_node_set_value): New function.
59034         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59035         (gl_array_list_implementation): Update.
59036         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59037         (gl_carray_list_implementation): Update.
59038         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59039         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59040         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59041         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59042         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59043         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59044         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59045         Update.
59046         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59047         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59048         (gl_sublist_list_implementation): Update.
59049
59050 2008-02-10  Bruno Haible  <bruno@clisp.org>
59051
59052         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59053         Needed when ELEMENT is #defined to 'some_type *'.
59054
59055 2008-02-10  Jim Meyering  <meyering@redhat.com>
59056
59057         New script and module: useless-if-before-free
59058         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59059         * build-aux/useless-if-before-free: New file.
59060         * modules/useless-if-before-free: New file.
59061
59062         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59063
59064         xstrtol_error: Fix typo.
59065         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
59066         s/exit_failure/exit_status/.
59067
59068 2008-02-09  Jim Meyering  <meyering@redhat.com>
59069
59070         New script and module: gitlog-to-changelog
59071         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
59072         * modules/gitlog-to-changelog: New file.
59073         * build-aux/gitlog-to-changelog: New file.
59074
59075 2008-02-08  Jim Meyering  <meyering@redhat.com>
59076
59077         Avoid two "parameter unused" warnings.
59078         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
59079         Mark "st" as used.
59080
59081         Use "git COMMAND", not "git-COMMAND".
59082         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
59083         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
59084         * build-aux/git-version-gen: Use "git status", not "git-status".
59085
59086 2008-02-07  Bruno Haible  <bruno@clisp.org>
59087
59088         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
59089         Avoids a crash on Windows Vista.
59090         Reported by Adam Strzelecki <ono@java.pl> via
59091         Simon Josefsson <simon@josefsson.org>.
59092
59093 2008-02-06  Bruno Haible  <bruno@clisp.org>
59094
59095         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
59096         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
59097         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
59098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
59099         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59100         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59101         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
59102         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
59103         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59104         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59105         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59106         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59107         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59108         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59109         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59110         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
59111         left-adjust flag.
59112         * tests/test-snprintf-posix.h (test_function): Likewise.
59113         * tests/test-sprintf-posix.h (test_function): Likewise.
59114         * tests/test-vasprintf-posix.c (test_function): Likewise.
59115         * doc/posix-functions/fprintf.texi: Update.
59116         * doc/posix-functions/printf.texi: Update.
59117         * doc/posix-functions/snprintf.texi: Update.
59118         * doc/posix-functions/sprintf.texi: Update.
59119         * doc/posix-functions/vfprintf.texi: Update.
59120         * doc/posix-functions/vprintf.texi: Update.
59121         * doc/posix-functions/vsnprintf.texi: Update.
59122         * doc/posix-functions/vsprintf.texi: Update.
59123         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59124
59125 2008-02-06  Bruno Haible  <bruno@clisp.org>
59126
59127         Fix bug introduced on 2008-01-26.
59128         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
59129
59130 2008-02-06  Bruno Haible  <bruno@clisp.org>
59131
59132         Fix bug introduced on 2007-06-10.
59133         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
59134         !NEED_PRINTF_FLAG_ZERO.
59135
59136 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
59137
59138         getloadavg: use libperfstat on AIX5
59139         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
59140
59141 2008-02-03  Bruno Haible  <bruno@clisp.org>
59142
59143         * lib/diffseq.h: Add comments about required #includes.
59144         Reported by Michael Biggs <gnulib@doubleplum.net>.
59145
59146 2008-02-01  Bruno Haible  <bruno@clisp.org>
59147
59148         * users.txt: Add gnuit.
59149
59150 2008-01-31  Bruno Haible  <bruno@clisp.org>
59151
59152         * lib/md4.c (set_uint32): Mark as inline.
59153         * lib/md5.c (set_uint32): Likewise.
59154         * lib/sha1.c (set_uint32): Likewise.
59155         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
59156         * m4/md5.m4 (gl_MD5): Likewise.
59157         * m4/sha1.m4 (gl_SHA1): Likewise.
59158
59159 2008-01-31  Jim Meyering  <meyering@redhat.com>
59160
59161         Use "sizeof VAR", rather than a literal "4".
59162         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
59163         * lib/md4.c (md4_read_ctx): Likewise.
59164         * lib/sha1.c (sha1_read_ctx): Likewise.
59165
59166 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59167
59168         * tests/test-sha1.c: New file, based on test-md5.c.
59169
59170         * modules/crypto/sha1-tests: New file.
59171
59172 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59173
59174         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
59175
59176 2008-01-31  Jim Meyering  <meyering@redhat.com>
59177
59178         Prefer "sizeof v" over the equivalent "4".
59179         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
59180         * lib/md5.c (set_uint32): Likewise.
59181         * lib/sha1.c (set_uint32): Likewise.
59182
59183 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59184
59185         * lib/sha1.c (set_uint32): Mark function as static.
59186
59187 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59188
59189         md2: clarify comments to say that alignment is not required.
59190         * lib/md2.h: Remove warning about alignment in comment.
59191         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
59192         never been required.
59193
59194 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59195
59196         md4: adapt alignment constraint fix from sha1.
59197         * lib/md4.c (set_uint32): New function, from sha1.c
59198         (md4_read_ctx): Use it.
59199         (md4_finish_ctx): Doc fix.
59200         * lib/md4.h: Doc fix.
59201
59202 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59203
59204         md5: adapt alignment constraint fix from sha1.
59205         * lib/md5.c (set_uint32): New function, from sha1.c
59206         (md5_read_ctx): Use it.
59207         (md5_finish_ctx): Doc fix.
59208         * lib/md5.h: Doc fix.
59209
59210 2008-01-30  Peter Palfrader  <weasel@debian.org>
59211
59212         sha1: remove the result buffer alignment constraint
59213         * lib/sha1.c (set_uint32): New function.
59214         (sha1_read_ctx): Rewrite to remove the result buffer alignment
59215         constraint.
59216         (sha1_finish_ctx): Remove comment warning about alignment constraint.
59217         * lib/sha1.h: Likewise.
59218
59219 2008-01-30  Andreas Schwab  <schwab@suse.de>
59220             Bruno Haible  <bruno@clisp.org>
59221
59222         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
59223         correct definition of LDBL_MIN_EXP.
59224
59225 2008-01-30  Karl Berry  <karl@gnu.org>
59226
59227         * config/srclist-update: try to preserve x bit on updates.
59228         * config/srclistvars.sh: update for karl.
59229
59230 2008-01-29  Jim Meyering  <meyering@redhat.com>
59231
59232         vasnprintf.c: Avoid warning about unused label
59233         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
59234         "overflow" label definition and associated code with the
59235         same cpp condition that guards the sole use of that label.
59236
59237 2008-01-26  Bruno Haible  <bruno@clisp.org>
59238
59239         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
59240         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
59241         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
59242         * lib/isnanl-nolibm.h (isnanl): Likewise.
59243         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59244
59245 2008-01-26  Bruno Haible  <bruno@clisp.org>
59246
59247         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
59248         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
59249
59250 2008-01-26  Bruno Haible  <bruno@clisp.org>
59251
59252         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
59253         GCC >= 4.0 built-in.
59254         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
59255
59256 2008-01-26  Bruno Haible  <bruno@clisp.org>
59257
59258         Rename isnan, applicable to 'double' only, to isnand.
59259         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
59260         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
59261         (configure.ac): Update.
59262         (Include): Replace "isnan.h" with "isnand.h".
59263         * m4/isnand.m4: Renamed from m4/isnan.m4.
59264         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
59265         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
59266         instead of isnan.c.
59267         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
59268         instead of HAVE_ISNAN_IN_LIBC.
59269         (isnand): Renamed from isnan.
59270         * lib/isnand.c: New file.
59271         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
59272         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
59273         (Makefile.am): Update.
59274         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
59275         Include isnand.h instead of isnan.h.
59276         (main): Test isnand instead of isnan.
59277         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
59278         isnan-nolibm.
59279         * modules/frexp (Depends-on): Likewise.
59280         * modules/frexp-tests (Depends-on): Likewise.
59281         * modules/frexp-nolibm (Depends-on): Likewise.
59282         * modules/frexp-nolibm-tests (Depends-on): Likewise.
59283         * modules/isfinite (Depends-on): Likewise.
59284         * modules/round-tests (Depends-on): Likewise.
59285         * modules/signbit (Depends-on): Likewise.
59286         * modules/signbit-tests (Depends-on): Likewise.
59287         * modules/snprintf-posix (Depends-on): Likewise.
59288         * modules/sprintf-posix (Depends-on): Likewise.
59289         * modules/trunc-tests (Depends-on): Likewise.
59290         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59291         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59292         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59293         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59294         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59295         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59296         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59297         * modules/vasnprintf-posix (Depends-on): Likewise.
59298         * modules/vasprintf-posix (Depends-on): Likewise.
59299         * modules/vfprintf-posix (Depends-on): Likewise.
59300         * modules/vsnprintf-posix (Depends-on): Likewise.
59301         * modules/vsprintf-posix (Depends-on): Likewise.
59302         * lib/frexp.c: Include isnand.h instead of isnan.h.
59303         (ISNAN): Set to isnand instead of isnan.
59304         * lib/isfinite.c: Include isnand.h instead of isnan.h.
59305         (gl_isfinited): Use isnand instead of isnan.
59306         * lib/signbitd.c: Include isnand.h instead of isnan.h.
59307         (gl_signbitd): Use isnand instead of isnan.
59308         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
59309         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
59310         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
59311         (main): Use isnand instead of isnan.
59312         * tests/test-round1.c: Include isnand.h.
59313         (main): Use isnand instead of isnan.
59314         * tests/test-round2.c: Include isnand.h instead of isnan.h.
59315         (ISNAN): Set to isnand instead of isnan.
59316         * tests/test-trunc1.c: Include isnand.h.
59317         (main): Use isnand instead of isnan.
59318         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
59319         (equal): Use isnand instead of isnan.
59320         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
59321         isnand-nolibm.
59322         * NEWS: Mention the change.
59323
59324 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59325             Bruno Haible  <bruno@clisp.org>
59326
59327         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
59328         the GCC builtins for signbits are present and set
59329         REPLACE_SIGNBIT_USING_GCC if so.
59330         * lib/math.in.h (signbit): Define using GCC builtins if
59331         REPLACE_SIGNBIT_USING_GCC is set.
59332         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
59333         REPLACE_SIGNBIT_USING_GCC.
59334         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
59335
59336 2008-01-25  Jim Meyering  <meyering@redhat.com>
59337
59338         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
59339         * lib/poll.c: Include <config.h>, not "config.h".
59340         * tests/test-getaddrinfo.c: Likewise.
59341
59342 2008-01-25  Simon Josefsson  <simon@josefsson.org>
59343
59344         * modules/sockets-tests: New file.
59345
59346 2008-01-24  Simon Josefsson  <simon@josefsson.org>
59347
59348         * modules/sockets: New module, can be used to call WSA_Startup and
59349         WSA_Cleanup when needed.
59350
59351         * lib/sockets.h, lib/sockets.c: New files.
59352
59353         * m4/sockets.m4: New file.
59354
59355         * tests/test-sockets.c: New file.
59356
59357 2008-01-19  Bruno Haible  <bruno@clisp.org>
59358
59359         * doc/posix-headers: Renamed from doc/headers.
59360         * doc/posix-functions: Renamed from doc/functions.
59361         * doc/gnulib.texi: Update.
59362
59363 2008-01-19  Bruno Haible  <bruno@clisp.org>
59364
59365         * doc/glibc-functions/strcasestr.texi: Include contents of
59366         doc/functions/strcasestr.texi, fixing the list of platforms.
59367         * doc/functions/strcasestr.texi: Remove file.
59368
59369 2008-01-19  Bruno Haible  <bruno@clisp.org>
59370
59371         * doc/glibc-functions/memmem.texi: Include contents of
59372         doc/functions/memmem.texi.
59373         * doc/functions/memmem.texi: Remove file.
59374
59375 2008-01-18  Bruno Haible  <bruno@clisp.org>
59376
59377         * doc/glibc-functions/*.texi: New files.
59378         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
59379         to use the new files.
59380
59381 2008-01-17  Bruno Haible  <bruno@clisp.org>
59382
59383         * tests/test-gethostname.c (main): Fix printf statement.
59384
59385 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59386
59387         * modules/gethostname-tests: New file.
59388
59389         * tests/test-gethostname.c: New file.
59390
59391 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59392
59393         * lib/gethostname.c: Include string.h unconditionally, strncpy is
59394         used by the UNAME case.  Reported by Bruno Haible
59395         <bruno@clisp.org>.
59396
59397 2008-01-17  Eric Blake  <ebb9@byu.net>
59398
59399         Convert c-strcasestr to be more efficient.
59400         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
59401         (Depends-on): Add c-strcase, remove malloca, strnlen.
59402         * tests/test-c-strcasestr.c (main): Enhance test.
59403         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
59404
59405 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59406
59407         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
59408         Use it in creating po/Makevars.
59409
59410 2008-01-15  Simon Josefsson  <simon@josefsson.org>
59411
59412         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
59413         Applications that requires it should initialize libgcrypt
59414         manually.
59415
59416 2008-01-16  Simon Josefsson  <simon@josefsson.org>
59417
59418         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
59419
59420 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
59421
59422         Fix problem with getdate on mingw32 reported by Simon Josefsson
59423         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
59424         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
59425         tzname", when deciding whether to declare tzname.
59426         * lib/strftime.c (tzname): Likewise.
59427
59428 2008-01-15  Bruno Haible  <bruno@clisp.org>
59429
59430         Work around a MacOS X 10.5 bug in frexpl().
59431         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59432         * doc/functions/frexpl.texi: Document the bug.
59433         Reported by Elias Pipping <pipping@gentoo.org>.
59434
59435 2008-01-14  Eric Blake  <ebb9@byu.net>
59436
59437         Touch up previous patch.
59438         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59439         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59440
59441         Convert strcasestr module to use Two-Way algorithm.
59442         * modules/strcasestr-simple: New module, based on the old
59443         strcasestr, but with Two-Way rather than KMP.
59444         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59445         * lib/string.in.h (rpl_strcasestr): Declare.
59446         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59447         performance.
59448         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59449         * modules/string (Makefile.am): Support strcasestr.
59450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59451         * modules/strcasestr-tests (Depends-on): Check for alarm.
59452         * tests/test-strcasestr.c: Augment test.
59453         * lib/str-two-way.h: Clean up stray macro.
59454         * NEWS: Document new module.
59455         * MODULES.html.sh (string handling): Likewise.
59456         * doc/functions/strcasestr.texi: New file.
59457         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59458         here, since it is not a POSIX function.
59459
59460 2008-01-14  Colin Watson  <cjwatson@debian.org>
59461             Bruno Haible  <bruno@clisp.org>
59462
59463         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59464         works fine; if not, set REPLACE_STRSIGNAL.
59465         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59466         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59467         REPLACE_STRSIGNAL.
59468         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59469         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59470         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59471
59472 2008-01-14  Bruno Haible  <bruno@clisp.org>
59473
59474         * modules/strsignal (Include): Change to <string.h>.
59475
59476 2008-01-14  Colin Watson  <cjwatson@debian.org>
59477
59478         * modules/argp (Notice): Add a notice recommending to change
59479         XGETTEXT_OPTIONS.
59480         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59481
59482 2008-01-13  Colin Watson  <cjwatson@debian.org>
59483
59484         * modules/strsignal-tests: New file.
59485         * tests/test-strsignal.c: New file.
59486
59487         * lib/strsignal.c: New file, from glibc with modifications.
59488         * lib/siglist.h: New file, from glibc with modifications.
59489         * lib/string.in.h (strsignal): New declaration.
59490         * m4/strsignal.m4: New file.
59491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59492         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59493         * modules/strsignal: New file.
59494         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59495         HAVE_DECL_STRSIGNAL.
59496
59497 2008-01-13  Bruno Haible  <bruno@clisp.org>
59498
59499         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59500         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59501         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59502         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59503
59504 2008-01-13  Bruno Haible  <bruno@clisp.org>
59505
59506         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59507         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59508         * lib/argp.h (__attribute__): Likewise.
59509         * lib/c-stack.c (__attribute__): Likewise.
59510         * lib/error.h (__attribute__): Likewise.
59511         * lib/fts.c (__attribute__): Likewise.
59512         * lib/openat.h (__attribute__): Likewise.
59513         * lib/stdio.in.h (__attribute__): Likewise.
59514         * lib/string.in.h (__attribute__): Likewise.
59515         * lib/utimens.c (__attribute__): Likewise.
59516         * lib/vasnprintf.h (__attribute__): Likewise.
59517         * lib/xalloc.h (__attribute__): Likewise.
59518         * lib/xprintf.h (__attribute__): Likewise.
59519         * lib/xstrtol.h (__attribute__): Likewise.
59520         * lib/xvasprintf.h (__attribute__): Likewise.
59521
59522 2008-01-12  Bruno Haible  <bruno@clisp.org>
59523
59524         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59525         * doc/glibc-headers/a.out.texi: New file.
59526         * doc/glibc-headers/aliases.texi: New file.
59527         * doc/glibc-headers/alloca.texi: New file.
59528         * doc/glibc-headers/ar.texi: New file.
59529         * doc/glibc-headers/argp.texi: New file.
59530         * doc/glibc-headers/argz.texi: New file.
59531         * doc/glibc-headers/byteswap.texi: New file.
59532         * doc/glibc-headers/crypt.texi: New file.
59533         * doc/glibc-headers/endian.texi: New file.
59534         * doc/glibc-headers/envz.texi: New file.
59535         * doc/glibc-headers/err.texi: New file.
59536         * doc/glibc-headers/error.texi: New file.
59537         * doc/glibc-headers/execinfo.texi: New file.
59538         * doc/glibc-headers/fpu_control.texi: New file.
59539         * doc/glibc-headers/fstab.texi: New file.
59540         * doc/glibc-headers/fts.texi: New file.
59541         * doc/glibc-headers/getopt.texi: New file.
59542         * doc/glibc-headers/ieee754.texi: New file.
59543         * doc/glibc-headers/ifaddrs.texi: New file.
59544         * doc/glibc-headers/libintl.texi: New file.
59545         * doc/glibc-headers/mcheck.texi: New file.
59546         * doc/glibc-headers/mntent.texi: New file.
59547         * doc/glibc-headers/obstack.texi: New file.
59548         * doc/glibc-headers/paths.texi: New file.
59549         * doc/glibc-headers/printf.texi: New file.
59550         * doc/glibc-headers/pty.texi: New file.
59551         * doc/glibc-headers/resolv.texi: New file.
59552         * doc/glibc-headers/shadow.texi: New file.
59553         * doc/glibc-headers/sysexits.texi: New file.
59554         * doc/glibc-headers/ttyent.texi: New file.
59555
59556 2008-01-12  Jim Meyering  <meyering@redhat.com>
59557
59558         announce-gen: emit Gnulib's git-based version string.
59559         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59560         New option --gnulib-version=V, where V is expected to be
59561         the output of running git describe in the gnulib directory.
59562         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59563         not useful, and plan to stop publishing an xdelta file with each
59564         coreutils release.
59565
59566         * build-aux/announce-gen: Also check for lzma-compressed files.
59567
59568 2008-01-11  Bruno Haible  <bruno@clisp.org>
59569
59570         * tests/test-memmem.c (main): Increase maximum allowed time.
59571         * tests/test-strstr.c (main): Likewise.
59572
59573 2008-01-11  Bruno Haible  <bruno@clisp.org>
59574
59575         * doc/functions/memmem.texi: Add more precisions about platforms.
59576         * doc/functions/strstr.texi: Likewise.
59577
59578 2008-01-10  Eric Blake  <ebb9@byu.net>
59579
59580         * m4/strstr.m4: Delete cruft from copy-n-paste.
59581         Reported by Bruno Haible.
59582
59583 2008-01-10  Bruno Haible  <bruno@clisp.org>
59584
59585         Make c-strstr rely on strstr.
59586         * lib/c-strstr.c: Don't include str-kmp.h.
59587         (c_strstr): Define in terms of strstr.
59588         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59589         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59590
59591 2008-01-10  Bruno Haible  <bruno@clisp.org>
59592
59593         * doc/gnulib.texi (String Functions in C Locale): New section.
59594         * doc/c-ctype.texi: New file.
59595         * doc/c-strcase.texi: New file.
59596         * doc/c-strcaseeq.texi: New file.
59597         * doc/c-strcasestr.texi: New file.
59598         * doc/c-strstr.texi: New file.
59599         * doc/c-strtod.texi: New file.
59600         * doc/c-strtold.texi: New file.
59601
59602 2008-01-10  Eric Blake  <ebb9@byu.net>
59603
59604         * lib/relocatable.h: Fix a comment.
59605
59606 2008-01-10  Eric Blake  <ebb9@byu.net>
59607
59608         Share two-way algorithm.
59609         * lib/str-two-way.h: New file, merged from...
59610         * lib/memmem.c: ...here...
59611         * lib/strstr.c: ...and here.
59612         * modules/memmem (Files): Use it.
59613         * modules/strstr (Files): Likewise.
59614
59615         Avoid quadratic strstr implementations.
59616         * lib/strstr.c: New file.
59617         * m4/strstr.m4: Likewise.
59618         * modules/strstr: Likewise.
59619         * modules/strstr-tests: Likewise.
59620         * tests/test-strstr.c: Likewise.
59621         * lib/string.in.h (rpl_strstr): Declare.
59622         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
59623         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
59624         * modules/string (Makefile.am): Likewise.
59625         * MODULES.html.sh (string handling): Mention new module.
59626         * doc/functions/strstr.texi (strstr): Document the bug.
59627
59628 2008-01-10  Bruno Haible  <bruno@clisp.org>
59629
59630         * lib/relocatable.h (relocate): State whether result is freshly
59631         allocated or not.
59632         * lib/relocatable.c (relocate): Return a freshly allocated string
59633         instead of a pointer to a privately held string.
59634         Reported by Sylvain Beucler <beuc@gnu.org>.
59635
59636 2008-01-10  Colin Watson  <cjwatson@debian.org>
59637
59638         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
59639         s/S_ISNLK/S_ISLNK/.
59640
59641 2008-01-09  Bruno Haible  <bruno@clisp.org>
59642
59643         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59644         and other files.
59645         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59646         if it's only a guess.
59647         * modules/memmem: Simplify by depending on memmem-simple.
59648
59649 2008-01-09  Bruno Haible  <bruno@clisp.org>
59650
59651         Work around OpenBSD 4.0 tdelete() bug.
59652         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59653         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59654         macros and don't redefine the enum values.
59655         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59656         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59657         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59658
59659 2008-01-09  Bruno Haible  <bruno@clisp.org>
59660
59661         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59662         (main): Don't perform the tests if setlocale did not install a UTF-8
59663         locale. Needed on OpenBSD 4.0.
59664         * modules/wcwidth-tests (Depends-on): Add localcharset.
59665
59666 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59667
59668         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
59669         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
59670         * NEWS: announce this.
59671         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
59672
59673 2008-01-09  Simon Josefsson  <simon@josefsson.org>
59674         and Eric Blake  <ebb9@byu.net>
59675
59676         Add memmem-simple module.
59677         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
59678         (gl_FUNC_MEMMEM): Separate performance from presence checks.
59679         * modules/memmem-simple: New file.
59680         * modules/memmem (Description): Tweak.
59681         * MODULES.html.sh (string handling): Mention new module.
59682         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
59683         addressed by memmem-simple.
59684         * NEWS: Document the difference.
59685
59686 2008-01-09  Eric Blake  <ebb9@byu.net>
59687
59688         Give gcc some memmem optimization hints.
59689         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
59690         (strcasestr): Declare as pure.
59691         * modules/memmem (Maintainer): Claim my implementation.
59692
59693 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59694
59695         Support AIX 6.1 and higher.
59696         * build-aux/config.libpath: Likewise.
59697         * build-aux/config.rpath: Likewise.
59698
59699 2008-01-08  Jim Meyering  <meyering@redhat.com>
59700             Bruno Haible  <bruno@clisp.org>
59701
59702         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
59703         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
59704         Reported by Peter Fales in
59705         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
59706
59707 2008-01-08  Bruno Haible  <bruno@clisp.org>
59708
59709         * modules/unictype/category-of (Depends-on): Add
59710         unictype/category-none.
59711         * modules/unictype/category-and-tests (Depends-on): Add
59712         unictype/category-{L,N,Lu,Nd}.
59713         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
59714         * modules/unictype/category-or-tests (Depends-on): Add
59715         unictype/category-{L,N}.
59716         * modules/unictype/category-name-tests (Depends-on): Add
59717         unictype/category-{Z,Nl}.
59718         Reported by Simon Josefsson.
59719
59720 2008-01-08  Bruno Haible  <bruno@clisp.org>
59721
59722         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
59723         convention better.
59724         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
59725         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
59726         Reported by Peter Miller <millerp@canb.auug.org.au>.
59727
59728 2008-01-08  Eric Blake  <ebb9@byu.net>
59729
59730         Rewrite memmem to guarantee linear complexity without malloc.
59731         * lib/memmem.c (memmem): Use Two-Way rather than
59732         Knuth-Morris-Pratt, to allow O(1) space usage.
59733         (critical_factorization, two_way_short_needle)
59734         (two_way_long_needle): New functions.
59735         (knuth_morris_pratt): Delete.
59736         * modules/memmem (Depends-on): No longer need malloca or stdbool.
59737         Add stdint.
59738         * tests/test-memmem.c (main): Add tests for periodic needle and
59739         sublinear performance.
59740         * doc/functions/memmem.texi (memmem): Document other deficiencies
59741         in cygwin and older glibc.
59742
59743 2008-01-08  Bruno Haible  <bruno@clisp.org>
59744
59745         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
59746         augmentation.
59747
59748 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
59749
59750         Add a configure time option: --disable-acl.
59751         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
59752         AC_ARG_ENABLE(acl).
59753
59754 2008-01-06  Simon Josefsson  <simon@josefsson.org>
59755
59756         * tests/test-localename.c: Don't include obsolete "setenv.h".
59757
59758         * modules/localename-tests (Depends-on): Need unsetenv.
59759
59760 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59761
59762         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
59763
59764 2008-01-06  Colin Watson  <cjwatson@debian.org>
59765
59766         * users.txt: Add man-db.
59767
59768 2008-01-07  Bruno Haible  <bruno@clisp.org>
59769
59770         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
59771         previous section name.
59772
59773 2008-01-07  Bruno Haible  <bruno@clisp.org>
59774
59775         * lib/progname.c (set_program_name): Don't strip off a leading
59776         "lt-" prefix outside a .libs directory.
59777         Suggested by Paul Eggert.
59778
59779 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
59780             Bruno Haible  <bruno@clisp.org>
59781
59782         Improve memory cleanup in 'relocatable' module.
59783         * lib/relocatable.h (compute_curr_prefix): Change return type to
59784         'char *'.
59785         * lib/relocatable.c (compute_curr_prefix): Change return type to
59786         'char *'. Free curr_installdir after use.
59787         (relocate): Free curr_prefix_better after use.
59788         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
59789
59790 2008-01-01  Bruno Haible  <bruno@clisp.org>
59791
59792         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
59793         failure on older glibc systems.
59794         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59795
59796 2008-01-05  Eric Blake  <ebb9@byu.net>
59797
59798         Avoid quadratic system memmem.
59799         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
59800         Reported by Ralf Wildenhues.
59801
59802         Fix memmem test for mingw.
59803         * modules/memmem-tests (configure.ac): Check for alarm.
59804         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
59805         it.
59806         * doc/functions/memmem.texi: New file.
59807         * doc/gnulib.texi (Function Substitutes): Add memmem.
59808         Reported by Bruno Haible.
59809
59810 2008-01-04  Bruno Haible  <bruno@clisp.org>
59811
59812         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
59813         Require gl_HEADER_STRINGS_H_DEFAULTS, not
59814         gl_HEADER_STRING_H_DEFAULTS.
59815
59816 2008-01-04  Eric Blake  <ebb9@byu.net>
59817
59818         Shorten duration of memmem test.
59819         * tests/test-memmem.c (main): Use alarm to declare failure if test
59820         is taking too long.
59821         Reported by Ralf Wildenhues.
59822
59823 2007-12-21  Simon Josefsson  <simon@josefsson.org>
59824
59825         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
59826         string, needed by strerror.
59827
59828 2008-01-03  Colin Watson  <cjwatson@debian.org>
59829             Bruno Haible  <bruno@clisp.org>
59830
59831         * doc/gnulib-tool.texi (Localization): New section.
59832
59833 2008-01-02  Bruno Haible  <bruno@clisp.org>
59834
59835         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
59836         variables to 'unsigned char *' type.
59837         Reported by Paul Eggert.
59838
59839 2008-01-02  Jim Meyering  <jim@meyering.net>
59840
59841         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
59842
59843 2007-12-31  Jim Meyering  <jim@meyering.net>
59844
59845         Avoid use of private FTS type name.
59846         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
59847
59848 2007-12-30  Karl Berry  <karl@gnu.org>
59849
59850         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
59851         work around defect in Texinfo and/or the standalone Info browser.
59852
59853 2007-12-30  Bruno Haible  <bruno@clisp.org>
59854
59855         Unify 5 copies of the KMP code.
59856         * lib/str-kmp.h: New file.
59857         * lib/c-strcasestr.c: Include str-kmp.h.
59858         (knuth_morris_pratt): Remove function.
59859         (c_strcasestr): Update.
59860         * lib/c-strstr.c: Include str-kmp.h.
59861         (knuth_morris_pratt): Remove function.
59862         (c_strcasestr): Update.
59863         * lib/mbscasestr.c: Include str-kmp.h.
59864         (knuth_morris_pratt_unibyte): Remove function.
59865         * lib/mbsstr.c: Include str-kmp.h.
59866         (knuth_morris_pratt_unibyte): Remove function.
59867         * lib/strcasestr.c: Include str-kmp.h.
59868         (knuth_morris_pratt): Remove function.
59869         (strcasestr): Update.
59870         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
59871         * modules/c-strstr (Files): Likewise.
59872         * modules/mbscasestr (Files): Likewise.
59873         * modules/mbsstr (Files): Likewise.
59874         * modules/strcasestr (Files): Likewise.
59875         Suggested by Paul Eggert.
59876
59877 2007-12-30  Bruno Haible  <bruno@clisp.org>
59878
59879         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
59880         defined.
59881
59882 2007-12-30  Bruno Haible  <bruno@clisp.org>
59883
59884         * lib/xmalloca.h: Include xalloc.h.
59885         (xnmalloca): New macro.
59886
59887 2007-12-30  Bruno Haible  <bruno@clisp.org>
59888
59889         * lib/malloca.h (nmalloca): New macro.
59890         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
59891         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
59892         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
59893         knuth_morris_pratt_multibyte): Likewise.
59894         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
59895         knuth_morris_pratt_multibyte): Likewise.
59896         * lib/memmem.c (knuth_morris_pratt): Likewise.
59897         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
59898
59899 2007-12-25  Bruno Haible  <bruno@clisp.org>
59900
59901         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
59902         * lib/glob.c: Don't include openat.h.
59903         (link_exists2_p): Add back the code that deals with the
59904         !GLOB_ALTDIRFUNC case.
59905         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
59906         let it do the filename concatenation.
59907         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
59908         * modules/glob (Depends-on): Remove openat.
59909
59910 2007-12-31  Bruno Haible  <bruno@clisp.org>
59911
59912         * modules/dirfd (License): Change to LGPLv2+.
59913         Approved by Jim Meyering.
59914
59915 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59916
59917         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
59918         when multiplying M by sizeof (size_t).
59919
59920 2007-12-10  Martin Lambers  <marlam@marlam.de>
59921
59922         Override getpagesize on mingw.
59923         * lib/getpagesize.c: New file.
59924         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
59925         * modules/getpagesize (Files): Add lib/getpagesize.c.
59926         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
59927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
59928         REPLACE_GETPAGESIZE.
59929         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
59930
59931 2007-12-25  Bruno Haible  <bruno@clisp.org>
59932
59933         * modules/localcharset (Notice): New field.
59934         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
59935         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
59936
59937 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59938             Bruno Haible  <bruno@clisp.org>
59939
59940         Avoid using the syntax symbol() in formatted documentation.
59941         * MODULES.html.sh (func_module): When replacing symbol() with a
59942         hyperlink, remove the parentheses. Show an error if some remain.
59943         Recognize and render the '...' syntax.
59944         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
59945         Rework. Add paragraph about GCC's inlining.
59946         * doc/alloca.texi: Likewise.
59947         * doc/error.texi: Remove parentheses from symbol reference.
59948         * doc/gnulib-intro.texi: Likewise.
59949         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
59950         * modules/fnmatch (Description): Reword to say "the ... function".
59951         * modules/full-read (Description): Likewise.
59952         * modules/full-write (Description): Likewise.
59953         * modules/safe-read (Description): Likewise.
59954         * modules/safe-write (Description): Likewise.
59955         * modules/strchrnul (Description): Likewise.
59956         * modules/trim (Description): Likewise.
59957         * modules/error (Description): Remove parentheses from symbol
59958         references.
59959         * modules/verror (Description): Likewise.
59960         Reported by Karl Berry.
59961
59962 2007-12-25  Bruno Haible  <bruno@clisp.org>
59963
59964         Fixup after 2007-10-16 commit.
59965         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
59966
59967 2007-12-24  Bruno Haible  <bruno@clisp.org>
59968
59969         Make --enable-relocatable work with DESTDIR.
59970         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
59971         to compute installdir from destprog.
59972         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
59973         also set the RELOC_DESTDIR variable.
59974         Reported by Левашев Иван <octagram@bluebottle.com>.
59975
59976 2007-12-24  Bruno Haible  <bruno@clisp.org>
59977
59978         Fix link error due to xalloc_die().
59979         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
59980         of xreadlink.
59981         * lib/relocwrapper.c: Update comments.
59982         * build-aux/install-reloc: Remove xreadlink.c from file list.
59983         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
59984         xreadlink.c.
59985         Reported by Левашев Иван <octagram@bluebottle.com>.
59986
59987 2007-12-24  Bruno Haible  <bruno@clisp.org>
59988
59989         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
59990         * lib/setenv.h: Remove file.
59991         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
59992         lib/setenv.h.
59993         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
59994         (Depends-on): Add stdlib.
59995         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
59996         gl_FUNC_UNSETENV.
59997         (Include): Replace setenv.h with <stdlib.h>.
59998         * modules/unsetenv: New file.
59999         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
60000         * lib/unsetenv.c: Include <stdlib.h> first.
60001         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
60002         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
60003         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
60004         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
60005         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
60006         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60007         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60008         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60009         * doc/functions/unsetenv.texi: Update.
60010         * modules/xsetenv (Depends-on): Add unsetenv.
60011         * modules/getdate (Depends-on): Likewise.
60012         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60013         * lib/xsetenv.c: Don't include setenv.h.
60014         * lib/getdate.y: Likewise.
60015         * lib/relocwrapper.c: Likewise.
60016         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60017         (Depends-on): Add stdlib.
60018         * NEWS: Mention the changes.
60019         Reported by Левашев Иван <octagram@bluebottle.com>.
60020
60021 2007-12-23  Bruno Haible  <bruno@clisp.org>
60022
60023         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60024         indentation.
60025
60026 2007-12-23  Bruno Haible  <bruno@clisp.org>
60027
60028         * lib/c-strcasestr.c: Add more comments.
60029         * lib/c-strstr.c: Likewise.
60030         * lib/mbscasestr.c: Likewise.
60031         * lib/mbsstr.c: Likewise.
60032         * lib/strcasestr.c: Likewise.
60033         * lib/memmem.c: Likewise.
60034
60035 2007-12-23  Bruno Haible  <bruno@clisp.org>
60036
60037         * tests/test-memmem.c: Include <string.h> first.
60038
60039 2007-12-22  Bruno Haible  <bruno@clisp.org>
60040
60041         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60042         the contents of $testsbase.
60043         Reported by Ralf Wildenhues.
60044
60045 2007-12-22  Bruno Haible  <bruno@clisp.org>
60046
60047         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60048         two variables local_ldadd_before, local_ldadd_last.
60049
60050 2007-12-20  Eric Blake  <ebb9@byu.net>
60051
60052         Work around circular library issue when cross-compiling.
60053         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60054         that progname.o does not need to pull in rpl_memcmp.
60055
60056 2007-12-19  Eric Blake  <ebb9@byu.net>
60057
60058         Fix memmem to avoid O(n^2) worst-case complexity.
60059         * lib/memmem.c (knuth_morris_pratt): New function.
60060         (memmem): Use it if first few naive iterations fail.
60061         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60062         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60063         * modules/memchr (License): Likewise.
60064         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
60065         malloca.
60066         * tests/test-memmem.c: Rewrite, borrowing ideas from
60067         test-mbsstr1.c; the old version wouldn't even compile!
60068         * modules/memmem-tests: New file.
60069         * lib/string.in.h (rpl_memmem): Add declaration.
60070         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
60071         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
60072         REPLACE_MEMMEM.
60073
60074 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60075
60076         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
60077         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
60078         before any system include files, and undef after them all.  This
60079         should fix a problem on VMS reported by John E. Malmberg in
60080         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
60081
60082 2007-12-17  Eric Blake  <ebb9@byu.net>
60083
60084         Revert addition of verify, for BSD/OS.
60085         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
60086         can't handle large files, for the sake of obsolete platforms.
60087         * modules/fseeko (Depends-on): Remove verify.
60088         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
60089         * doc/functions/ftello.texi (ftello): Likewise.
60090         * doc/functions/fgetpos.texi (fgetpos): Likewise.
60091         Reported by Larry Jones.
60092
60093 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
60094
60095         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
60096         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
60097
60098 2007-12-17  Jim Meyering  <meyering@redhat.com>
60099
60100         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
60101         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
60102         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
60103         * modules/getcwd (Depends-on): Add openat.
60104         Reported by Petr Salinger.
60105
60106 2007-12-17  Bruno Haible  <bruno@clisp.org>
60107
60108         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
60109         avoid a segmentation fault of the configure test on x86_64 systems.
60110
60111 2007-12-15  Jim Meyering  <meyering@redhat.com>
60112
60113         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
60114
60115 2007-12-13  Eric Blake  <ebb9@byu.net>
60116
60117         Another fseek test.
60118         * tests/test-fseek.c (main): Also test ungetc handling.
60119         * tests/test-fseeko.c (main): Likewise.
60120         * modules/fseeko (Depends-on): Add verify.
60121         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
60122         large.
60123         Reported by Larry Jones.
60124
60125         Fix fseeko on mingw.
60126         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
60127         seek.
60128
60129         Beef up fseek tests.
60130         * tests/test-fseek.c (main): Also test eof handling.
60131         * tests/test-fseeko.c (main): Likewise.
60132         Reported by Larry Jones.
60133
60134 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
60135
60136         Fix fseeko on BSD-based platforms.
60137         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
60138         successful seek.
60139
60140 2007-12-12  Eric Blake  <ebb9@byu.net>
60141
60142         Allow circular dependency of separate libtests.a
60143         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
60144         when use_libtests.
60145
60146 2007-12-11  Eric Blake  <ebb9@byu.net>
60147
60148         Fix bug with -0.0L in previous patch.
60149         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
60150         * tests/test-isnan.c (main): Also test on zeroes.
60151         * tests/test-isnanf.c (main): Likewise.
60152         * tests/test-isnanl.h (main): Likewise.
60153
60154         Detect pseudo-denormals on x86 even when cross-compiling.
60155         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
60156         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
60157         invalid bit patterns that happen to satisfy ==.
60158
60159         Avoid link failures with separate libtests.a.
60160         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
60161         last, to satisfy circular dependencies.
60162
60163 2007-12-11  Eric Blake  <ebb9@byu.net>
60164         and Bruno Haible  <bruno@clisp.org>
60165
60166         Fix OpenBSD 4.0 <float.h> handling of long double.
60167         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
60168         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
60169         * doc/headers/float.texi (float.h): Document OpenBSD bug.
60170
60171 2007-12-11  Jim Meyering  <meyering@redhat.com>
60172
60173         * users.txt: Add libvirt.
60174
60175         Support versions of autoconf prior to 2.59c.
60176         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
60177         if it is not already defined.
60178
60179 2007-12-09  Bruno Haible  <bruno@clisp.org>
60180
60181         Let 'gnulib-tool --import' collect sources needed for the tests in
60182         tests/ rather than in lib/.
60183         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
60184         argument. If true, add rules to generate libtests.a, and put libtests.a
60185         into $(LDADD). Consider source files in subdirectories and set
60186         uses_subdirs.
60187         (func_emit_initmacro_start, func_emit_initmacro_end,
60188         func_emit_initmacro_done): Pass all arguments explicitly.
60189         (func_import): Determine two module lists main_modules,
60190         testsrelated_modules. Determine use_libtests. Determine two variables
60191         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
60192         instead of just sed_transform_lib_file. Determine two variables
60193         main_files and testsrelated_files. Compute 'files' as the union of
60194         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
60195         func_add_or_update. In the generated gnulib-comp.m4, collect the
60196         object files for tests/ in different variables than those for lib/.
60197         Substitute LIBTESTS_LIBDEPS.
60198         (func_create_testdir): Combine the uses_subdirs results from
60199         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
60200
60201 2007-12-09  Bruno Haible  <bruno@clisp.org>
60202
60203         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
60204         the build-aux directory.
60205
60206 2007-12-09  Bruno Haible  <bruno@clisp.org>
60207
60208         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
60209         introduced on 2006-09-09.
60210
60211 2007-12-07  Jim Meyering  <meyering@redhat.com>
60212
60213         Let these macros work also with autoconf-2.59.
60214         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
60215         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
60216         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60217
60218 2007-12-06  Jim Meyering  <meyering@redhat.com>
60219
60220         Avoid a configure-time syntax error in gl_FUNC_ACL.
60221         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
60222         function in each branch, before testing the cache variable.
60223
60224 2007-12-04  Eric Blake  <ebb9@byu.net>
60225
60226         Make scripts executable.
60227         * build-aux/config.guess: Add execute permissions.
60228         * build-aux/config.sub: Likewise.
60229         * build-aux/gendocs.sh: Likewise.
60230
60231         Fix frexp on mingw.
60232         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
60233         cross-compiling.
60234         * doc/functions/frexp.texi (frexp): Document the bug.
60235
60236         Make cygwin fseeko check more reliable.
60237         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
60238         version numbers, rather than unrelated feature check.
60239         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
60240         * doc/functions/ftello.texi (ftello): Likewise.
60241         Reported by Bruno Haible.
60242
60243         * m4/strerror.m4: Bump version number.
60244
60245 2007-12-03  Bruno Haible  <bruno@clisp.org>
60246
60247         * doc/functions/mprotect.texi: Mention the mingw problem.
60248
60249 2007-12-03  Eric Blake  <ebb9@byu.net>
60250
60251         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
60252         REPLACE_STRERROR is initialized before this macro.
60253
60254 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60255
60256         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
60257         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
60258         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
60259         put -lsec in even for programs other than 'ls'.  This fixes a problem
60260         for gettext reported by Bruno Haible in
60261         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
60262         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
60263         Add support for Solaris 10.  This isn't efficient, but should get the
60264         job done for now.
60265
60266 2007-12-03  James Youngman  <jay@gnu.org>
60267
60268         * doc/regexprops-generic.texi: change "an close-group" to "a
60269         close-group" and "illegal" to "not allowed".
60270
60271 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60272
60273         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
60274         pr_byname.h. Needed for the rare case when the maintainer has done
60275         "make maintainer-clean" in the source directory and then attempts a
60276         build outside the source directory.
60277         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
60278         scripts_byname.h.
60279
60280 2007-12-02  Martin Lambers <marlam@marlam.de>
60281             Bruno Haible  <bruno@clisp.org>
60282
60283         * lib/getpagesize.h: Remove file.
60284         * lib/unistd.in.h: Include declaration of getpagesize here.
60285         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
60286         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
60287         HAVE_SYS_PARAM_H.
60288         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
60289         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60290         * modules/getpagesize (Files): Remove lib/getpagesize.h.
60291         (Depends-on): Add unistd.
60292         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60293         (Include): Use <unistd.h> instead of getpagesize.h.
60294         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
60295         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60296         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
60297         gl_GETPAGESIZE invocation, already handled by module dependency.
60298         * lib/pagealign_alloc.c: Don't include getpagesize.h.
60299
60300 2007-12-02  Bruno Haible  <bruno@clisp.org>
60301
60302         * modules/strings-tests: New file.
60303         * tests/test-strings.c: New file.
60304
60305         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
60306         * lib/strings.in.h: New file.
60307         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
60308         * m4/strings_h.m4: New file.
60309         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
60310         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
60311         * modules/strings: New file.
60312         * modules/string (Makefile.am): Update.
60313         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
60314         Reported by Karl Berry.
60315
60316 2007-12-01  Eric Blake  <ebb9@byu.net>
60317
60318         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
60319         accommodate fix in cygwin 1.5.25.
60320
60321 2007-12-01  Jim Meyering  <meyering@redhat.com>
60322
60323         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
60324         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
60325         that would inhibit utf8-optimization of a regexp containing line-
60326         or buffer-anchors, e.g., `^', `$'.
60327
60328 2007-11-30  Bruno Haible  <bruno@clisp.org>
60329
60330         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
60331         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
60332         glthread_recursive_lock_init.
60333         * lib/lock.c (glthread_recursive_lock_init)
60334         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
60335         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60336
60337 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
60338
60339         New function qset_acl, like set_acl but with syscall semantics.
60340         * lib/acl.h (qset_acl): New decl.
60341         * lib/acl.c (qset_acl): New function.
60342         (set_acl): Use new function.  Use more-consistent diagnostics.
60343
60344 2007-11-28  Jim Meyering  <meyering@redhat.com>
60345
60346         * modules/physmem (License): Change from GPL to LGPLv2+.
60347
60348 2007-11-26  Bruno Haible  <bruno@clisp.org>
60349
60350         * lib/vasnprintf.c (decode_long_double): Don't abort if the
60351         'long double' type has excess precision.
60352         Reported by Jim Meyering in
60353         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
60354
60355 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60356
60357         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
60358         Sync from <http://gnu.org/licenses>.
60359         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
60360         with license text from same location.
60361         * doc/maintain.texi, doc/standards.texi:  Sync from
60362         <http://savannah.gnu.org/projects/gnustandards>.
60363
60364 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
60365         and Jim Meyering  <meyering@redhat.com>
60366
60367         Adjust getdate' grammar to accept a slightly more regular language.
60368         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
60369         Before, the former was rejected.
60370         * lib/getdate.y (digits_to_date_time): New function, factored
60371         out of ...
60372         (number): ...here.  Just call digits_to_date_time.
60373         (hybrid): New non-terminal to handle an <unsigned number,
60374         signed relative offset> sequence consistently.
60375
60376 2007-11-18  Jim Meyering  <meyering@redhat.com>
60377
60378         Pull my changes from coreutils:
60379         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
60380         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
60381         use of $gnulib_tool_option_extras, so that it's separated from the
60382         preceding argument.
60383
60384         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
60385         * build-aux/bootstrap (cp_mark_as_generated): Create any required
60386         parent destination directories before copying a file into place.
60387
60388 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60389
60390         bootstrap: work also with 4-argument variant of AC_INIT
60391         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
60392
60393 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60394
60395         Port test-getaddrinfo to Solaris.
60396         Problem reported by Bruno Haible in
60397         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
60398         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
60399         explanation of setting 'hints'.
60400         Don't reject an implementation merely because it returns EAI_SERVICE.
60401         (EAI_SERVICE): Define to 0 if not defined.
60402
60403 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60404
60405         The license of gnu-make and posix-shell is now "GPLed build tool".
60406         * modules/gnu-make (License): Likewise.
60407         * modules/posix-shell (License): Likewise.
60408
60409         New module posix-shell, for determining a POSIX shell
60410         or perhaps something that is close enough to a POSIX shell.
60411         * m4/posix-shell.m4: New file.
60412         * modules/posix-shell: New file.
60413
60414         * MODULES.html.sh: Mention new module.
60415
60416         New module gnu-make, for determining whether we're using GNU Make.
60417         * m4/gnu-make.m4: New file.
60418         * modules/gnu-make: New file.
60419         * MODULES.html.sh: Mention new module.
60420
60421 2007-11-14  Jim Meyering  <meyering@redhat.com>
60422
60423         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
60424         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
60425         use this macro to create a function _definition_.
60426         Remove useless "#undef ARGMATCH_DIE".
60427
60428 2007-11-14  Bruno Haible  <bruno@clisp.org>
60429
60430         * lib/config.charset: Update for OpenBSD 4.1.
60431         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60432
60433 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60434
60435         Document 64-bit #if problems in stdint.texi.
60436         * doc/headers/stdint.texi (stdint.h): Mention problems with
60437         64-bit-#if, and how to work around them.
60438
60439         Don't insist on 'long long int' support in the preprocessor.  It
60440         breaks too many things.  For example, PRIdMAX still uses a 'long
60441         long int' format with the latest Sun compiler, even though
60442         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60443         preprocessor problem.  This causes the latest coreutils to dump
60444         core on Solaris 10 sparc with the Sun C compiler.
60445         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60446         the troublesome expressions at configure-time, not at #if-time.
60447         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60448         preprocessor.
60449         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60450         compile-time C checks, done at 'configure'-time.
60451         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60452         * modules/inttypes (Makefile): Substitute the new symbols that
60453         gl_INTTYPES_H now generates.
60454         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60455
60456 2007-11-12  Bruno Haible  <bruno@clisp.org>
60457
60458         Tests for Unicode character classification functions.
60459
60460         * modules/unictype/bidicategory-byname-tests: New file.
60461         * modules/unictype/bidicategory-name-tests: New file.
60462         * modules/unictype/bidicategory-of-tests: New file.
60463         * modules/unictype/bidicategory-test-tests: New file.
60464         * modules/unictype/block-list-tests: New file.
60465         * modules/unictype/block-of-tests: New file.
60466         * modules/unictype/block-test-tests: New file.
60467         * modules/unictype/category-C-tests: New file.
60468         * modules/unictype/category-Cc-tests: New file.
60469         * modules/unictype/category-Cf-tests: New file.
60470         * modules/unictype/category-Cn-tests: New file.
60471         * modules/unictype/category-Co-tests: New file.
60472         * modules/unictype/category-Cs-tests: New file.
60473         * modules/unictype/category-L-tests: New file.
60474         * modules/unictype/category-Ll-tests: New file.
60475         * modules/unictype/category-Lm-tests: New file.
60476         * modules/unictype/category-Lo-tests: New file.
60477         * modules/unictype/category-Lt-tests: New file.
60478         * modules/unictype/category-Lu-tests: New file.
60479         * modules/unictype/category-M-tests: New file.
60480         * modules/unictype/category-Mc-tests: New file.
60481         * modules/unictype/category-Me-tests: New file.
60482         * modules/unictype/category-Mn-tests: New file.
60483         * modules/unictype/category-N-tests: New file.
60484         * modules/unictype/category-Nd-tests: New file.
60485         * modules/unictype/category-Nl-tests: New file.
60486         * modules/unictype/category-No-tests: New file.
60487         * modules/unictype/category-P-tests: New file.
60488         * modules/unictype/category-Pc-tests: New file.
60489         * modules/unictype/category-Pd-tests: New file.
60490         * modules/unictype/category-Pe-tests: New file.
60491         * modules/unictype/category-Pf-tests: New file.
60492         * modules/unictype/category-Pi-tests: New file.
60493         * modules/unictype/category-Po-tests: New file.
60494         * modules/unictype/category-Ps-tests: New file.
60495         * modules/unictype/category-S-tests: New file.
60496         * modules/unictype/category-Sc-tests: New file.
60497         * modules/unictype/category-Sk-tests: New file.
60498         * modules/unictype/category-Sm-tests: New file.
60499         * modules/unictype/category-So-tests: New file.
60500         * modules/unictype/category-Z-tests: New file.
60501         * modules/unictype/category-Zl-tests: New file.
60502         * modules/unictype/category-Zp-tests: New file.
60503         * modules/unictype/category-Zs-tests: New file.
60504         * modules/unictype/category-and-not-tests: New file.
60505         * modules/unictype/category-and-tests: New file.
60506         * modules/unictype/category-byname-tests: New file.
60507         * modules/unictype/category-name-tests: New file.
60508         * modules/unictype/category-none-tests: New file.
60509         * modules/unictype/category-of-tests: New file.
60510         * modules/unictype/category-or-tests: New file.
60511         * modules/unictype/category-test-withtable-tests: New file.
60512         * modules/unictype/combining-class-tests: New file.
60513         * modules/unictype/ctype-alnum-tests: New file.
60514         * modules/unictype/ctype-alpha-tests: New file.
60515         * modules/unictype/ctype-blank-tests: New file.
60516         * modules/unictype/ctype-cntrl-tests: New file.
60517         * modules/unictype/ctype-digit-tests: New file.
60518         * modules/unictype/ctype-graph-tests: New file.
60519         * modules/unictype/ctype-lower-tests: New file.
60520         * modules/unictype/ctype-print-tests: New file.
60521         * modules/unictype/ctype-punct-tests: New file.
60522         * modules/unictype/ctype-space-tests: New file.
60523         * modules/unictype/ctype-upper-tests: New file.
60524         * modules/unictype/ctype-xdigit-tests: New file.
60525         * modules/unictype/decimal-digit-tests: New file.
60526         * modules/unictype/digit-tests: New file.
60527         * modules/unictype/mirror-tests: New file.
60528         * modules/unictype/numeric-tests: New file.
60529         * modules/unictype/property-alphabetic-tests: New file.
60530         * modules/unictype/property-ascii-hex-digit-tests: New file.
60531         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60532         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60533         * modules/unictype/property-bidi-block-separator-tests: New file.
60534         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60535         * modules/unictype/property-bidi-common-separator-tests: New file.
60536         * modules/unictype/property-bidi-control-tests: New file.
60537         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60538         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60539         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60540         * modules/unictype/property-bidi-european-digit-tests: New file.
60541         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60542         * modules/unictype/property-bidi-left-to-right-tests: New file.
60543         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60544         * modules/unictype/property-bidi-other-neutral-tests: New file.
60545         * modules/unictype/property-bidi-pdf-tests: New file.
60546         * modules/unictype/property-bidi-segment-separator-tests: New file.
60547         * modules/unictype/property-bidi-whitespace-tests: New file.
60548         * modules/unictype/property-byname-tests: New file.
60549         * modules/unictype/property-combining-tests: New file.
60550         * modules/unictype/property-composite-tests: New file.
60551         * modules/unictype/property-currency-symbol-tests: New file.
60552         * modules/unictype/property-dash-tests: New file.
60553         * modules/unictype/property-decimal-digit-tests: New file.
60554         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60555         * modules/unictype/property-deprecated-tests: New file.
60556         * modules/unictype/property-diacritic-tests: New file.
60557         * modules/unictype/property-extender-tests: New file.
60558         * modules/unictype/property-format-control-tests: New file.
60559         * modules/unictype/property-grapheme-base-tests: New file.
60560         * modules/unictype/property-grapheme-extend-tests: New file.
60561         * modules/unictype/property-grapheme-link-tests: New file.
60562         * modules/unictype/property-hex-digit-tests: New file.
60563         * modules/unictype/property-hyphen-tests: New file.
60564         * modules/unictype/property-id-continue-tests: New file.
60565         * modules/unictype/property-id-start-tests: New file.
60566         * modules/unictype/property-ideographic-tests: New file.
60567         * modules/unictype/property-ids-binary-operator-tests: New file.
60568         * modules/unictype/property-ids-trinary-operator-tests: New file.
60569         * modules/unictype/property-ignorable-control-tests: New file.
60570         * modules/unictype/property-iso-control-tests: New file.
60571         * modules/unictype/property-join-control-tests: New file.
60572         * modules/unictype/property-left-of-pair-tests: New file.
60573         * modules/unictype/property-line-separator-tests: New file.
60574         * modules/unictype/property-logical-order-exception-tests: New file.
60575         * modules/unictype/property-lowercase-tests: New file.
60576         * modules/unictype/property-math-tests: New file.
60577         * modules/unictype/property-non-break-tests: New file.
60578         * modules/unictype/property-not-a-character-tests: New file.
60579         * modules/unictype/property-numeric-tests: New file.
60580         * modules/unictype/property-other-alphabetic-tests: New file.
60581         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60582         * modules/unictype/property-other-grapheme-extend-tests: New file.
60583         * modules/unictype/property-other-id-continue-tests: New file.
60584         * modules/unictype/property-other-id-start-tests: New file.
60585         * modules/unictype/property-other-lowercase-tests: New file.
60586         * modules/unictype/property-other-math-tests: New file.
60587         * modules/unictype/property-other-uppercase-tests: New file.
60588         * modules/unictype/property-paired-punctuation-tests: New file.
60589         * modules/unictype/property-paragraph-separator-tests: New file.
60590         * modules/unictype/property-pattern-syntax-tests: New file.
60591         * modules/unictype/property-pattern-white-space-tests: New file.
60592         * modules/unictype/property-private-use-tests: New file.
60593         * modules/unictype/property-punctuation-tests: New file.
60594         * modules/unictype/property-quotation-mark-tests: New file.
60595         * modules/unictype/property-radical-tests: New file.
60596         * modules/unictype/property-sentence-terminal-tests: New file.
60597         * modules/unictype/property-soft-dotted-tests: New file.
60598         * modules/unictype/property-space-tests: New file.
60599         * modules/unictype/property-terminal-punctuation-tests: New file.
60600         * modules/unictype/property-test-tests: New file.
60601         * modules/unictype/property-titlecase-tests: New file.
60602         * modules/unictype/property-unassigned-code-value-tests: New file.
60603         * modules/unictype/property-unified-ideograph-tests: New file.
60604         * modules/unictype/property-uppercase-tests: New file.
60605         * modules/unictype/property-variation-selector-tests: New file.
60606         * modules/unictype/property-white-space-tests: New file.
60607         * modules/unictype/property-xid-continue-tests: New file.
60608         * modules/unictype/property-xid-start-tests: New file.
60609         * modules/unictype/property-zero-width-tests: New file.
60610         * modules/unictype/scripts-tests: New file.
60611         * modules/unictype/syntax-c-ident-tests: New file.
60612         * modules/unictype/syntax-c-whitespace-tests: New file.
60613         * modules/unictype/syntax-java-ident-tests: New file.
60614         * modules/unictype/syntax-java-whitespace-tests: New file.
60615         * tests/unictype/test-bidi_byname.c: New file.
60616         * tests/unictype/test-bidi_name.c: New file.
60617         * tests/unictype/test-bidi_of.c: New file.
60618         * tests/unictype/test-bidi_test.c: New file.
60619         * tests/unictype/test-block_list.c: New file.
60620         * tests/unictype/test-block_of.c: New file.
60621         * tests/unictype/test-block_test.c: New file.
60622         * tests/unictype/test-categ_and.c: New file.
60623         * tests/unictype/test-categ_and_not.c: New file.
60624         * tests/unictype/test-categ_byname.c: New file.
60625         * tests/unictype/test-categ_name.c: New file.
60626         * tests/unictype/test-categ_none.c: New file.
60627         * tests/unictype/test-categ_of.c: New file.
60628         * tests/unictype/test-categ_or.c: New file.
60629         * tests/unictype/test-categ_test_withtable.c: New file.
60630         * tests/unictype/test-combining.c: New file.
60631         * tests/unictype/test-decdigit.c: New file.
60632         * tests/unictype/test-digit.c: New file.
60633         * tests/unictype/test-mirror.c: New file.
60634         * tests/unictype/test-numeric.c: New file.
60635         * tests/unictype/test-pr_byname.c: New file.
60636         * tests/unictype/test-pr_test.c: New file.
60637         * tests/unictype/test-predicate-part1.h: New file.
60638         * tests/unictype/test-predicate-part2.h: New file.
60639         * tests/unictype/test-scripts.c: New file.
60640         * tests/unictype/test-sy_c_ident.c: New file.
60641         * tests/unictype/test-sy_java_ident.c: New file.
60642
60643         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60644         for Unicode 5.0.0.
60645         * tests/unictype/test-categ_Cc.c: Likewise.
60646         * tests/unictype/test-categ_Cf.c: Likewise.
60647         * tests/unictype/test-categ_Cn.c: Likewise.
60648         * tests/unictype/test-categ_Co.c: Likewise.
60649         * tests/unictype/test-categ_Cs.c: Likewise.
60650         * tests/unictype/test-categ_L.c: Likewise.
60651         * tests/unictype/test-categ_Ll.c: Likewise.
60652         * tests/unictype/test-categ_Lm.c: Likewise.
60653         * tests/unictype/test-categ_Lo.c: Likewise.
60654         * tests/unictype/test-categ_Lt.c: Likewise.
60655         * tests/unictype/test-categ_Lu.c: Likewise.
60656         * tests/unictype/test-categ_M.c: Likewise.
60657         * tests/unictype/test-categ_Mc.c: Likewise.
60658         * tests/unictype/test-categ_Me.c: Likewise.
60659         * tests/unictype/test-categ_Mn.c: Likewise.
60660         * tests/unictype/test-categ_N.c: Likewise.
60661         * tests/unictype/test-categ_Nd.c: Likewise.
60662         * tests/unictype/test-categ_Nl.c: Likewise.
60663         * tests/unictype/test-categ_No.c: Likewise.
60664         * tests/unictype/test-categ_P.c: Likewise.
60665         * tests/unictype/test-categ_Pc.c: Likewise.
60666         * tests/unictype/test-categ_Pd.c: Likewise.
60667         * tests/unictype/test-categ_Pe.c: Likewise.
60668         * tests/unictype/test-categ_Pf.c: Likewise.
60669         * tests/unictype/test-categ_Pi.c: Likewise.
60670         * tests/unictype/test-categ_Po.c: Likewise.
60671         * tests/unictype/test-categ_Ps.c: Likewise.
60672         * tests/unictype/test-categ_S.c: Likewise.
60673         * tests/unictype/test-categ_Sc.c: Likewise.
60674         * tests/unictype/test-categ_Sk.c: Likewise.
60675         * tests/unictype/test-categ_Sm.c: Likewise.
60676         * tests/unictype/test-categ_So.c: Likewise.
60677         * tests/unictype/test-categ_Z.c: Likewise.
60678         * tests/unictype/test-categ_Zl.c: Likewise.
60679         * tests/unictype/test-categ_Zp.c: Likewise.
60680         * tests/unictype/test-categ_Zs.c: Likewise.
60681         * tests/unictype/test-ctype_alnum.c: Likewise.
60682         * tests/unictype/test-ctype_alpha.c: Likewise.
60683         * tests/unictype/test-ctype_blank.c: Likewise.
60684         * tests/unictype/test-ctype_cntrl.c: Likewise.
60685         * tests/unictype/test-ctype_digit.c: Likewise.
60686         * tests/unictype/test-ctype_graph.c: Likewise.
60687         * tests/unictype/test-ctype_lower.c: Likewise.
60688         * tests/unictype/test-ctype_print.c: Likewise.
60689         * tests/unictype/test-ctype_punct.c: Likewise.
60690         * tests/unictype/test-ctype_space.c: Likewise.
60691         * tests/unictype/test-ctype_upper.c: Likewise.
60692         * tests/unictype/test-ctype_xdigit.c: Likewise.
60693         * tests/unictype/test-decdigit.h: Likewise.
60694         * tests/unictype/test-digit.h: Likewise.
60695         * tests/unictype/test-numeric.h: Likewise.
60696         * tests/unictype/test-pr_alphabetic.c: Likewise.
60697         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
60698         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60699         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60700         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
60701         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60702         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
60703         * tests/unictype/test-pr_bidi_control.c: Likewise.
60704         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
60705         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
60706         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60707         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60708         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60709         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60710         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60711         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60712         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
60713         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
60714         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
60715         * tests/unictype/test-pr_combining.c: Likewise.
60716         * tests/unictype/test-pr_composite.c: Likewise.
60717         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60718         * tests/unictype/test-pr_dash.c: Likewise.
60719         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60720         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
60721         * tests/unictype/test-pr_deprecated.c: Likewise.
60722         * tests/unictype/test-pr_diacritic.c: Likewise.
60723         * tests/unictype/test-pr_extender.c: Likewise.
60724         * tests/unictype/test-pr_format_control.c: Likewise.
60725         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60726         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60727         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60728         * tests/unictype/test-pr_hex_digit.c: Likewise.
60729         * tests/unictype/test-pr_hyphen.c: Likewise.
60730         * tests/unictype/test-pr_id_continue.c: Likewise.
60731         * tests/unictype/test-pr_id_start.c: Likewise.
60732         * tests/unictype/test-pr_ideographic.c: Likewise.
60733         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
60734         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
60735         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60736         * tests/unictype/test-pr_iso_control.c: Likewise.
60737         * tests/unictype/test-pr_join_control.c: Likewise.
60738         * tests/unictype/test-pr_left_of_pair.c: Likewise.
60739         * tests/unictype/test-pr_line_separator.c: Likewise.
60740         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60741         * tests/unictype/test-pr_lowercase.c: Likewise.
60742         * tests/unictype/test-pr_math.c: Likewise.
60743         * tests/unictype/test-pr_non_break.c: Likewise.
60744         * tests/unictype/test-pr_not_a_character.c: Likewise.
60745         * tests/unictype/test-pr_numeric.c: Likewise.
60746         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60747         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
60748         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
60749         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60750         * tests/unictype/test-pr_other_id_start.c: Likewise.
60751         * tests/unictype/test-pr_other_lowercase.c: Likewise.
60752         * tests/unictype/test-pr_other_math.c: Likewise.
60753         * tests/unictype/test-pr_other_uppercase.c: Likewise.
60754         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
60755         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
60756         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
60757         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
60758         * tests/unictype/test-pr_private_use.c: Likewise.
60759         * tests/unictype/test-pr_punctuation.c: Likewise.
60760         * tests/unictype/test-pr_quotation_mark.c: Likewise.
60761         * tests/unictype/test-pr_radical.c: Likewise.
60762         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60763         * tests/unictype/test-pr_soft_dotted.c: Likewise.
60764         * tests/unictype/test-pr_space.c: Likewise.
60765         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60766         * tests/unictype/test-pr_titlecase.c: Likewise.
60767         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60768         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60769         * tests/unictype/test-pr_uppercase.c: Likewise.
60770         * tests/unictype/test-pr_variation_selector.c: Likewise.
60771         * tests/unictype/test-pr_white_space.c: Likewise.
60772         * tests/unictype/test-pr_xid_continue.c: Likewise.
60773         * tests/unictype/test-pr_xid_start.c: Likewise.
60774         * tests/unictype/test-pr_zero_width.c: Likewise.
60775         * tests/unictype/test-sy_c_whitespace.c: Likewise.
60776         * tests/unictype/test-sy_java_whitespace.c: Likewise.
60777
60778 2007-11-12  Bruno Haible  <bruno@clisp.org>
60779
60780         Unicode character classification functions.
60781         * lib/unictype.h: New file.
60782         * modules/unictype/base: New file.
60783         * modules/unictype/category-L: New file.
60784         * modules/unictype/category-Lu: New file.
60785         * modules/unictype/category-Ll: New file.
60786         * modules/unictype/category-Lt: New file.
60787         * modules/unictype/category-Lm: New file.
60788         * modules/unictype/category-Lo: New file.
60789         * modules/unictype/category-M: New file.
60790         * modules/unictype/category-Mn: New file.
60791         * modules/unictype/category-Mc: New file.
60792         * modules/unictype/category-Me: New file.
60793         * modules/unictype/category-N: New file.
60794         * modules/unictype/category-Nd: New file.
60795         * modules/unictype/category-Nl: New file.
60796         * modules/unictype/category-No: New file.
60797         * modules/unictype/category-P: New file.
60798         * modules/unictype/category-Pc: New file.
60799         * modules/unictype/category-Pd: New file.
60800         * modules/unictype/category-Ps: New file.
60801         * modules/unictype/category-Pe: New file.
60802         * modules/unictype/category-Pi: New file.
60803         * modules/unictype/category-Pf: New file.
60804         * modules/unictype/category-Po: New file.
60805         * modules/unictype/category-S: New file.
60806         * modules/unictype/category-Sm: New file.
60807         * modules/unictype/category-Sc: New file.
60808         * modules/unictype/category-Sk: New file.
60809         * modules/unictype/category-So: New file.
60810         * modules/unictype/category-Z: New file.
60811         * modules/unictype/category-Zs: New file.
60812         * modules/unictype/category-Zl: New file.
60813         * modules/unictype/category-Zp: New file.
60814         * modules/unictype/category-C: New file.
60815         * modules/unictype/category-Cc: New file.
60816         * modules/unictype/category-Cf: New file.
60817         * modules/unictype/category-Cs: New file.
60818         * modules/unictype/category-Co: New file.
60819         * modules/unictype/category-Cn: New file.
60820         * modules/unictype/category-or: New file.
60821         * modules/unictype/category-of: New file.
60822         * modules/unictype/category-test: New file.
60823         * modules/unictype/category-test-withtable: New file.
60824         * modules/unictype/category-byname: New file.
60825         * modules/unictype/category-none: New file.
60826         * modules/unictype/category-and: New file.
60827         * modules/unictype/category-and-not: New file.
60828         * modules/unictype/category-name: New file.
60829         * modules/unictype/combining-class: New file.
60830         * modules/unictype/category-all: New file.
60831         * modules/unictype/bidicategory-all: New file.
60832         * modules/unictype/bidicategory-byname: New file.
60833         * modules/unictype/bidicategory-name: New file.
60834         * modules/unictype/bidicategory-of: New file.
60835         * modules/unictype/bidicategory-test: New file.
60836         * modules/unictype/decimal-digit: New file.
60837         * modules/unictype/digit: New file.
60838         * modules/unictype/numeric: New file.
60839         * modules/unictype/mirror: New file.
60840         * modules/unictype/property-white-space: New file.
60841         * modules/unictype/property-alphabetic: New file.
60842         * modules/unictype/property-other-alphabetic: New file.
60843         * modules/unictype/property-not-a-character: New file.
60844         * modules/unictype/property-default-ignorable-code-point: New file.
60845         * modules/unictype/property-other-default-ignorable-code-point: New
60846         file.
60847         * modules/unictype/property-deprecated: New file.
60848         * modules/unictype/property-logical-order-exception: New file.
60849         * modules/unictype/property-variation-selector: New file.
60850         * modules/unictype/property-private-use: New file.
60851         * modules/unictype/property-unassigned-code-value: New file.
60852         * modules/unictype/property-uppercase: New file.
60853         * modules/unictype/property-other-uppercase: New file.
60854         * modules/unictype/property-lowercase: New file.
60855         * modules/unictype/property-other-lowercase: New file.
60856         * modules/unictype/property-titlecase: New file.
60857         * modules/unictype/property-soft-dotted: New file.
60858         * modules/unictype/property-id-start: New file.
60859         * modules/unictype/property-other-id-start: New file.
60860         * modules/unictype/property-id-continue: New file.
60861         * modules/unictype/property-other-id-continue: New file.
60862         * modules/unictype/property-xid-start: New file.
60863         * modules/unictype/property-xid-continue: New file.
60864         * modules/unictype/property-pattern-white-space: New file.
60865         * modules/unictype/property-pattern-syntax: New file.
60866         * modules/unictype/property-join-control: New file.
60867         * modules/unictype/property-grapheme-base: New file.
60868         * modules/unictype/property-grapheme-extend: New file.
60869         * modules/unictype/property-other-grapheme-extend: New file.
60870         * modules/unictype/property-grapheme-link: New file.
60871         * modules/unictype/property-bidi-control: New file.
60872         * modules/unictype/property-bidi-left-to-right: New file.
60873         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
60874         * modules/unictype/property-bidi-arabic-right-to-left: New file.
60875         * modules/unictype/property-bidi-european-digit: New file.
60876         * modules/unictype/property-bidi-eur-num-separator: New file.
60877         * modules/unictype/property-bidi-eur-num-terminator: New file.
60878         * modules/unictype/property-bidi-arabic-digit: New file.
60879         * modules/unictype/property-bidi-common-separator: New file.
60880         * modules/unictype/property-bidi-block-separator: New file.
60881         * modules/unictype/property-bidi-segment-separator: New file.
60882         * modules/unictype/property-bidi-whitespace: New file.
60883         * modules/unictype/property-bidi-non-spacing-mark: New file.
60884         * modules/unictype/property-bidi-boundary-neutral: New file.
60885         * modules/unictype/property-bidi-pdf: New file.
60886         * modules/unictype/property-bidi-embedding-or-override: New file.
60887         * modules/unictype/property-bidi-other-neutral: New file.
60888         * modules/unictype/property-hex-digit: New file.
60889         * modules/unictype/property-ascii-hex-digit: New file.
60890         * modules/unictype/property-ideographic: New file.
60891         * modules/unictype/property-unified-ideograph: New file.
60892         * modules/unictype/property-radical: New file.
60893         * modules/unictype/property-ids-binary-operator: New file.
60894         * modules/unictype/property-ids-trinary-operator: New file.
60895         * modules/unictype/property-zero-width: New file.
60896         * modules/unictype/property-space: New file.
60897         * modules/unictype/property-non-break: New file.
60898         * modules/unictype/property-iso-control: New file.
60899         * modules/unictype/property-format-control: New file.
60900         * modules/unictype/property-dash: New file.
60901         * modules/unictype/property-hyphen: New file.
60902         * modules/unictype/property-punctuation: New file.
60903         * modules/unictype/property-line-separator: New file.
60904         * modules/unictype/property-paragraph-separator: New file.
60905         * modules/unictype/property-quotation-mark: New file.
60906         * modules/unictype/property-sentence-terminal: New file.
60907         * modules/unictype/property-terminal-punctuation: New file.
60908         * modules/unictype/property-currency-symbol: New file.
60909         * modules/unictype/property-math: New file.
60910         * modules/unictype/property-other-math: New file.
60911         * modules/unictype/property-paired-punctuation: New file.
60912         * modules/unictype/property-left-of-pair: New file.
60913         * modules/unictype/property-combining: New file.
60914         * modules/unictype/property-composite: New file.
60915         * modules/unictype/property-decimal-digit: New file.
60916         * modules/unictype/property-numeric: New file.
60917         * modules/unictype/property-diacritic: New file.
60918         * modules/unictype/property-extender: New file.
60919         * modules/unictype/property-ignorable-control: New file.
60920         * modules/unictype/property-test: New file.
60921         * modules/unictype/property-byname: New file.
60922         * modules/unictype/property-all: New file.
60923         * modules/unictype/scripts: New file.
60924         * modules/unictype/scripts-all: New file.
60925         * modules/unictype/block-of: New file.
60926         * modules/unictype/block-test: New file.
60927         * modules/unictype/block-list: New file.
60928         * modules/unictype/block-all: New file.
60929         * modules/unictype/syntax-c-whitespace: New file.
60930         * modules/unictype/syntax-java-whitespace: New file.
60931         * modules/unictype/syntax-c-ident: New file.
60932         * modules/unictype/syntax-java-ident: New file.
60933         * modules/unictype/ctype-alnum: New file.
60934         * modules/unictype/ctype-alpha: New file.
60935         * modules/unictype/ctype-cntrl: New file.
60936         * modules/unictype/ctype-digit: New file.
60937         * modules/unictype/ctype-graph: New file.
60938         * modules/unictype/ctype-lower: New file.
60939         * modules/unictype/ctype-print: New file.
60940         * modules/unictype/ctype-punct: New file.
60941         * modules/unictype/ctype-space: New file.
60942         * modules/unictype/ctype-upper: New file.
60943         * modules/unictype/ctype-xdigit: New file.
60944         * modules/unictype/ctype-blank: New file.
60945         * lib/unictype/bidi_byname.c: New file.
60946         * lib/unictype/bidi_name.c: New file.
60947         * lib/unictype/bidi_of.c: New file.
60948         * lib/unictype/bidi_test.c: New file.
60949         * lib/unictype/bitmap.h: New file.
60950         * lib/unictype/block_test.c: New file.
60951         * lib/unictype/blocks.c: New file.
60952         * lib/unictype/categ_C.c: New file.
60953         * lib/unictype/categ_Cc.c: New file.
60954         * lib/unictype/categ_Cf.c: New file.
60955         * lib/unictype/categ_Cn.c: New file.
60956         * lib/unictype/categ_Co.c: New file.
60957         * lib/unictype/categ_Cs.c: New file.
60958         * lib/unictype/categ_L.c: New file.
60959         * lib/unictype/categ_Ll.c: New file.
60960         * lib/unictype/categ_Lm.c: New file.
60961         * lib/unictype/categ_Lo.c: New file.
60962         * lib/unictype/categ_Lt.c: New file.
60963         * lib/unictype/categ_Lu.c: New file.
60964         * lib/unictype/categ_M.c: New file.
60965         * lib/unictype/categ_Mc.c: New file.
60966         * lib/unictype/categ_Me.c: New file.
60967         * lib/unictype/categ_Mn.c: New file.
60968         * lib/unictype/categ_N.c: New file.
60969         * lib/unictype/categ_Nd.c: New file.
60970         * lib/unictype/categ_Nl.c: New file.
60971         * lib/unictype/categ_No.c: New file.
60972         * lib/unictype/categ_P.c: New file.
60973         * lib/unictype/categ_Pc.c: New file.
60974         * lib/unictype/categ_Pd.c: New file.
60975         * lib/unictype/categ_Pe.c: New file.
60976         * lib/unictype/categ_Pf.c: New file.
60977         * lib/unictype/categ_Pi.c: New file.
60978         * lib/unictype/categ_Po.c: New file.
60979         * lib/unictype/categ_Ps.c: New file.
60980         * lib/unictype/categ_S.c: New file.
60981         * lib/unictype/categ_Sc.c: New file.
60982         * lib/unictype/categ_Sk.c: New file.
60983         * lib/unictype/categ_Sm.c: New file.
60984         * lib/unictype/categ_So.c: New file.
60985         * lib/unictype/categ_Z.c: New file.
60986         * lib/unictype/categ_Zl.c: New file.
60987         * lib/unictype/categ_Zp.c: New file.
60988         * lib/unictype/categ_Zs.c: New file.
60989         * lib/unictype/categ_and.c: New file.
60990         * lib/unictype/categ_and_not.c: New file.
60991         * lib/unictype/categ_byname.c: New file.
60992         * lib/unictype/categ_name.c: New file.
60993         * lib/unictype/categ_none.c: New file.
60994         * lib/unictype/categ_of.c: New file.
60995         * lib/unictype/categ_or.c: New file.
60996         * lib/unictype/categ_test.c: New file.
60997         * lib/unictype/combining.c: New file.
60998         * lib/unictype/ctype_alnum.c: New file.
60999         * lib/unictype/ctype_alpha.c: New file.
61000         * lib/unictype/ctype_blank.c: New file.
61001         * lib/unictype/ctype_cntrl.c: New file.
61002         * lib/unictype/ctype_digit.c: New file.
61003         * lib/unictype/ctype_graph.c: New file.
61004         * lib/unictype/ctype_lower.c: New file.
61005         * lib/unictype/ctype_print.c: New file.
61006         * lib/unictype/ctype_punct.c: New file.
61007         * lib/unictype/ctype_space.c: New file.
61008         * lib/unictype/ctype_upper.c: New file.
61009         * lib/unictype/ctype_xdigit.c: New file.
61010         * lib/unictype/decdigit.c: New file.
61011         * lib/unictype/digit.c: New file.
61012         * lib/unictype/identsyntaxmap.h: New file.
61013         * lib/unictype/mirror.c: New file.
61014         * lib/unictype/numeric.c: New file.
61015         * lib/unictype/pr_alphabetic.c: New file.
61016         * lib/unictype/pr_ascii_hex_digit.c: New file.
61017         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61018         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61019         * lib/unictype/pr_bidi_block_separator.c: New file.
61020         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61021         * lib/unictype/pr_bidi_common_separator.c: New file.
61022         * lib/unictype/pr_bidi_control.c: New file.
61023         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61024         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61025         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61026         * lib/unictype/pr_bidi_european_digit.c: New file.
61027         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61028         * lib/unictype/pr_bidi_left_to_right.c: New file.
61029         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61030         * lib/unictype/pr_bidi_other_neutral.c: New file.
61031         * lib/unictype/pr_bidi_pdf.c: New file.
61032         * lib/unictype/pr_bidi_segment_separator.c: New file.
61033         * lib/unictype/pr_bidi_whitespace.c: New file.
61034         * lib/unictype/pr_byname.c: New file.
61035         * lib/unictype/pr_byname.gperf: New file.
61036         * lib/unictype/pr_combining.c: New file.
61037         * lib/unictype/pr_composite.c: New file.
61038         * lib/unictype/pr_currency_symbol.c: New file.
61039         * lib/unictype/pr_dash.c: New file.
61040         * lib/unictype/pr_decimal_digit.c: New file.
61041         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61042         * lib/unictype/pr_deprecated.c: New file.
61043         * lib/unictype/pr_diacritic.c: New file.
61044         * lib/unictype/pr_extender.c: New file.
61045         * lib/unictype/pr_format_control.c: New file.
61046         * lib/unictype/pr_grapheme_base.c: New file.
61047         * lib/unictype/pr_grapheme_extend.c: New file.
61048         * lib/unictype/pr_grapheme_link.c: New file.
61049         * lib/unictype/pr_hex_digit.c: New file.
61050         * lib/unictype/pr_hyphen.c: New file.
61051         * lib/unictype/pr_id_continue.c: New file.
61052         * lib/unictype/pr_id_start.c: New file.
61053         * lib/unictype/pr_ideographic.c: New file.
61054         * lib/unictype/pr_ids_binary_operator.c: New file.
61055         * lib/unictype/pr_ids_trinary_operator.c: New file.
61056         * lib/unictype/pr_ignorable_control.c: New file.
61057         * lib/unictype/pr_iso_control.c: New file.
61058         * lib/unictype/pr_join_control.c: New file.
61059         * lib/unictype/pr_left_of_pair.c: New file.
61060         * lib/unictype/pr_line_separator.c: New file.
61061         * lib/unictype/pr_logical_order_exception.c: New file.
61062         * lib/unictype/pr_lowercase.c: New file.
61063         * lib/unictype/pr_math.c: New file.
61064         * lib/unictype/pr_non_break.c: New file.
61065         * lib/unictype/pr_not_a_character.c: New file.
61066         * lib/unictype/pr_numeric.c: New file.
61067         * lib/unictype/pr_other_alphabetic.c: New file.
61068         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
61069         * lib/unictype/pr_other_grapheme_extend.c: New file.
61070         * lib/unictype/pr_other_id_continue.c: New file.
61071         * lib/unictype/pr_other_id_start.c: New file.
61072         * lib/unictype/pr_other_lowercase.c: New file.
61073         * lib/unictype/pr_other_math.c: New file.
61074         * lib/unictype/pr_other_uppercase.c: New file.
61075         * lib/unictype/pr_paired_punctuation.c: New file.
61076         * lib/unictype/pr_paragraph_separator.c: New file.
61077         * lib/unictype/pr_pattern_syntax.c: New file.
61078         * lib/unictype/pr_pattern_white_space.c: New file.
61079         * lib/unictype/pr_private_use.c: New file.
61080         * lib/unictype/pr_punctuation.c: New file.
61081         * lib/unictype/pr_quotation_mark.c: New file.
61082         * lib/unictype/pr_radical.c: New file.
61083         * lib/unictype/pr_sentence_terminal.c: New file.
61084         * lib/unictype/pr_soft_dotted.c: New file.
61085         * lib/unictype/pr_space.c: New file.
61086         * lib/unictype/pr_terminal_punctuation.c: New file.
61087         * lib/unictype/pr_test.c: New file.
61088         * lib/unictype/pr_titlecase.c: New file.
61089         * lib/unictype/pr_unassigned_code_value.c: New file.
61090         * lib/unictype/pr_unified_ideograph.c: New file.
61091         * lib/unictype/pr_uppercase.c: New file.
61092         * lib/unictype/pr_variation_selector.c: New file.
61093         * lib/unictype/pr_white_space.c: New file.
61094         * lib/unictype/pr_xid_continue.c: New file.
61095         * lib/unictype/pr_xid_start.c: New file.
61096         * lib/unictype/pr_zero_width.c: New file.
61097         * lib/unictype/scripts.c: New file.
61098         * lib/unictype/sy_c_ident.c: New file.
61099         * lib/unictype/sy_c_whitespace.c: New file.
61100         * lib/unictype/sy_java_ident.c: New file.
61101         * lib/unictype/sy_java_whitespace.c: New file.
61102
61103         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
61104         Unicode 5.0.0.
61105         * lib/unictype/blocks.h: Likewise.
61106         * lib/unictype/categ_C.h: Likewise.
61107         * lib/unictype/categ_Cc.h: Likewise.
61108         * lib/unictype/categ_Cf.h: Likewise.
61109         * lib/unictype/categ_Cn.h: Likewise.
61110         * lib/unictype/categ_Co.h: Likewise.
61111         * lib/unictype/categ_Cs.h: Likewise.
61112         * lib/unictype/categ_L.h: Likewise.
61113         * lib/unictype/categ_Ll.h: Likewise.
61114         * lib/unictype/categ_Lm.h: Likewise.
61115         * lib/unictype/categ_Lo.h: Likewise.
61116         * lib/unictype/categ_Lt.h: Likewise.
61117         * lib/unictype/categ_Lu.h: Likewise.
61118         * lib/unictype/categ_M.h: Likewise.
61119         * lib/unictype/categ_Mc.h: Likewise.
61120         * lib/unictype/categ_Me.h: Likewise.
61121         * lib/unictype/categ_Mn.h: Likewise.
61122         * lib/unictype/categ_N.h: Likewise.
61123         * lib/unictype/categ_Nd.h: Likewise.
61124         * lib/unictype/categ_Nl.h: Likewise.
61125         * lib/unictype/categ_No.h: Likewise.
61126         * lib/unictype/categ_P.h: Likewise.
61127         * lib/unictype/categ_Pc.h: Likewise.
61128         * lib/unictype/categ_Pd.h: Likewise.
61129         * lib/unictype/categ_Pe.h: Likewise.
61130         * lib/unictype/categ_Pf.h: Likewise.
61131         * lib/unictype/categ_Pi.h: Likewise.
61132         * lib/unictype/categ_Po.h: Likewise.
61133         * lib/unictype/categ_Ps.h: Likewise.
61134         * lib/unictype/categ_S.h: Likewise.
61135         * lib/unictype/categ_Sc.h: Likewise.
61136         * lib/unictype/categ_Sk.h: Likewise.
61137         * lib/unictype/categ_Sm.h: Likewise.
61138         * lib/unictype/categ_So.h: Likewise.
61139         * lib/unictype/categ_Z.h: Likewise.
61140         * lib/unictype/categ_Zl.h: Likewise.
61141         * lib/unictype/categ_Zp.h: Likewise.
61142         * lib/unictype/categ_Zs.h: Likewise.
61143         * lib/unictype/categ_of.h: Likewise.
61144         * lib/unictype/combining.h: Likewise.
61145         * lib/unictype/ctype_alnum.h: Likewise.
61146         * lib/unictype/ctype_alpha.h: Likewise.
61147         * lib/unictype/ctype_blank.h: Likewise.
61148         * lib/unictype/ctype_cntrl.h: Likewise.
61149         * lib/unictype/ctype_digit.h: Likewise.
61150         * lib/unictype/ctype_graph.h: Likewise.
61151         * lib/unictype/ctype_lower.h: Likewise.
61152         * lib/unictype/ctype_print.h: Likewise.
61153         * lib/unictype/ctype_punct.h: Likewise.
61154         * lib/unictype/ctype_space.h: Likewise.
61155         * lib/unictype/ctype_upper.h: Likewise.
61156         * lib/unictype/ctype_xdigit.h: Likewise.
61157         * lib/unictype/decdigit.h: Likewise.
61158         * lib/unictype/digit.h: Likewise.
61159         * lib/unictype/mirror.h: Likewise.
61160         * lib/unictype/numeric.h: Likewise.
61161         * lib/unictype/pr_alphabetic.h: Likewise.
61162         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61163         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61164         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61165         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61166         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61167         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61168         * lib/unictype/pr_bidi_control.h: Likewise.
61169         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61170         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61171         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61172         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61173         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61174         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61175         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61176         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61177         * lib/unictype/pr_bidi_pdf.h: Likewise.
61178         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61179         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61180         * lib/unictype/pr_combining.h: Likewise.
61181         * lib/unictype/pr_composite.h: Likewise.
61182         * lib/unictype/pr_currency_symbol.h: Likewise.
61183         * lib/unictype/pr_dash.h: Likewise.
61184         * lib/unictype/pr_decimal_digit.h: Likewise.
61185         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61186         * lib/unictype/pr_deprecated.h: Likewise.
61187         * lib/unictype/pr_diacritic.h: Likewise.
61188         * lib/unictype/pr_extender.h: Likewise.
61189         * lib/unictype/pr_format_control.h: Likewise.
61190         * lib/unictype/pr_grapheme_base.h: Likewise.
61191         * lib/unictype/pr_grapheme_extend.h: Likewise.
61192         * lib/unictype/pr_grapheme_link.h: Likewise.
61193         * lib/unictype/pr_hex_digit.h: Likewise.
61194         * lib/unictype/pr_hyphen.h: Likewise.
61195         * lib/unictype/pr_id_continue.h: Likewise.
61196         * lib/unictype/pr_id_start.h: Likewise.
61197         * lib/unictype/pr_ideographic.h: Likewise.
61198         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61199         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61200         * lib/unictype/pr_ignorable_control.h: Likewise.
61201         * lib/unictype/pr_iso_control.h: Likewise.
61202         * lib/unictype/pr_join_control.h: Likewise.
61203         * lib/unictype/pr_left_of_pair.h: Likewise.
61204         * lib/unictype/pr_line_separator.h: Likewise.
61205         * lib/unictype/pr_logical_order_exception.h: Likewise.
61206         * lib/unictype/pr_lowercase.h: Likewise.
61207         * lib/unictype/pr_math.h: Likewise.
61208         * lib/unictype/pr_non_break.h: Likewise.
61209         * lib/unictype/pr_not_a_character.h: Likewise.
61210         * lib/unictype/pr_numeric.h: Likewise.
61211         * lib/unictype/pr_other_alphabetic.h: Likewise.
61212         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61213         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61214         * lib/unictype/pr_other_id_continue.h: Likewise.
61215         * lib/unictype/pr_other_id_start.h: Likewise.
61216         * lib/unictype/pr_other_lowercase.h: Likewise.
61217         * lib/unictype/pr_other_math.h: Likewise.
61218         * lib/unictype/pr_other_uppercase.h: Likewise.
61219         * lib/unictype/pr_paired_punctuation.h: Likewise.
61220         * lib/unictype/pr_paragraph_separator.h: Likewise.
61221         * lib/unictype/pr_pattern_syntax.h: Likewise.
61222         * lib/unictype/pr_pattern_white_space.h: Likewise.
61223         * lib/unictype/pr_private_use.h: Likewise.
61224         * lib/unictype/pr_punctuation.h: Likewise.
61225         * lib/unictype/pr_quotation_mark.h: Likewise.
61226         * lib/unictype/pr_radical.h: Likewise.
61227         * lib/unictype/pr_sentence_terminal.h: Likewise.
61228         * lib/unictype/pr_soft_dotted.h: Likewise.
61229         * lib/unictype/pr_space.h: Likewise.
61230         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61231         * lib/unictype/pr_titlecase.h: Likewise.
61232         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61233         * lib/unictype/pr_unified_ideograph.h: Likewise.
61234         * lib/unictype/pr_uppercase.h: Likewise.
61235         * lib/unictype/pr_variation_selector.h: Likewise.
61236         * lib/unictype/pr_white_space.h: Likewise.
61237         * lib/unictype/pr_xid_continue.h: Likewise.
61238         * lib/unictype/pr_xid_start.h: Likewise.
61239         * lib/unictype/pr_zero_width.h: Likewise.
61240         * lib/unictype/scripts.h: Likewise.
61241         * lib/unictype/scripts_byname.gperf: Likewise.
61242         * lib/unictype/sy_c_ident.h: Likewise.
61243         * lib/unictype/sy_c_whitespace.h: Likewise.
61244         * lib/unictype/sy_java_ident.h: Likewise.
61245         * lib/unictype/sy_java_whitespace.h: Likewise.
61246
61247         * lib/unictype/Makefile: New file.
61248         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
61249         glibc.
61250         * lib/unictype/3level.h: New file, copied from glibc.
61251         * lib/unictype/3levelbit.h: New file.
61252
61253 2007-11-11  Bruno Haible  <bruno@clisp.org>
61254
61255         * modules/gperf: New file.
61256         * modules/iconv_open (Depends-on): Add it.
61257         (Makefile.am): Remove the GPERF definition.
61258
61259 2007-11-11  Bruno Haible  <bruno@clisp.org>
61260
61261         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
61262         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
61263
61264 2007-11-11  Bruno Haible  <bruno@clisp.org>
61265
61266         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
61267         (usage): Remove function.
61268
61269 2007-11-11  Bruno Haible  <bruno@clisp.org>
61270
61271         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
61272         gl_FUNC_CEILF_LIBS.
61273         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
61274         gl_FUNC_CEIL_LIBS.
61275         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
61276         gl_FUNC_CEILL_LIBS.
61277         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
61278         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
61279         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
61280
61281 2007-11-11  Bruno Haible  <bruno@clisp.org>
61282
61283         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
61284         roundf were declared but do not exist on functions.
61285         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
61286         roundl were declared but do not exist on functions.
61287         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
61288         HAVE_FLOORL_AND_CEILL, respectively.
61289         Needed for Sun C on Solaris 10.
61290
61291 2007-11-11  Bruno Haible  <bruno@clisp.org>
61292
61293         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
61294         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
61295         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
61296         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
61297         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
61298         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
61299         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
61300         HAVE_DECL_ROUNDF.
61301         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
61302         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
61303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
61304         of HAVE_DECL_ROUND*.
61305         * modules/math (Makefile.am): Update.
61306
61307 2007-11-10  Bruno Haible  <bruno@clisp.org>
61308
61309         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
61310         ptrdiff_t as m4/intl.m4.
61311
61312 2007-11-10  Jim Meyering  <meyering@redhat.com>
61313
61314         Avoid link failure for the argmatch test.
61315         * tests/test-argmatch.c (usage): Define function to avoid a link
61316         failure: argmatch_die requires a usage function.
61317
61318 2007-11-09  Bruno Haible  <bruno@clisp.org>
61319
61320         * doc/functions/snprintf.texi: Mention BeOS deficiency.
61321         * doc/functions/vsnprintf.texi: Likewise.
61322         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
61323         with a size argument < 2.
61324
61325 2007-11-09  Bruno Haible  <bruno@clisp.org>
61326
61327         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
61328         buffer. Fixes an inefficiency introduced on 2007-11-03.
61329
61330 2007-11-09  Bruno Haible  <bruno@clisp.org>
61331
61332         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
61333         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
61334
61335 2007-11-08  Jim Meyering  <meyering@redhat.com>
61336
61337         Change cache variable name prefix "jm_" to "gl_" everywhere.
61338         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
61339         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
61340         * m4/uptime.m4: s/gl_/jm_/
61341
61342 2007-11-07  Bruno Haible  <bruno@clisp.org>
61343
61344         Update to GNU gettext 0.17.
61345         * m4/intl.m4: Update to GNU gettext 0.17.
61346         * m4/po.m4: Likewise.
61347         * modules/gettext (Files): Remove m4/ulonglong.m4.
61348         (configure.ac): Require gettext infrastructure from version 0.17.
61349
61350 2007-11-06  Bruno Haible  <bruno@clisp.org>
61351
61352         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
61353         symbolic values are not defined in a public header.
61354         * lib/freadable.c (freadable) [QNX]: Likewise.
61355         * lib/freadahead.c (freadahead) [QNX]: Likewise.
61356         * lib/freading.c (freading) [QNX]: Likewise.
61357         * lib/fseterr.c (fseterr) [QNX]: Likewise.
61358         * lib/fwritable.c (fwritable) [QNX]: Likewise.
61359         * lib/fwriting.c (fwriting) [QNX]: Likewise.
61360         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
61361         Reported by Alain Magloire.
61362
61363         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
61364
61365 2007-11-05  Bruno Haible  <bruno@clisp.org>
61366
61367         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
61368         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
61369         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
61370         Reported by Eric Blake.
61371
61372 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61373             Bruno Haible  <bruno@clisp.org>
61374
61375         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
61376         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
61377         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
61378         (malloc): Undefine also before including <stdlib.h>.
61379         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
61380         Needed on OSF/1 4.0.
61381
61382 2007-11-05  Jim Meyering  <meyering@redhat.com>
61383
61384         git-version-gen: sync from coreutils.
61385         * build-aux/git-version-gen: Add comments.
61386         Change the first '-' to '.' in the snapshot version string,
61387         e.g., 6.9-377-08144 -> 6.9.377-08144
61388         Remove first parameter.
61389         Don't declare a version "-dirty" merely because a time
61390         stamp has changed.
61391
61392 2007-11-04  Bruno Haible  <bruno@clisp.org>
61393
61394         * lib/lock.h: Protect all macro definitions containing an 'if'
61395         statement through a "do { ... } while (0)".
61396         * lib/tls.h: Likewise.
61397
61398 2007-11-04  Bruno Haible  <bruno@clisp.org>
61399
61400         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
61401
61402 2007-11-04  Bruno Haible  <bruno@clisp.org>
61403
61404         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
61405         * modules/fprintf-posix (Depends-on): Add nocrash.
61406         * modules/snprintf-posix (Depends-on): Likewise.
61407         * modules/sprintf-posix (Depends-on): Likewise.
61408         * modules/vasnprintf-posix (Depends-on): Likewise.
61409         * modules/vasprintf-posix (Depends-on): Likewise.
61410         * modules/vfprintf-posix (Depends-on): Likewise.
61411         * modules/vsnprintf-posix (Depends-on): Likewise.
61412         * modules/vsprintf-posix (Depends-on): Likewise.
61413         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61414         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61415         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61416         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61417         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61418         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61419         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61420
61421 2007-11-04  Bruno Haible  <bruno@clisp.org>
61422
61423         * modules/nocrash: New file.
61424         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
61425         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
61426
61427 2007-11-04  Bruno Haible  <bruno@clisp.org>
61428
61429         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61430         precision handling.
61431         * tests/test-vasprintf-posix.c (test_function): Likewise.
61432         * tests/test-snprintf-posix.h (test_function): Likewise.
61433         * tests/test-sprintf-posix.h (test_function): Likewise.
61434
61435         Fix *printf behaviour for large precisions on mingw and BeOS.
61436         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61437         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61438         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61439         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61440         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61441         gl_PRINTF_PRECISION and test its result. Invoke
61442         gl_PREREQ_VASNPRINTF_PRECISION.
61443         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61444         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61445         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61446         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61447         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61448         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61449         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61450         * doc/functions/fprintf.texi: Update.
61451         * doc/functions/printf.texi: Update.
61452         * doc/functions/snprintf.texi: Update.
61453         * doc/functions/sprintf.texi: Update.
61454         * doc/functions/vfprintf.texi: Update.
61455         * doc/functions/vprintf.texi: Update.
61456         * doc/functions/vsnprintf.texi: Update.
61457         * doc/functions/vsprintf.texi: Update.
61458
61459 2007-11-04  Bruno Haible  <bruno@clisp.org>
61460
61461         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61462
61463 2007-11-04  Bruno Haible  <bruno@clisp.org>
61464
61465         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61466         Reported by Sylvain Beucler <beuc@gnu.org>.
61467
61468 2007-11-03  Bruno Haible  <bruno@clisp.org>
61469
61470         * tests/test-fprintf-posix2.sh: New file.
61471         * tests/test-fprintf-posix2.c: New file.
61472         * modules/fprintf-posix-tests (Files): Add them.
61473         (TESTS): Add test-fprintf-posix2.sh.
61474         (configure.ac): Check for getrlimit and setrlimit.
61475         (check_PROGRAMS): Add test-fprintf-posix2.
61476
61477         * tests/test-printf-posix2.sh: New file.
61478         * tests/test-printf-posix2.c: New file.
61479         * modules/printf-posix-tests (Files): Add them.
61480         (TESTS): Add test-printf-posix2.sh.
61481         (configure.ac): Check for getrlimit and setrlimit.
61482         (check_PROGRAMS): Add test-printf-posix2.
61483
61484         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61485         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61486         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61487         (decode_double): New function, copied from decode_long_double.
61488         (scale10_round_decimal_decoded): New function, extracted from
61489         scale10_round_decimal_long_double.
61490         (scale10_round_decimal_long_double): Use it.
61491         (scale10_round_decimal_double): New function.
61492         (floorlog10): New function.
61493         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61494         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61495         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61496         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61497         gl_PRINTF_ENOMEM and test its result. Invoke
61498         gl_PREREQ_VASNPRINTF_ENOMEM.
61499         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61500         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61501         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61502         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61503         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61504         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61505         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61506         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61507         * modules/snprintf-posix (Depends-on): Likewise.
61508         * modules/sprintf-posix (Depends-on): Likewise.
61509         * modules/vasnprintf-posix (Depends-on): Likewise.
61510         * modules/vasprintf-posix (Depends-on): Likewise.
61511         * modules/vfprintf-posix (Depends-on): Likewise.
61512         * modules/vsnprintf-posix (Depends-on): Likewise.
61513         * modules/vsprintf-posix (Depends-on): Likewise.
61514         * doc/functions/fprintf.texi: Update.
61515         * doc/functions/printf.texi: Update.
61516         * doc/functions/snprintf.texi: Update.
61517         * doc/functions/sprintf.texi: Update.
61518         * doc/functions/vfprintf.texi: Update.
61519         * doc/functions/vprintf.texi: Update.
61520         * doc/functions/vsnprintf.texi: Update.
61521         * doc/functions/vsprintf.texi: Update.
61522
61523 2007-11-03  Bruno Haible  <bruno@clisp.org>
61524
61525         * modules/frexp-nolibm-tests: New file.
61526
61527         * modules/frexp-nolibm: New file.
61528         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61529
61530 2007-11-03  Bruno Haible  <bruno@clisp.org>
61531
61532         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61533         value is C99 compliant.
61534         Needed for OSF/1 5.1.
61535
61536 2007-11-03  Bruno Haible  <bruno@clisp.org>
61537
61538         Fix out-of-memory handling of vasnprintf.
61539         * lib/printf-parse.c: Include <errno.h>.
61540         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61541         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61542         is already set.
61543
61544 2007-11-02  Eric Blake  <ebb9@byu.net>
61545
61546         Fix tests on cygwin.
61547         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61548
61549 2007-11-01  Bruno Haible  <bruno@clisp.org>
61550
61551         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61552         warning.
61553         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61554         needed for POSIX compatibility.
61555
61556 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61557
61558         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61559         for compatibility with GNU.
61560
61561 2007-11-01  Bruno Haible  <bruno@clisp.org>
61562
61563         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61564         (putenv): Renamed from rpl_putenv. Change argument type from
61565         'const char *' to 'char *'.
61566         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61567         of defining putenv in config.h, just set REPLACE_PUTENV.
61568         * modules/putenv (Depends-on): Add stdlib.
61569         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61570         (Include): Use <stdlib.h>.
61571         * lib/stdlib.in.h (putenv): New declaration.
61572         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61573         REPLACE_PUTENV.
61574         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61575         REPLACE_PUTENV.
61576         Needed for MacOS X 10.5.0.
61577         Reported by Peter O'Gorman <peter@pogma.com>.
61578
61579 2007-11-01  Jim Meyering  <meyering@redhat.com>
61580
61581         Treat an empty date string exactly like "0".
61582         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61583         if the remaining date string (to be parsed) is empty, use "0".
61584         Reported by Mischa Molhoek and discussed in this thread:
61585         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61586
61587 2007-10-31  Bruno Haible  <bruno@clisp.org>
61588
61589         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61590         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61591         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61592         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61593         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61594         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61595
61596 2007-10-31  Bruno Haible  <bruno@clisp.org>
61597
61598         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61599         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61600         (AC_TYPE_LONG_LONG_INT): Use it.
61601         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
61602         it as well.
61603         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
61604         to m4/longlong.m4.
61605         * modules/stdint (Files): Remove m4/ulonglong.m4.
61606         * modules/strtoull (Files): Use m4/longlong.m4 instead of
61607         m4/ulonglong.m4.
61608         * modules/strtoumax (Files): Likewise.
61609
61610 2007-10-30  Bruno Haible  <bruno@clisp.org>
61611
61612         * modules/xvasprintf-posix: New file.
61613         Suggested by Eric Blake.
61614
61615 2007-10-30  Bruno Haible  <bruno@clisp.org>
61616
61617         * modules/xprintf-posix-tests: New file.
61618         * tests/test-xprintf-posix.sh: New file.
61619         * tests/test-xprintf-posix.c: New file.
61620         * tests/test-xfprintf-posix.c: New file.
61621
61622         * modules/xprintf-posix: New file.
61623
61624 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61625
61626         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
61627         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
61628         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
61629
61630 2007-10-29  Bruno Haible  <bruno@clisp.org>
61631
61632         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
61633         contain the special marker '_cv_'.
61634         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
61635         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
61636         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
61637         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
61638         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
61639         Reported by Ralf Wildenhues.
61640
61641 2007-10-29  Bruno Haible  <bruno@clisp.org>
61642
61643         * gnulib-tool (func_import): When --lgpl is not specified, set
61644         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61645         GPLv3.
61646         Reported by Simon Josefsson.
61647
61648 2007-10-28  Bruno Haible  <bruno@clisp.org>
61649
61650         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61651         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61652         HAVE_DECL_ISFINITE.
61653         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61654         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61655         HAVE_DECL_ISFINITE.
61656
61657 2007-10-28  Bruno Haible  <bruno@clisp.org>
61658
61659         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61660         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61661
61662 2007-10-28  Bruno Haible  <bruno@clisp.org>
61663
61664         Fix link errors with Sun C 5.0 on Solaris 10.
61665         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
61666         function is declared but not present in the compiler's libm.
61667         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
61668         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
61669         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
61670         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
61671         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
61672         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
61673         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
61674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61675         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
61676         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
61677         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
61678         HAVE_DECL_FLOORL.
61679
61680 2007-10-28  Bruno Haible  <bruno@clisp.org>
61681
61682         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
61683         gl_FUNC_FLOORL. Cache the result.
61684         (gl_FUNC_FLOORL): Use it.
61685         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
61686         gl_FUNC_CEILL. Cache the result.
61687         (gl_FUNC_CEILL): Use it.
61688
61689         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
61690         gl_FUNC_FLOOR. Cache the result.
61691         (gl_FUNC_FLOOR): Use it.
61692         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
61693         gl_FUNC_CEIL. Cache the result.
61694         (gl_FUNC_CEIL): Use it.
61695
61696         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
61697         gl_FUNC_FLOORF. Cache the result.
61698         (gl_FUNC_FLOORF): Use it.
61699         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
61700         gl_FUNC_CEILF. Cache the result.
61701         (gl_FUNC_CEILF): Use it.
61702
61703 2007-10-28  Bruno Haible  <bruno@clisp.org>
61704
61705         * gnulib-tool: Allow specifying the LGPL version number through
61706         --lgpl=2 or --lgpl=3.
61707         (func_usage): Document --lgpl with argument.
61708         Handle --lgpl=... arguments.
61709         (func_import): Recognize also gl_LGPL calls with an argument. When
61710         --lgpl=2 is used and the module's license is just LGPL, report an
61711         error. Set sed_transform_lib_file according to the lgpl variable. In
61712         the generated files, use --lgpl or gl_LGPL invocations with argument,
61713         if necessary.
61714         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
61715         an LGPv2+ license.
61716         * doc/gnulib-tool.texi (Modified imports): Update explanation of
61717         gl_LGPL macro.
61718
61719 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61720             Bruno Haible  <bruno@clisp.org>
61721
61722         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
61723         (u16_uctomb_aux): Likewise.
61724         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
61725         !HAVE_INLINE.
61726         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
61727
61728 2007-10-28  Bruno Haible  <bruno@clisp.org>
61729
61730         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
61731         Invoke AM_GETTEXT_OPTION if it exists.
61732         * modules/vasprintf: Likewise.
61733         * modules/verror: Likewise.
61734         * modules/xprintf: Likewise.
61735         * modules/xvasprintf: Likewise.
61736
61737 2007-10-27  Ben Pfaff  <blp@gnu.org>
61738
61739         * lib/math.in.h: Define isfinite macro and prototypes for
61740         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
61741         implementations.
61742         * m4/math_h.m4: New substitutions for isfinite module.
61743         * lib/isfinite.c: New file.
61744         * m4/isfinite.m4: New file.
61745         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
61746         * modules/isfinite: New file.
61747         * modules/isfinite-tests: New file.
61748         * tests/tests-isfinite.c: New file.
61749         * doc/functions/isfinite.texi: Mention isfinite module.
61750         * MODULES.html.sh: Mention new module.
61751
61752 2007-10-27  Ben Pfaff  <blp@gnu.org>
61753
61754         Ralf Wildenhues reported that Tru64 4.0D declares the round
61755         functions but does not have definitions.
61756         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
61757         cannot be found in any library, set the output variable to
61758         "missing" instead of "".
61759         * m4/round.m4: Also use our substitute if we cannot find round in
61760         any library, even if it is declared.
61761         * m4/roundf.m4: Likewise for roundf.
61762         * m4/roundl.m4: Likewise for roundl.
61763         * lib/math.in.h: Undefine roundf, round, roundl before defining
61764         their replacements, to allow for hypothetical systems where these
61765         may be defined as macros but not available in libraries.
61766
61767 2007-10-27  Bruno Haible  <bruno@clisp.org>
61768
61769         * doc/gnulib.texi: Invoke @firstparagraphindent.
61770         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
61771         changes in gnulib.
61772         (Source changes): New section.
61773
61774 2007-10-26  Bruno Haible  <bruno@clisp.org>
61775
61776         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
61777         borrowed from autoconf.
61778
61779 2007-10-26  Bruno Haible  <bruno@clisp.org>
61780
61781         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
61782         strerror returned the empty string. Needed on HP-UX 11.00.
61783
61784 2007-10-24  Micah Cowan  <micah@cowan.name>
61785
61786         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
61787         * build-aux/bootstrap: Remove support for now-unnecessary option,
61788         --cvs-user, and envvars CVS_USER, CVS_RSH.
61789
61790 2007-10-24  Jim Meyering  <meyering@redhat.com>
61791
61792         Avoid diagnostics from sha1sum when there is no cached checksum.
61793         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
61794         if the po.s1 file hasn't been created yet.
61795
61796         * build-aux/bootstrap: Sync from coreutils:
61797         2007-10-24  Jim Meyering  <meyering@redhat.com>
61798         Get gnulib from the git repository, not from an obsolete cvs one.
61799         * build-aux/bootstrap: Suggestion from Micah Cowan.
61800         2007-10-04  Jim Meyering  <jim@meyering.net>
61801         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
61802         (update_po_files): Work also when there are no .po files in po/.
61803
61804 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61805
61806         * README: Append ".git" to git and cg examples.
61807         Problem reported by Benoit Sigoure.
61808
61809 2007-10-23  Micah Cowan  <micah@cowan.name>
61810
61811         * users.txt: Add wget.
61812
61813 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61814
61815         Fix linking of some unistdio tests on FreeBSD.
61816         * modules/unistdio/u16-vsnprintf-tests
61817         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
61818         * modules/unistdio/u16-vsprintf-tests
61819         (test_u16_vsnprintf1_LDADD): Likewise.
61820         * modules/unistdio/u32-vsnprintf-tests
61821         (test_u32_vsnprintf1_LDADD): Likewise.
61822         * modules/unistdio/u32-vsprintf-tests
61823         (test_u32_vsprintf1_LDADD): Likewise.
61824         * modules/unistdio/u8-vsnprintf-tests
61825         (test_u8_vsnprintf1_LDADD): Likewise.
61826         * modules/unistdio/u8-vsprintf-tests
61827         (test_u8_vsprintf1_LDADD): Likewise.
61828         * modules/unistdio/ulc-vsnprintf-tests
61829         (test_ulc_vsnprintf1_LDADD): Likewise.
61830         * modules/unistdio/ulc-vsprintf-tests
61831         (test_ulc_vsprintf1_LDADD): Likewise.
61832
61833         Fix linking of some uniconv tests on FreeBSD.
61834         * modules/uniconv/u16-conv-from-enc-tests
61835         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
61836         * modules/uniconv/u16-conv-to-enc-tests
61837         (test_u16_conv_to_enc_LDADD): Likewise.
61838         * modules/uniconv/u16-strconv-from-enc-tests
61839         (test_u16_strconv_from_enc_LDADD): Likewise.
61840         * modules/uniconv/u16-strconv-to-enc-tests
61841         (test_u16_strconv_to_enc_LDADD): Likewise.
61842         * modules/uniconv/u32-conv-from-enc-tests
61843         (test_u32_conv_from_enc_LDADD): Likewise.
61844         * modules/uniconv/u32-conv-to-enc-tests
61845         (test_u32_conv_to_enc_LDADD): Likewise.
61846         * modules/uniconv/u32-strconv-from-enc-tests
61847         (test_u32_strconv_from_enc_LDADD): Likewise.
61848         * modules/uniconv/u32-strconv-to-enc-tests
61849         (test_u32_strconv_to_enc_LDADD): Likewise.
61850         * modules/uniconv/u8-conv-from-enc-tests
61851         (test_u8_conv_from_enc_LDADD): Likewise.
61852         * modules/uniconv/u8-conv-to-enc-tests
61853         (test_u8_conv_to_enc_LDADD): Likewise.
61854         * modules/uniconv/u8-strconv-from-enc-tests
61855         (test_u8_strconv_from_enc_LDADD): Likewise.
61856         * modules/uniconv/u8-strconv-to-enc-tests
61857         (test_u8_strconv_to_enc_LDADD): Likewise.
61858
61859 2007-10-22  Bruno Haible  <bruno@clisp.org>
61860
61861         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
61862         size.
61863
61864 2007-10-22  Eric Blake  <ebb9@byu.net>
61865
61866         Tweak x*printf documentation.
61867         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
61868         variable name and comments.
61869         Suggested by Bruno Haible.
61870
61871 2007-10-22  Bruno Haible  <bruno@clisp.org>
61872
61873         * lib/acl.c (copy_acl): Fix file name in comment.
61874
61875 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61876
61877         Fix Tru64 problem with stdbool.h.
61878         * lib/stdbool.in.h (false, true):
61879         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
61880         Don't declare as an enum in this situation; it runs afoul of Tru64.
61881         Problem reported by Steven M. Schweda in
61882         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
61883
61884 2007-10-22  Eric Blake  <ebb9@byu.net>
61885
61886         Also wrap vf?printf.
61887         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
61888         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
61889         (xvprintf, xvfprintf): New functions.
61890
61891 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61892
61893         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
61894         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
61895
61896         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
61897         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
61898
61899 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61900
61901         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
61902         by Bruno Haible.
61903
61904 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61905
61906         * lib/getloadavg.c
61907         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
61908         Undef `sys' after including sys/table.h, for Tru64 4.0D.
61909
61910         * tests/test-i-ring.c: Work for C89.
61911
61912 2007-10-22  Bruno Haible  <bruno@clisp.org>
61913
61914         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
61915         -1u, in preprocessor expression, so that we don't test for the bug
61916         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
61917         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
61918
61919 2007-10-22  Eric Blake  <ebb9@byu.net>
61920
61921         * tests/test-yesno.sh: Silence stderr during test.
61922
61923 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61924
61925         * modules/crypto/gc-camellia: New file.
61926
61927         * m4/gc-camellia.m4: New file.
61928
61929         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
61930
61931         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
61932
61933 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61934
61935         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
61936         --help to stdout.  Reported by sms@antinode.org (Steven
61937         M. Schweda).
61938
61939 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61940
61941         * users.txt: Fix link to libksba.
61942
61943 2007-10-21  Ben Pfaff  <blp@gnu.org>
61944
61945         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
61946         round.c roundf implementation that depends on floorf and ceilf to
61947         be tested unconditionally.
61948
61949 2007-10-21  Ben Pfaff  <blp@gnu.org>
61950
61951         * m4/check-libm-func.m4: Removed.
61952         * m4/check-math-lib.m4: New file.
61953         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
61954         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
61955         definition and lack of AC_LIBOBJ([roundf]).
61956         * m4/roundl.m4: Ditto, and similarly for roundl.
61957         * modules/round: Reference new m4 file.
61958         * modules/roundf: Ditto.
61959         * modules/roundl: Ditto.
61960         * tests/test-round2.c (main): Use ROUND instead of round.
61961         Bug report from Bruno Haible.
61962
61963 2007-10-21  Bruno Haible  <bruno@clisp.org>
61964
61965         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
61966         context.
61967
61968 2007-10-21  Bruno Haible  <bruno@clisp.org>
61969
61970         * tests/test-wcwidth.c (main): Allow negative result for some control
61971         characters.
61972
61973         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
61974         Needed on OSF/1 5.1.
61975
61976 2007-10-21  Bruno Haible  <bruno@clisp.org>
61977
61978         * tests/test-floorf1.c: Include isnanf.h.
61979         (main): Use isnanf() instead of isnan().
61980         * tests/test-ceilf1.c: Include isnanf.h.
61981         (main): Use isnanf() instead of isnan().
61982         * tests/test-truncf1.c: Include isnanf.h.
61983         (main): Use isnanf() instead of isnan().
61984         * tests/test-roundf1.c: Include isnanf.h.
61985         (main): Use isnanf() instead of isnan().
61986
61987 2007-10-21  Eric Blake  <ebb9@byu.net>
61988
61989         * users.txt: Update URL for m4.
61990
61991 2007-10-21  Bruno Haible  <bruno@clisp.org>
61992
61993         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
61994
61995 2007-10-21  Bruno Haible  <bruno@clisp.org>
61996
61997         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
61998         Git's management files if the CVS files are not present.
61999
62000 2007-10-20  Bruno Haible  <bruno@clisp.org>
62001
62002         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
62003         gcc-3.4.x.
62004
62005 2007-10-20  Ben Pfaff  <blp@gnu.org>
62006
62007         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62008         implementations.
62009         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62010         * lib/round.c: New file.
62011         * lib/roundf.c: New file.
62012         * lib/roundl.c: New file.
62013         * m4/round.m4: New file.
62014         * m4/roundf.m4: New file.
62015         * m4/roundl.m4: New file.
62016         * m4/check-libm-func-m4: New file.
62017         * modules/math: Replace round, roundf, roundl related @VARS@ in
62018         math.in.h.
62019         * modules/round: New file.
62020         * modules/round-tests: New file.
62021         * modules/roundf: New file.
62022         * modules/roundf-tests: New file.
62023         * modules/roundl: New file.
62024         * modules/roundl-tests: New file.
62025         * tests/test-round1.c: New file.
62026         * tests/test-round2.c: New file.
62027         * tests/test-roundf1.c: New file.
62028         * tests/test-roundf2.c: New file.
62029         * tests/test-roundl.c: New file.
62030         * doc/functions/round.texi: Mention round module.
62031         * doc/functions/roundf.texi: Mention roundf module.
62032         * doc/functions/roundl.texi: Mention roundl module.
62033         * MODULES.html.sh: Mention new modules.
62034         Thanks to Bruno Haible for suggestions.
62035
62036 2007-10-20  Jim Meyering  <meyering@redhat.com>
62037
62038         * lib/xprintf.c: Include <config.h> unconditionally.
62039
62040         Change xprintf's license to GPL.
62041         * modules/xprintf (License): s/LGPL/GPL/, since this module
62042         depends on modules (exit and exitfail) which are GPL.
62043         Suggestion from Bruno Haible.
62044
62045         xprintf fixes.
62046         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62047         Use a clearer diagnostic.
62048         Patch from Bruno Haible.
62049
62050 2007-10-20  Bruno Haible  <bruno@clisp.org>
62051
62052         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62053         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62054         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62055
62056 2007-10-20  Bruno Haible  <bruno@clisp.org>
62057
62058         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62059         precision in the comparison result > x - 1 or similar.
62060         * tests/test-ceilf2.c (correct_result_p): Likewise.
62061         * tests/test-truncf2.c (correct_result_p): Likewise.
62062         * tests/test-trunc2.c (correct_result_p): Likewise.
62063         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62064
62065 2007-10-20  Bruno Haible  <bruno@clisp.org>
62066
62067         * modules/ceil: New file.
62068         * m4/ceil.m4: New file.
62069         * doc/functions/ceil.texi: Mention the 'ceil' module.
62070
62071 2007-10-20  Bruno Haible  <bruno@clisp.org>
62072
62073         * modules/floor: New file.
62074         * m4/floor.m4: New file.
62075         * doc/functions/floor.texi: Mention the 'floor' module.
62076
62077 2007-10-20  Bruno Haible  <bruno@clisp.org>
62078
62079         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
62080         of %a.
62081         * modules/floorf-tests (Depends-on): Likewise.
62082         * modules/truncf-tests (Depends-on): Likewise.
62083         * modules/trunc-tests (Depends-on): Likewise.
62084         Reported by Ben Pfaff.
62085
62086 2007-10-19  Jim Meyering  <meyering@redhat.com>
62087
62088         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
62089         Don't bother testing specific errno values.  Just test ferror.
62090
62091         New module: xprintf
62092         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
62093
62094 2007-10-19  Bruno Haible  <bruno@clisp.org>
62095
62096         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
62097         syntax.
62098         * modules/javaexec (Makefile.am): Likewise.
62099         * modules/relocatable-prog (Makefile.am): Likewise.
62100         Suggested by Jim Meyering.
62101
62102 2007-10-18  Bruno Haible  <bruno@clisp.org>
62103
62104         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
62105         Reported by Jim Meyering.
62106
62107 2007-10-18  Eric Blake  <ebb9@byu.net>
62108
62109         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
62110
62111 2007-10-18  Bruno Haible  <bruno@clisp.org>
62112
62113         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
62114         the format string into writable memory. Needed in Fortify conditions.
62115
62116 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
62117             Bruno Haible  <bruno@clisp.org>
62118
62119         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
62120         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
62121         * modules/trim (Depends-on): Add mbchar.
62122         (configure.ac): Add gl_FUNC_MBRTOWC.
62123         (Makefile.am): Augment lib_SOURCES.
62124
62125 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62126
62127         Modify glob.c to use fstatat and dirfd, to simplify it.
62128         Suggested by Eric Blake.
62129         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
62130         Don't include <stdbool.h>; not used.
62131         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
62132         (link_exists_p): Simplify implementation, since we can now assume
62133         dirfd and fstatat.
62134         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
62135
62136 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62137
62138         * gnulib-tool (func_get_dependencies): Fix sed script to
62139         match only tests.
62140
62141 2007-10-17  Bruno Haible  <bruno@clisp.org>
62142
62143         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
62144         allow locale names without encoding suffix.
62145         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62146         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62147
62148 2007-10-16  Bruno Haible  <bruno@clisp.org>
62149
62150         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
62151         * lib/getgroups.c (getgroups): Likewise.
62152         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
62153
62154 2007-10-16  Bruno Haible  <bruno@clisp.org>
62155
62156         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
62157         * modules/malloc-posix (License): Likewise.
62158         * modules/realloc-posix (License): Likewise.
62159         * modules/calloc-posix (License): Likewise.
62160         * modules/intprops (License): Change from GPL to LGPL, with
62161         Paul Eggert's approval.
62162
62163 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62164
62165         Merge glibc changes into lib/glob.c.
62166
62167         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
62168         2007-10-15 04:59:03 UTC.  Here are the changes:
62169
62170         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
62171
62172         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
62173
62174         * lib/glob.c: Add some branch prediction throughout.
62175
62176         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62177
62178         [BZ #5103]
62179         * lib/glob.c (glob): Recognize patterns starting \/.
62180
62181         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
62182
62183         [BZ #3996]
62184         * lib/glob.c (attribute_hidden): Define if not defined.
62185         (glob): Unescape dirname, filename or username when needed and not
62186         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
62187         is NULL.  Handle unescaped [ in pattern without closing ].
62188         Don't pass GLOB_CHECK down to recursive glob for directories.
62189         (__glob_pattern_type): New function.
62190         (__glob_pattern_p): Implement using __glob_pattern_type.
62191         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
62192         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
62193         Remove unreachable code.
62194
62195         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
62196
62197         * lib/glob.c (glob_in_dir): Add some comments and asserts to
62198         explain why there are no leaks.
62199
62200         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
62201
62202         [BZ #3253]
62203         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
62204         time, rather allocate increasingly bigger arrays of pointers, if
62205         possible with alloca, if too large with malloc.
62206
62207 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62208
62209         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
62210         Problem reported by H.Merijn Brand in
62211         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
62212         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
62213         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62214
62215 2007-10-15  Bruno Haible  <bruno@clisp.org>
62216
62217         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
62218         with explicit rpl_ prefix.
62219         * lib/fopen.c (fopen): Likewise.
62220         * lib/freopen.c (freopen): Likewise.
62221         * lib/iconv.c (iconv): Likewise.
62222         * lib/iconv_close.c (iconv_close): Likewise.
62223
62224 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62225
62226         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
62227
62228 2007-10-15  Bruno Haible  <bruno@clisp.org>
62229
62230         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
62231         <stddef.h> instead of <stdlib.h> since we only need NULL.
62232         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62233
62234 2007-10-15  Bruno Haible  <bruno@clisp.org>
62235
62236         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
62237         Replace paragraph talking about LIBOBJS.
62238         Reported by Colin Watson <cjwatson@debian.org>.
62239
62240 2007-10-15  Bruno Haible  <bruno@clisp.org>
62241
62242         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
62243         <stdlib.h> before using NULL.
62244
62245 2007-10-15  Simon Josefsson  <simon@josefsson.org>
62246
62247         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
62248         Reported by Albert Chin <china@thewrittenword.com>.
62249
62250 2007-10-14  Bruno Haible  <bruno@clisp.org>
62251
62252         * modules/iconv_open-utf-tests: New file.
62253         * tests/test-iconv-utf.c: New file.
62254
62255         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
62256         * modules/iconv_open-utf: New file.
62257         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
62258         (iconv, iconv_close): New declarations.
62259         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
62260         be defined.
62261         (iconv_open): Add special handling of conversion between UTF-8 and
62262         UTF-{16,32}{BE,LE}.
62263         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
62264         * lib/iconv_close.c: New file.
62265         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
62266         gl_FUNC_ICONV_OPEN.
62267         (gl_FUNC_ICONV_OPEN): Use it.
62268         (gl_FUNC_ICONV_OPEN_UTF): New macro.
62269         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
62270         and REPLACE_ICONV_UTF.
62271         * modules/iconv_open (Depends-on): Add c-strcase.
62272         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
62273         ICONV_CONST.
62274         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
62275
62276 2007-10-13  Albert Chin  <china@thewrittenword.com>
62277             Bruno Haible  <bruno@clisp.org>
62278
62279         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
62280         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
62281
62282 2007-10-13  Bruno Haible  <bruno@clisp.org>
62283
62284         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
62285         defined, use the ISO C99 inline semantics.
62286         * lib/argp.h (ARGP_EI): Likewise.
62287
62288 2007-10-13  Bruno Haible  <bruno@clisp.org>
62289
62290         Handle 'inline' change in gcc 4.3.0.
62291         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
62292         argp_fmtstream_write, argp_fmtstream_set_lmargin,
62293         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
62294         argp_fmtstream_point): Disable 'extern' declaration if the function
62295         definition is going to be provided inline.
62296         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
62297         semantics, not the ISO C99 inline semantics.
62298         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
62299         'extern' declaration if the function definition is going to be provided
62300         inline.
62301         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
62302         the GNU C inline semantics, not the ISO C99 inline semantics. With
62303         GCC 4.2, avoid a warning.
62304
62305 2007-10-13  Bruno Haible  <bruno@clisp.org>
62306
62307         * lib/freading.h (freading): Enable the use of __freading for
62308         glibc >= 2.7.
62309         * lib/freading.c (freading): Likewise.
62310
62311 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62312
62313         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
62314         "warning: C99 inline functions are not supported; using GNU89".
62315
62316 2007-10-12  Bruno Haible  <bruno@clisp.org>
62317
62318         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
62319         of 2.
62320         * tests/test-ceilf2.c: New file.
62321         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
62322
62323         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
62324         * modules/ceilf-tests: Update.
62325
62326 2007-10-12  Bruno Haible  <bruno@clisp.org>
62327
62328         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
62329         of 2.
62330         * tests/test-floorf2.c: New file.
62331         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
62332
62333         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
62334         * modules/floorf-tests: Update.
62335
62336 2007-10-12  Bruno Haible  <bruno@clisp.org>
62337
62338         * tests/test-trunc2.c: New file.
62339         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
62340
62341         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
62342         * modules/trunc-tests: Update.
62343
62344 2007-10-12  Bruno Haible  <bruno@clisp.org>
62345
62346         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
62347         of 2.
62348         * tests/test-truncf2.c: New file.
62349         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
62350
62351         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
62352         * modules/truncf-tests: Update.
62353
62354 2007-10-11  Eric Blake  <ebb9@byu.net>
62355
62356         Don't claim strerror is broken on Interix.
62357         * doc/functions/strerror.texi (strerror): Known broken systems are
62358         now Solaris 8, and not Interix.
62359         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
62360         Interix on cross-compile.
62361         Reported by Martin Koeppe in
62362         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
62363
62364 2007-10-11  Bruno Haible  <bruno@clisp.org>
62365
62366         * modules/i-ring-tests: New file.
62367         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
62368         instead of assert.
62369
62370 2007-10-11  Bruno Haible  <bruno@clisp.org>
62371
62372         * modules/filenamecat-tests: New file.
62373         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
62374         * lib/filenamecat.c: Remove test code.
62375
62376 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62377
62378         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
62379
62380         * lib/strerror.c: Include <string.h> always, to test interface,
62381         and to remove the need for the dummy.
62382         Include intprops.h to compute width instead of doing it ourselves
62383         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
62384         (strerror): Define it to return NULL if there's no system strerror.
62385         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
62386         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
62387         ancient pre-strerror Unix systems well any more.  Saying "unknown
62388         system error" is enough.
62389         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
62390         simpler strerror.c implementation.
62391         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
62392         Simplify the tests to reflect the simpler strerror implementation.
62393         * modules/strerror (Depends-on): Add intprops.
62394
62395 2007-10-09  Eric Blake  <ebb9@byu.net>
62396
62397         Silence test-fpending.
62398         * modules/fpending-tests (Files): Add wrapper script.
62399         * tests/test-fpending.sh: New file.
62400
62401 2007-10-09  Bruno Haible  <bruno@clisp.org>
62402
62403         * MODULES.html.sh (func_module): Don't create a hyperlink for
62404         function names like 'printf_frexp'.
62405         (Misc): Add crc, memxor.
62406         (Characteristics of floating types): New section.
62407         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
62408         isnanf-nolibm, signbit, trunc, truncf, truncl.
62409         (Enhancements for ISO C 99 functions): New subsection Input/output.
62410         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
62411         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
62412         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
62413         (Compatibility checks for POSIX:2001 functions): Add clock-time.
62414         (Enhancements for POSIX:2001 functions): Add chdir-long.
62415         (File system functions): Add areadlink, chdir-safer, read-file.
62416         Remove cycle-check.
62417         (File system as inode set): New section.
62418         (Date and time): Add gethrxtime.
62419         (Multithreading): Add openmp.
62420         (Internationalization functions): Add localename.
62421         (Unicode string functions): Add unistr/u*-mbsnlen.
62422         (Support for maintaining and releasing projects): Add git-version-gen.
62423         (Lone files): Remove directories.
62424
62425 2007-10-08  Ben Pfaff  <blp@gnu.org>
62426
62427         * lib/xmalloca.h: Fix typo in comment.
62428
62429 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62430
62431         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62432         when avoiding problems with integer overflow.  Use a portable test
62433         instead.
62434
62435 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62436
62437         * modules/dummy (License): Change to LGPLv2+.
62438         * modules/float (License): Likewise
62439         * modules/realloc (License): Likewise
62440         * modules/stdlib (License): Likewise
62441
62442 2007-10-07  Bruno Haible  <bruno@clisp.org>
62443
62444         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62445         * floor.c (TWO_MANT_DIG): Likewise.
62446         * ceil.c (TWO_MANT_DIG): Likewise.
62447         Reported by Ben Pfaff.
62448
62449 2007-10-07  Bruno Haible  <bruno@clisp.org>
62450
62451         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62452         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62453         * lib/frexp.c (FUNC): Likewise.
62454         * lib/printf-frexp.h (printf_frexp): Likewise.
62455         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62456         * lib/printf-frexp.c (FUNC): Likewise.
62457         Suggested by Jim Meyering.
62458
62459 2007-10-07  Jim Meyering  <meyering@redhat.com>
62460
62461         Make xnanosleep's integer overflow test more robust.
62462         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62463         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62464
62465 2007-10-07  Bruno Haible  <bruno@clisp.org>
62466
62467         * NEWS: Mention the license change.
62468
62469         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62470         abbreviations in the modules files.
62471
62472         Change copyright notice from GPLv2+ to GPLv3+.
62473         * README: Change copyright notice.
62474         * MODULES.html.sh: Likewise.
62475         * build-aux/bootstrap.conf: Likewise.
62476         * build-aux/config.libpath: Likewise.
62477         * build-aux/csharpcomp.sh.in: Likewise.
62478         * build-aux/csharpexec.sh.in: Likewise.
62479         * build-aux/install-reloc: Likewise.
62480         * build-aux/javacomp.sh.in: Likewise.
62481         * build-aux/javaexec.sh.in: Likewise.
62482         * build-aux/ldd.sh.in: Likewise.
62483         * build-aux/reloc-ldflags: Likewise.
62484         * build-aux/relocatable.sh.in: Likewise.
62485         * build-aux/x-to-1.in: Likewise.
62486         * check-module: Likewise.
62487         * config/srclistvars.sh: Likewise.
62488         * gnulib-tool: Likewise.
62489         * lib/acl-internal.h: Likewise.
62490         * lib/acl.c: Likewise.
62491         * lib/acl.h: Likewise.
62492         * lib/acl_entries.c: Likewise.
62493         * lib/areadlink-with-size.c: Likewise.
62494         * lib/areadlink.c: Likewise.
62495         * lib/areadlink.h: Likewise.
62496         * lib/argmatch.c: Likewise.
62497         * lib/argmatch.h: Likewise.
62498         * lib/argp-ba.c: Likewise.
62499         * lib/argp-eexst.c: Likewise.
62500         * lib/argp-fmtstream.c: Likewise.
62501         * lib/argp-fmtstream.h: Likewise.
62502         * lib/argp-fs-xinl.c: Likewise.
62503         * lib/argp-help.c: Likewise.
62504         * lib/argp-namefrob.h: Likewise.
62505         * lib/argp-parse.c: Likewise.
62506         * lib/argp-pin.c: Likewise.
62507         * lib/argp-pv.c: Likewise.
62508         * lib/argp-pvh.c: Likewise.
62509         * lib/argp-xinl.c: Likewise.
62510         * lib/argp.h: Likewise.
62511         * lib/at-func.c: Likewise.
62512         * lib/atanl.c: Likewise.
62513         * lib/backupfile.c: Likewise.
62514         * lib/backupfile.h: Likewise.
62515         * lib/basename.c: Likewise.
62516         * lib/binary-io.h: Likewise.
62517         * lib/byteswap.in.h: Likewise.
62518         * lib/c-stack.c: Likewise.
62519         * lib/c-stack.h: Likewise.
62520         * lib/c-strcasestr.c: Likewise.
62521         * lib/c-strcasestr.h: Likewise.
62522         * lib/c-strstr.c: Likewise.
62523         * lib/c-strstr.h: Likewise.
62524         * lib/c-strtod.c: Likewise.
62525         * lib/calloc.c: Likewise.
62526         * lib/canon-host.c: Likewise.
62527         * lib/canon-host.h: Likewise.
62528         * lib/canonicalize-lgpl.c: Likewise.
62529         * lib/canonicalize.c: Likewise.
62530         * lib/canonicalize.h: Likewise.
62531         * lib/ceil.c: Likewise.
62532         * lib/ceilf.c: Likewise.
62533         * lib/ceill.c: Likewise.
62534         * lib/chdir-long.c: Likewise.
62535         * lib/chdir-long.h: Likewise.
62536         * lib/chdir-safer.c: Likewise.
62537         * lib/chdir-safer.h: Likewise.
62538         * lib/chown.c: Likewise.
62539         * lib/classpath.c: Likewise.
62540         * lib/classpath.h: Likewise.
62541         * lib/clean-temp.c: Likewise.
62542         * lib/clean-temp.h: Likewise.
62543         * lib/cloexec.c: Likewise.
62544         * lib/close-stream.c: Likewise.
62545         * lib/closein.c: Likewise.
62546         * lib/closein.h: Likewise.
62547         * lib/closeout.c: Likewise.
62548         * lib/closeout.h: Likewise.
62549         * lib/concat-filename.c: Likewise.
62550         * lib/copy-file.c: Likewise.
62551         * lib/copy-file.h: Likewise.
62552         * lib/count-one-bits.h: Likewise.
62553         * lib/crc.c: Likewise.
62554         * lib/crc.h: Likewise.
62555         * lib/creat-safer.c: Likewise.
62556         * lib/csharpcomp.c: Likewise.
62557         * lib/csharpcomp.h: Likewise.
62558         * lib/csharpexec.c: Likewise.
62559         * lib/csharpexec.h: Likewise.
62560         * lib/cycle-check.c: Likewise.
62561         * lib/cycle-check.h: Likewise.
62562         * lib/diacrit.c: Likewise.
62563         * lib/diacrit.h: Likewise.
62564         * lib/diffseq.h: Likewise.
62565         * lib/dirchownmod.c: Likewise.
62566         * lib/dirent.in.h: Likewise.
62567         * lib/dirfd.c: Likewise.
62568         * lib/dirfd.h: Likewise.
62569         * lib/dirname.c: Likewise.
62570         * lib/dirname.h: Likewise.
62571         * lib/dummy.c: Likewise.
62572         * lib/dup-safer.c: Likewise.
62573         * lib/dup2.c: Likewise.
62574         * lib/eealloc.h: Likewise.
62575         * lib/error.c: Likewise.
62576         * lib/error.h: Likewise.
62577         * lib/euidaccess.c: Likewise.
62578         * lib/exclude.c: Likewise.
62579         * lib/exclude.h: Likewise.
62580         * lib/execute.c: Likewise.
62581         * lib/execute.h: Likewise.
62582         * lib/exitfail.c: Likewise.
62583         * lib/exitfail.h: Likewise.
62584         * lib/expl.c: Likewise.
62585         * lib/fatal-signal.c: Likewise.
62586         * lib/fatal-signal.h: Likewise.
62587         * lib/fbufmode.c: Likewise.
62588         * lib/fbufmode.h: Likewise.
62589         * lib/fchdir.c: Likewise.
62590         * lib/fchmodat.c: Likewise.
62591         * lib/fchownat.c: Likewise.
62592         * lib/fcntl--.h: Likewise.
62593         * lib/fcntl-safer.h: Likewise.
62594         * lib/fcntl.in.h: Likewise.
62595         * lib/fd-safer.c: Likewise.
62596         * lib/fflush.c: Likewise.
62597         * lib/file-has-acl.c: Likewise.
62598         * lib/file-set.c: Likewise.
62599         * lib/file-type.c: Likewise.
62600         * lib/file-type.h: Likewise.
62601         * lib/fileblocks.c: Likewise.
62602         * lib/filemode.c: Likewise.
62603         * lib/filemode.h: Likewise.
62604         * lib/filename.h: Likewise.
62605         * lib/filenamecat.c: Likewise.
62606         * lib/filenamecat.h: Likewise.
62607         * lib/findprog.c: Likewise.
62608         * lib/findprog.h: Likewise.
62609         * lib/float.in.h: Likewise.
62610         * lib/floor.c: Likewise.
62611         * lib/floorf.c: Likewise.
62612         * lib/floorl.c: Likewise.
62613         * lib/fopen-safer.c: Likewise.
62614         * lib/fopen.c: Likewise.
62615         * lib/fpending.c: Likewise.
62616         * lib/fpending.h: Likewise.
62617         * lib/fprintf.c: Likewise.
62618         * lib/fprintftime.h: Likewise.
62619         * lib/fpucw.h: Likewise.
62620         * lib/fpurge.c: Likewise.
62621         * lib/fpurge.h: Likewise.
62622         * lib/freadable.c: Likewise.
62623         * lib/freadable.h: Likewise.
62624         * lib/freadahead.c: Likewise.
62625         * lib/freadahead.h: Likewise.
62626         * lib/freading.c: Likewise.
62627         * lib/freading.h: Likewise.
62628         * lib/free.c: Likewise.
62629         * lib/freopen.c: Likewise.
62630         * lib/frexp.c: Likewise.
62631         * lib/frexpl.c: Likewise.
62632         * lib/fseek.c: Likewise.
62633         * lib/fseterr.c: Likewise.
62634         * lib/fseterr.h: Likewise.
62635         * lib/fstatat.c: Likewise.
62636         * lib/fstrcmp.c: Likewise.
62637         * lib/fstrcmp.h: Likewise.
62638         * lib/fsusage.c: Likewise.
62639         * lib/fsusage.h: Likewise.
62640         * lib/ftell.c: Likewise.
62641         * lib/ftello.c: Likewise.
62642         * lib/fts-cycle.c: Likewise.
62643         * lib/fts.c: Likewise.
62644         * lib/fts_.h: Likewise.
62645         * lib/full-read.c: Likewise.
62646         * lib/full-read.h: Likewise.
62647         * lib/full-write.c: Likewise.
62648         * lib/full-write.h: Likewise.
62649         * lib/fwritable.c: Likewise.
62650         * lib/fwritable.h: Likewise.
62651         * lib/fwriteerror.c: Likewise.
62652         * lib/fwriteerror.h: Likewise.
62653         * lib/fwriting.c: Likewise.
62654         * lib/fwriting.h: Likewise.
62655         * lib/gcd.c: Likewise.
62656         * lib/gcd.h: Likewise.
62657         * lib/getcwd.c: Likewise.
62658         * lib/getdate.h: Likewise.
62659         * lib/getdate.y: Likewise.
62660         * lib/getdomainname.c: Likewise.
62661         * lib/getdomainname.h: Likewise.
62662         * lib/getgroups.c: Likewise.
62663         * lib/gethostname.c: Likewise.
62664         * lib/gethrxtime.c: Likewise.
62665         * lib/gethrxtime.h: Likewise.
62666         * lib/getloadavg.c: Likewise.
62667         * lib/getndelim2.c: Likewise.
62668         * lib/getndelim2.h: Likewise.
62669         * lib/getnline.c: Likewise.
62670         * lib/getnline.h: Likewise.
62671         * lib/getopt.c: Likewise.
62672         * lib/getopt.in.h: Likewise.
62673         * lib/getopt1.c: Likewise.
62674         * lib/getopt_int.h: Likewise.
62675         * lib/getpagesize.h: Likewise.
62676         * lib/getsubopt.c: Likewise.
62677         * lib/gettime.c: Likewise.
62678         * lib/getugroups.c: Likewise.
62679         * lib/getugroups.h: Likewise.
62680         * lib/getusershell.c: Likewise.
62681         * lib/gl_anyavltree_list1.h: Likewise.
62682         * lib/gl_anyavltree_list2.h: Likewise.
62683         * lib/gl_anyhash_list1.h: Likewise.
62684         * lib/gl_anyhash_list2.h: Likewise.
62685         * lib/gl_anylinked_list1.h: Likewise.
62686         * lib/gl_anylinked_list2.h: Likewise.
62687         * lib/gl_anyrbtree_list1.h: Likewise.
62688         * lib/gl_anyrbtree_list2.h: Likewise.
62689         * lib/gl_anytree_list1.h: Likewise.
62690         * lib/gl_anytree_list2.h: Likewise.
62691         * lib/gl_anytree_oset.h: Likewise.
62692         * lib/gl_anytreehash_list1.h: Likewise.
62693         * lib/gl_anytreehash_list2.h: Likewise.
62694         * lib/gl_array_list.c: Likewise.
62695         * lib/gl_array_list.h: Likewise.
62696         * lib/gl_array_oset.c: Likewise.
62697         * lib/gl_array_oset.h: Likewise.
62698         * lib/gl_avltree_list.c: Likewise.
62699         * lib/gl_avltree_list.h: Likewise.
62700         * lib/gl_avltree_oset.c: Likewise.
62701         * lib/gl_avltree_oset.h: Likewise.
62702         * lib/gl_avltreehash_list.c: Likewise.
62703         * lib/gl_avltreehash_list.h: Likewise.
62704         * lib/gl_carray_list.c: Likewise.
62705         * lib/gl_carray_list.h: Likewise.
62706         * lib/gl_linked_list.c: Likewise.
62707         * lib/gl_linked_list.h: Likewise.
62708         * lib/gl_linkedhash_list.c: Likewise.
62709         * lib/gl_linkedhash_list.h: Likewise.
62710         * lib/gl_list.c: Likewise.
62711         * lib/gl_list.h: Likewise.
62712         * lib/gl_oset.c: Likewise.
62713         * lib/gl_oset.h: Likewise.
62714         * lib/gl_rbtree_list.c: Likewise.
62715         * lib/gl_rbtree_list.h: Likewise.
62716         * lib/gl_rbtree_oset.c: Likewise.
62717         * lib/gl_rbtree_oset.h: Likewise.
62718         * lib/gl_rbtreehash_list.c: Likewise.
62719         * lib/gl_rbtreehash_list.h: Likewise.
62720         * lib/gl_sublist.c: Likewise.
62721         * lib/gl_sublist.h: Likewise.
62722         * lib/group-member.c: Likewise.
62723         * lib/group-member.h: Likewise.
62724         * lib/hard-locale.c: Likewise.
62725         * lib/hard-locale.h: Likewise.
62726         * lib/hash-pjw.c: Likewise.
62727         * lib/hash-pjw.h: Likewise.
62728         * lib/hash-triple.c: Likewise.
62729         * lib/hash.c: Likewise.
62730         * lib/hash.h: Likewise.
62731         * lib/human.c: Likewise.
62732         * lib/human.h: Likewise.
62733         * lib/i-ring.c: Likewise.
62734         * lib/i-ring.h: Likewise.
62735         * lib/idcache.c: Likewise.
62736         * lib/imaxabs.c: Likewise.
62737         * lib/imaxdiv.c: Likewise.
62738         * lib/inet_pton.c: Likewise.
62739         * lib/inet_pton.h: Likewise.
62740         * lib/intprops.h: Likewise.
62741         * lib/inttostr.c: Likewise.
62742         * lib/inttostr.h: Likewise.
62743         * lib/inttypes.in.h: Likewise.
62744         * lib/isapipe.c: Likewise.
62745         * lib/isdir.c: Likewise.
62746         * lib/isnan.c: Likewise.
62747         * lib/isnan.h: Likewise.
62748         * lib/isnanf.c: Likewise.
62749         * lib/isnanf.h: Likewise.
62750         * lib/isnanl-nolibm.h: Likewise.
62751         * lib/isnanl.c: Likewise.
62752         * lib/isnanl.h: Likewise.
62753         * lib/javacomp.c: Likewise.
62754         * lib/javacomp.h: Likewise.
62755         * lib/javaexec.c: Likewise.
62756         * lib/javaexec.h: Likewise.
62757         * lib/javaversion.c: Likewise.
62758         * lib/javaversion.h: Likewise.
62759         * lib/javaversion.java: Likewise.
62760         * lib/lbrkprop.h: Likewise.
62761         * lib/lchmod.h: Likewise.
62762         * lib/lchown.c: Likewise.
62763         * lib/ldexpl.c: Likewise.
62764         * lib/linebreak.c: Likewise.
62765         * lib/linebreak.h: Likewise.
62766         * lib/linebuffer.c: Likewise.
62767         * lib/linebuffer.h: Likewise.
62768         * lib/locale.in.h: Likewise.
62769         * lib/logl.c: Likewise.
62770         * lib/long-options.c: Likewise.
62771         * lib/long-options.h: Likewise.
62772         * lib/lstat.c: Likewise.
62773         * lib/lstat.h: Likewise.
62774         * lib/math.in.h: Likewise.
62775         * lib/mbchar.c: Likewise.
62776         * lib/mbchar.h: Likewise.
62777         * lib/mbfile.h: Likewise.
62778         * lib/mbiter.h: Likewise.
62779         * lib/mbscasecmp.c: Likewise.
62780         * lib/mbscasestr.c: Likewise.
62781         * lib/mbschr.c: Likewise.
62782         * lib/mbscspn.c: Likewise.
62783         * lib/mbslen.c: Likewise.
62784         * lib/mbsncasecmp.c: Likewise.
62785         * lib/mbsnlen.c: Likewise.
62786         * lib/mbspbrk.c: Likewise.
62787         * lib/mbspcasecmp.c: Likewise.
62788         * lib/mbsrchr.c: Likewise.
62789         * lib/mbssep.c: Likewise.
62790         * lib/mbsspn.c: Likewise.
62791         * lib/mbsstr.c: Likewise.
62792         * lib/mbstok_r.c: Likewise.
62793         * lib/mbswidth.c: Likewise.
62794         * lib/mbswidth.h: Likewise.
62795         * lib/mbuiter.h: Likewise.
62796         * lib/memcasecmp.c: Likewise.
62797         * lib/memcasecmp.h: Likewise.
62798         * lib/memchr.c: Likewise.
62799         * lib/memcmp.c: Likewise.
62800         * lib/memcoll.c: Likewise.
62801         * lib/memcoll.h: Likewise.
62802         * lib/memcpy.c: Likewise.
62803         * lib/memrchr.c: Likewise.
62804         * lib/mkancesdirs.c: Likewise.
62805         * lib/mkdir-p.c: Likewise.
62806         * lib/mkdir-p.h: Likewise.
62807         * lib/mkdir.c: Likewise.
62808         * lib/mkdirat.c: Likewise.
62809         * lib/mkdtemp.c: Likewise.
62810         * lib/mkstemp-safer.c: Likewise.
62811         * lib/mkstemp.c: Likewise.
62812         * lib/modechange.c: Likewise.
62813         * lib/modechange.h: Likewise.
62814         * lib/mountlist.c: Likewise.
62815         * lib/mountlist.h: Likewise.
62816         * lib/mpsort.c: Likewise.
62817         * lib/nanosleep.c: Likewise.
62818         * lib/obstack.c: Likewise.
62819         * lib/obstack.h: Likewise.
62820         * lib/open-safer.c: Likewise.
62821         * lib/open.c: Likewise.
62822         * lib/openat-die.c: Likewise.
62823         * lib/openat-priv.h: Likewise.
62824         * lib/openat-proc.c: Likewise.
62825         * lib/openat.c: Likewise.
62826         * lib/openat.h: Likewise.
62827         * lib/pagealign_alloc.c: Likewise.
62828         * lib/pagealign_alloc.h: Likewise.
62829         * lib/physmem.c: Likewise.
62830         * lib/physmem.h: Likewise.
62831         * lib/pipe-safer.c: Likewise.
62832         * lib/pipe.c: Likewise.
62833         * lib/pipe.h: Likewise.
62834         * lib/posixtm.c: Likewise.
62835         * lib/posixtm.h: Likewise.
62836         * lib/posixver.c: Likewise.
62837         * lib/printf-frexp.c: Likewise.
62838         * lib/printf-frexp.h: Likewise.
62839         * lib/printf-frexpl.c: Likewise.
62840         * lib/printf-frexpl.h: Likewise.
62841         * lib/printf.c: Likewise.
62842         * lib/progname.c: Likewise.
62843         * lib/progname.h: Likewise.
62844         * lib/progreloc.c: Likewise.
62845         * lib/putenv.c: Likewise.
62846         * lib/quote.c: Likewise.
62847         * lib/quote.h: Likewise.
62848         * lib/quotearg.c: Likewise.
62849         * lib/quotearg.h: Likewise.
62850         * lib/raise.c: Likewise.
62851         * lib/readline.c: Likewise.
62852         * lib/readline.h: Likewise.
62853         * lib/readlink.c: Likewise.
62854         * lib/readtokens.c: Likewise.
62855         * lib/readtokens.h: Likewise.
62856         * lib/readtokens0.c: Likewise.
62857         * lib/readtokens0.h: Likewise.
62858         * lib/readutmp.c: Likewise.
62859         * lib/readutmp.h: Likewise.
62860         * lib/realloc.c: Likewise.
62861         * lib/relocwrapper.c: Likewise.
62862         * lib/rename-dest-slash.c: Likewise.
62863         * lib/rename.c: Likewise.
62864         * lib/rmdir.c: Likewise.
62865         * lib/rpmatch.c: Likewise.
62866         * lib/safe-read.c: Likewise.
62867         * lib/safe-read.h: Likewise.
62868         * lib/safe-write.c: Likewise.
62869         * lib/safe-write.h: Likewise.
62870         * lib/same-inode.h: Likewise.
62871         * lib/same.c: Likewise.
62872         * lib/same.h: Likewise.
62873         * lib/save-cwd.c: Likewise.
62874         * lib/save-cwd.h: Likewise.
62875         * lib/savedir.c: Likewise.
62876         * lib/savedir.h: Likewise.
62877         * lib/savewd.c: Likewise.
62878         * lib/savewd.h: Likewise.
62879         * lib/search.in.h: Likewise.
62880         * lib/setenv.c: Likewise.
62881         * lib/setenv.h: Likewise.
62882         * lib/settime.c: Likewise.
62883         * lib/sh-quote.c: Likewise.
62884         * lib/sh-quote.h: Likewise.
62885         * lib/sig2str.c: Likewise.
62886         * lib/sig2str.h: Likewise.
62887         * lib/signal.in.h: Likewise.
62888         * lib/signbitd.c: Likewise.
62889         * lib/signbitf.c: Likewise.
62890         * lib/signbitl.c: Likewise.
62891         * lib/sigprocmask.c: Likewise.
62892         * lib/sincosl.c: Likewise.
62893         * lib/sleep.c: Likewise.
62894         * lib/sprintf.c: Likewise.
62895         * lib/sqrtl.c: Likewise.
62896         * lib/stat-time.h: Likewise.
62897         * lib/stdio--.h: Likewise.
62898         * lib/stdio-safer.h: Likewise.
62899         * lib/stdlib--.h: Likewise.
62900         * lib/stdlib-safer.h: Likewise.
62901         * lib/stdlib.in.h: Likewise.
62902         * lib/stpcpy.c: Likewise.
62903         * lib/stpncpy.c: Likewise.
62904         * lib/strchrnul.c: Likewise.
62905         * lib/strcspn.c: Likewise.
62906         * lib/strerror.c: Likewise.
62907         * lib/strftime.c: Likewise.
62908         * lib/strftime.h: Likewise.
62909         * lib/striconveh.c: Likewise.
62910         * lib/striconveh.h: Likewise.
62911         * lib/striconveha.c: Likewise.
62912         * lib/striconveha.h: Likewise.
62913         * lib/stripslash.c: Likewise.
62914         * lib/strnlen1.c: Likewise.
62915         * lib/strnlen1.h: Likewise.
62916         * lib/strtod.c: Likewise.
62917         * lib/strtoimax.c: Likewise.
62918         * lib/strtok_r.c: Likewise.
62919         * lib/strtol.c: Likewise.
62920         * lib/strtoll.c: Likewise.
62921         * lib/strtoul.c: Likewise.
62922         * lib/strtoull.c: Likewise.
62923         * lib/sysexits.in.h: Likewise.
62924         * lib/tempname.c: Likewise.
62925         * lib/tempname.h: Likewise.
62926         * lib/timespec.h: Likewise.
62927         * lib/tls.c: Likewise.
62928         * lib/tls.h: Likewise.
62929         * lib/tmpdir.c: Likewise.
62930         * lib/tmpdir.h: Likewise.
62931         * lib/tmpfile-safer.c: Likewise.
62932         * lib/tmpfile.c: Likewise.
62933         * lib/trigl.c: Likewise.
62934         * lib/trigl.h: Likewise.
62935         * lib/trim.c: Likewise.
62936         * lib/trim.h: Likewise.
62937         * lib/trunc.c: Likewise.
62938         * lib/truncf.c: Likewise.
62939         * lib/truncl.c: Likewise.
62940         * lib/tsearch.c: Likewise.
62941         * lib/unicodeio.c: Likewise.
62942         * lib/unicodeio.h: Likewise.
62943         * lib/unistd--.h: Likewise.
62944         * lib/unistd-safer.h: Likewise.
62945         * lib/unistdio/ulc-fprintf.c: Likewise.
62946         * lib/unistdio/ulc-vfprintf.c: Likewise.
62947         * lib/unlinkdir.c: Likewise.
62948         * lib/unlinkdir.h: Likewise.
62949         * lib/unlocked-io.h: Likewise.
62950         * lib/unsetenv.c: Likewise.
62951         * lib/userspec.c: Likewise.
62952         * lib/utime.c: Likewise.
62953         * lib/utimecmp.c: Likewise.
62954         * lib/utimecmp.h: Likewise.
62955         * lib/utimens.c: Likewise.
62956         * lib/verify.h: Likewise.
62957         * lib/verror.c: Likewise.
62958         * lib/verror.h: Likewise.
62959         * lib/version-etc-fsf.c: Likewise.
62960         * lib/version-etc.c: Likewise.
62961         * lib/version-etc.h: Likewise.
62962         * lib/vfprintf.c: Likewise.
62963         * lib/vprintf.c: Likewise.
62964         * lib/vsprintf.c: Likewise.
62965         * lib/w32spawn.h: Likewise.
62966         * lib/wait-process.c: Likewise.
62967         * lib/wait-process.h: Likewise.
62968         * lib/wcwidth.c: Likewise.
62969         * lib/write-any-file.c: Likewise.
62970         * lib/xalloc-die.c: Likewise.
62971         * lib/xalloc.h: Likewise.
62972         * lib/xasprintf.c: Likewise.
62973         * lib/xgetcwd.c: Likewise.
62974         * lib/xgetcwd.h: Likewise.
62975         * lib/xgetdomainname.c: Likewise.
62976         * lib/xgetdomainname.h: Likewise.
62977         * lib/xgethostname.c: Likewise.
62978         * lib/xmalloc.c: Likewise.
62979         * lib/xmalloca.c: Likewise.
62980         * lib/xmalloca.h: Likewise.
62981         * lib/xmemcoll.c: Likewise.
62982         * lib/xnanosleep.c: Likewise.
62983         * lib/xreadlink.c: Likewise.
62984         * lib/xreadlink.h: Likewise.
62985         * lib/xsetenv.c: Likewise.
62986         * lib/xsetenv.h: Likewise.
62987         * lib/xstriconv.c: Likewise.
62988         * lib/xstriconv.h: Likewise.
62989         * lib/xstrndup.c: Likewise.
62990         * lib/xstrndup.h: Likewise.
62991         * lib/xstrtod.c: Likewise.
62992         * lib/xstrtod.h: Likewise.
62993         * lib/xstrtol-error.c: Likewise.
62994         * lib/xstrtol.c: Likewise.
62995         * lib/xstrtol.h: Likewise.
62996         * lib/xtime.h: Likewise.
62997         * lib/xvasprintf.c: Likewise.
62998         * lib/xvasprintf.h: Likewise.
62999         * lib/yesno.c: Likewise.
63000         * lib/yesno.h: Likewise.
63001         * posix-modules: Likewise.
63002         * tests/test-alloca-opt.c: Likewise.
63003         * tests/test-arcfour.c: Likewise.
63004         * tests/test-arctwo.c: Likewise.
63005         * tests/test-argmatch.c: Likewise.
63006         * tests/test-argp-2.sh: Likewise.
63007         * tests/test-argp.c: Likewise.
63008         * tests/test-arpa_inet.c: Likewise.
63009         * tests/test-array_list.c: Likewise.
63010         * tests/test-array_oset.c: Likewise.
63011         * tests/test-atexit.c: Likewise.
63012         * tests/test-avltree_list.c: Likewise.
63013         * tests/test-avltree_oset.c: Likewise.
63014         * tests/test-avltreehash_list.c: Likewise.
63015         * tests/test-base64.c: Likewise.
63016         * tests/test-binary-io.c: Likewise.
63017         * tests/test-byteswap.c: Likewise.
63018         * tests/test-c-ctype.c: Likewise.
63019         * tests/test-c-strcasecmp.c: Likewise.
63020         * tests/test-c-strcasestr.c: Likewise.
63021         * tests/test-c-strncasecmp.c: Likewise.
63022         * tests/test-c-strstr.c: Likewise.
63023         * tests/test-canonicalize-lgpl.c: Likewise.
63024         * tests/test-canonicalize.c: Likewise.
63025         * tests/test-carray_list.c: Likewise.
63026         * tests/test-ceilf.c: Likewise.
63027         * tests/test-ceill.c: Likewise.
63028         * tests/test-count-one-bits.c: Likewise.
63029         * tests/test-crc.c: Likewise.
63030         * tests/test-dirname.c: Likewise.
63031         * tests/test-fbufmode.c: Likewise.
63032         * tests/test-fcntl.c: Likewise.
63033         * tests/test-fflush.c: Likewise.
63034         * tests/test-floorf.c: Likewise.
63035         * tests/test-floorl.c: Likewise.
63036         * tests/test-fopen.c: Likewise.
63037         * tests/test-fprintf-posix.c: Likewise.
63038         * tests/test-fprintf-posix.h: Likewise.
63039         * tests/test-fpurge.c: Likewise.
63040         * tests/test-freadable.c: Likewise.
63041         * tests/test-freadahead.c: Likewise.
63042         * tests/test-freading.c: Likewise.
63043         * tests/test-freopen.c: Likewise.
63044         * tests/test-frexp.c: Likewise.
63045         * tests/test-frexpl.c: Likewise.
63046         * tests/test-fseek.c: Likewise.
63047         * tests/test-fseeko.c: Likewise.
63048         * tests/test-fseterr.c: Likewise.
63049         * tests/test-fstrcmp.c: Likewise.
63050         * tests/test-ftell.c: Likewise.
63051         * tests/test-ftello.c: Likewise.
63052         * tests/test-fwritable.c: Likewise.
63053         * tests/test-fwriting.c: Likewise.
63054         * tests/test-getaddrinfo.c: Likewise.
63055         * tests/test-getpass.c: Likewise.
63056         * tests/test-gettimeofday.c: Likewise.
63057         * tests/test-hmac-md5.c: Likewise.
63058         * tests/test-hmac-sha1.c: Likewise.
63059         * tests/test-iconv.c: Likewise.
63060         * tests/test-iconvme.c: Likewise.
63061         * tests/test-inttypes.c: Likewise.
63062         * tests/test-isnan.c: Likewise.
63063         * tests/test-isnanf.c: Likewise.
63064         * tests/test-isnanl-nolibm.c: Likewise.
63065         * tests/test-isnanl.c: Likewise.
63066         * tests/test-isnanl.h: Likewise.
63067         * tests/test-ldexpl.c: Likewise.
63068         * tests/test-linked_list.c: Likewise.
63069         * tests/test-linkedhash_list.c: Likewise.
63070         * tests/test-locale.c: Likewise.
63071         * tests/test-localename.c: Likewise.
63072         * tests/test-lock.c: Likewise.
63073         * tests/test-lseek.c: Likewise.
63074         * tests/test-malloca.c: Likewise.
63075         * tests/test-math.c: Likewise.
63076         * tests/test-mbscasecmp.c: Likewise.
63077         * tests/test-mbscasestr1.c: Likewise.
63078         * tests/test-mbscasestr2.c: Likewise.
63079         * tests/test-mbscasestr3.c: Likewise.
63080         * tests/test-mbscasestr4.c: Likewise.
63081         * tests/test-mbschr.c: Likewise.
63082         * tests/test-mbscspn.c: Likewise.
63083         * tests/test-mbsncasecmp.c: Likewise.
63084         * tests/test-mbspbrk.c: Likewise.
63085         * tests/test-mbspcasecmp.c: Likewise.
63086         * tests/test-mbsrchr.c: Likewise.
63087         * tests/test-mbsspn.c: Likewise.
63088         * tests/test-mbsstr1.c: Likewise.
63089         * tests/test-mbsstr2.c: Likewise.
63090         * tests/test-mbsstr3.c: Likewise.
63091         * tests/test-md5.c: Likewise.
63092         * tests/test-memmem.c: Likewise.
63093         * tests/test-netinet_in.c: Likewise.
63094         * tests/test-open.c: Likewise.
63095         * tests/test-printf-frexp.c: Likewise.
63096         * tests/test-printf-frexpl.c: Likewise.
63097         * tests/test-printf-posix.c: Likewise.
63098         * tests/test-printf-posix.h: Likewise.
63099         * tests/test-rbtree_list.c: Likewise.
63100         * tests/test-rbtree_oset.c: Likewise.
63101         * tests/test-rbtreehash_list.c: Likewise.
63102         * tests/test-read-file.c: Likewise.
63103         * tests/test-rijndael.c: Likewise.
63104         * tests/test-search.c: Likewise.
63105         * tests/test-signbit.c: Likewise.
63106         * tests/test-sleep.c: Likewise.
63107         * tests/test-snprintf-posix.c: Likewise.
63108         * tests/test-snprintf-posix.h: Likewise.
63109         * tests/test-snprintf.c: Likewise.
63110         * tests/test-sprintf-posix.c: Likewise.
63111         * tests/test-sprintf-posix.h: Likewise.
63112         * tests/test-stat-time.c: Likewise.
63113         * tests/test-stdbool.c: Likewise.
63114         * tests/test-stdint.c: Likewise.
63115         * tests/test-stdio.c: Likewise.
63116         * tests/test-stdlib.c: Likewise.
63117         * tests/test-stpncpy.c: Likewise.
63118         * tests/test-strcasestr.c: Likewise.
63119         * tests/test-striconv.c: Likewise.
63120         * tests/test-striconveh.c: Likewise.
63121         * tests/test-striconveha.c: Likewise.
63122         * tests/test-string.c: Likewise.
63123         * tests/test-sys_select.c: Likewise.
63124         * tests/test-sys_socket.c: Likewise.
63125         * tests/test-sys_stat.c: Likewise.
63126         * tests/test-sys_time.c: Likewise.
63127         * tests/test-sysexits.c: Likewise.
63128         * tests/test-time.c: Likewise.
63129         * tests/test-tls.c: Likewise.
63130         * tests/test-trunc.c: Likewise.
63131         * tests/test-truncf.c: Likewise.
63132         * tests/test-truncl.c: Likewise.
63133         * tests/test-unistd.c: Likewise.
63134         * tests/test-vasnprintf-posix.c: Likewise.
63135         * tests/test-vasnprintf-posix2.c: Likewise.
63136         * tests/test-vasnprintf.c: Likewise.
63137         * tests/test-vasprintf-posix.c: Likewise.
63138         * tests/test-vasprintf.c: Likewise.
63139         * tests/test-verify.c: Likewise.
63140         * tests/test-vfprintf-posix.c: Likewise.
63141         * tests/test-vprintf-posix.c: Likewise.
63142         * tests/test-vsnprintf-posix.c: Likewise.
63143         * tests/test-vsnprintf.c: Likewise.
63144         * tests/test-vsprintf-posix.c: Likewise.
63145         * tests/test-wchar.c: Likewise.
63146         * tests/test-wctype.c: Likewise.
63147         * tests/test-wcwidth.c: Likewise.
63148         * tests/test-xstrtol.c: Likewise.
63149         * tests/test-xvasprintf.c: Likewise.
63150         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
63151         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
63152         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63153         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63154         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63155         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
63156         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63157         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63158         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63159         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
63160         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63161         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63162         * tests/uniname/test-uninames.c: Likewise.
63163         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
63164         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
63165         * tests/unistdio/test-u16-printf1.h: Likewise.
63166         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
63167         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
63168         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
63169         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
63170         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
63171         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
63172         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
63173         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
63174         * tests/unistdio/test-u32-printf1.h: Likewise.
63175         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
63176         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
63177         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
63178         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
63179         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
63180         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
63181         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
63182         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
63183         * tests/unistdio/test-u8-printf1.h: Likewise.
63184         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
63185         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
63186         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
63187         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
63188         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
63189         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
63190         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
63191         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
63192         * tests/unistdio/test-ulc-printf1.h: Likewise.
63193         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
63194         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
63195         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
63196         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
63197         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
63198         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
63199         * tests/uniwidth/test-u16-strwidth.c: Likewise.
63200         * tests/uniwidth/test-u16-width.c: Likewise.
63201         * tests/uniwidth/test-u32-strwidth.c: Likewise.
63202         * tests/uniwidth/test-u32-width.c: Likewise.
63203         * tests/uniwidth/test-u8-strwidth.c: Likewise.
63204         * tests/uniwidth/test-u8-width.c: Likewise.
63205         * tests/uniwidth/test-uc_width.c: Likewise.
63206         * config/srclist-update: Likewise.
63207         (fixlicense): Update to GPLv3+.
63208
63209         Change copyright notice from LGPLv2.1+ to LGPLv3+.
63210         * tests/test-tsearch.c: Change copyright notice.
63211
63212         Change copyright notice from LGPLv2.0+ to LGPLv3+.
63213         * lib/c-strcaseeq.h: Change copyright notice.
63214         * lib/streq.h: Likewise.
63215         * lib/uniconv.h: Likewise.
63216         * lib/uniconv/u-conv-from-enc.h: Likewise.
63217         * lib/uniconv/u-conv-to-enc.h: Likewise.
63218         * lib/uniconv/u-strconv-from-enc.h: Likewise.
63219         * lib/uniconv/u-strconv-to-enc.h: Likewise.
63220         * lib/uniconv/u16-conv-from-enc.c: Likewise.
63221         * lib/uniconv/u16-conv-to-enc.c: Likewise.
63222         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
63223         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
63224         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
63225         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
63226         * lib/uniconv/u32-conv-from-enc.c: Likewise.
63227         * lib/uniconv/u32-conv-to-enc.c: Likewise.
63228         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
63229         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
63230         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
63231         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
63232         * lib/uniconv/u8-conv-from-enc.c: Likewise.
63233         * lib/uniconv/u8-conv-to-enc.c: Likewise.
63234         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
63235         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
63236         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
63237         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
63238         * lib/uniname.h: Likewise.
63239         * lib/uniname/uniname.c: Likewise.
63240         * lib/unistdio.h: Likewise.
63241         * lib/unistdio/u-asnprintf.h: Likewise.
63242         * lib/unistdio/u-asprintf.h: Likewise.
63243         * lib/unistdio/u-printf-args.c: Likewise.
63244         * lib/unistdio/u-printf-args.h: Likewise.
63245         * lib/unistdio/u-printf-parse.h: Likewise.
63246         * lib/unistdio/u-snprintf.h: Likewise.
63247         * lib/unistdio/u-sprintf.h: Likewise.
63248         * lib/unistdio/u-vasprintf.h: Likewise.
63249         * lib/unistdio/u-vsnprintf.h: Likewise.
63250         * lib/unistdio/u-vsprintf.h: Likewise.
63251         * lib/unistdio/u16-asnprintf.c: Likewise.
63252         * lib/unistdio/u16-asprintf.c: Likewise.
63253         * lib/unistdio/u16-printf-parse.c: Likewise.
63254         * lib/unistdio/u16-snprintf.c: Likewise.
63255         * lib/unistdio/u16-sprintf.c: Likewise.
63256         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
63257         * lib/unistdio/u16-u16-asprintf.c: Likewise.
63258         * lib/unistdio/u16-u16-snprintf.c: Likewise.
63259         * lib/unistdio/u16-u16-sprintf.c: Likewise.
63260         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
63261         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
63262         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
63263         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
63264         * lib/unistdio/u16-vasnprintf.c: Likewise.
63265         * lib/unistdio/u16-vasprintf.c: Likewise.
63266         * lib/unistdio/u16-vsnprintf.c: Likewise.
63267         * lib/unistdio/u16-vsprintf.c: Likewise.
63268         * lib/unistdio/u32-asnprintf.c: Likewise.
63269         * lib/unistdio/u32-asprintf.c: Likewise.
63270         * lib/unistdio/u32-printf-parse.c: Likewise.
63271         * lib/unistdio/u32-snprintf.c: Likewise.
63272         * lib/unistdio/u32-sprintf.c: Likewise.
63273         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
63274         * lib/unistdio/u32-u32-asprintf.c: Likewise.
63275         * lib/unistdio/u32-u32-snprintf.c: Likewise.
63276         * lib/unistdio/u32-u32-sprintf.c: Likewise.
63277         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
63278         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
63279         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
63280         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
63281         * lib/unistdio/u32-vasnprintf.c: Likewise.
63282         * lib/unistdio/u32-vasprintf.c: Likewise.
63283         * lib/unistdio/u32-vsnprintf.c: Likewise.
63284         * lib/unistdio/u32-vsprintf.c: Likewise.
63285         * lib/unistdio/u8-asnprintf.c: Likewise.
63286         * lib/unistdio/u8-asprintf.c: Likewise.
63287         * lib/unistdio/u8-printf-parse.c: Likewise.
63288         * lib/unistdio/u8-snprintf.c: Likewise.
63289         * lib/unistdio/u8-sprintf.c: Likewise.
63290         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
63291         * lib/unistdio/u8-u8-asprintf.c: Likewise.
63292         * lib/unistdio/u8-u8-snprintf.c: Likewise.
63293         * lib/unistdio/u8-u8-sprintf.c: Likewise.
63294         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
63295         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
63296         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
63297         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
63298         * lib/unistdio/u8-vasnprintf.c: Likewise.
63299         * lib/unistdio/u8-vasprintf.c: Likewise.
63300         * lib/unistdio/u8-vsnprintf.c: Likewise.
63301         * lib/unistdio/u8-vsprintf.c: Likewise.
63302         * lib/unistdio/ulc-asnprintf.c: Likewise.
63303         * lib/unistdio/ulc-asprintf.c: Likewise.
63304         * lib/unistdio/ulc-printf-parse.c: Likewise.
63305         * lib/unistdio/ulc-snprintf.c: Likewise.
63306         * lib/unistdio/ulc-sprintf.c: Likewise.
63307         * lib/unistdio/ulc-vasnprintf.c: Likewise.
63308         * lib/unistdio/ulc-vasprintf.c: Likewise.
63309         * lib/unistdio/ulc-vsnprintf.c: Likewise.
63310         * lib/unistdio/ulc-vsprintf.c: Likewise.
63311         * lib/unistr.h: Likewise.
63312         * lib/unistr/u-cpy-alloc.h: Likewise.
63313         * lib/unistr/u-cpy.h: Likewise.
63314         * lib/unistr/u-endswith.h: Likewise.
63315         * lib/unistr/u-move.h: Likewise.
63316         * lib/unistr/u-set.h: Likewise.
63317         * lib/unistr/u-startswith.h: Likewise.
63318         * lib/unistr/u-stpcpy.h: Likewise.
63319         * lib/unistr/u-stpncpy.h: Likewise.
63320         * lib/unistr/u-strcat.h: Likewise.
63321         * lib/unistr/u-strcpy.h: Likewise.
63322         * lib/unistr/u-strcspn.h: Likewise.
63323         * lib/unistr/u-strdup.h: Likewise.
63324         * lib/unistr/u-strlen.h: Likewise.
63325         * lib/unistr/u-strncat.h: Likewise.
63326         * lib/unistr/u-strncpy.h: Likewise.
63327         * lib/unistr/u-strnlen.h: Likewise.
63328         * lib/unistr/u-strpbrk.h: Likewise.
63329         * lib/unistr/u-strspn.h: Likewise.
63330         * lib/unistr/u-strstr.h: Likewise.
63331         * lib/unistr/u-strtok.h: Likewise.
63332         * lib/unistr/u16-check.c: Likewise.
63333         * lib/unistr/u16-chr.c: Likewise.
63334         * lib/unistr/u16-cmp.c: Likewise.
63335         * lib/unistr/u16-cpy-alloc.c: Likewise.
63336         * lib/unistr/u16-cpy.c: Likewise.
63337         * lib/unistr/u16-endswith.c: Likewise.
63338         * lib/unistr/u16-mblen.c: Likewise.
63339         * lib/unistr/u16-mbsnlen.c: Likewise.
63340         * lib/unistr/u16-mbtouc-aux.c: Likewise.
63341         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
63342         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
63343         * lib/unistr/u16-mbtouc.c: Likewise.
63344         * lib/unistr/u16-mbtoucr.c: Likewise.
63345         * lib/unistr/u16-move.c: Likewise.
63346         * lib/unistr/u16-next.c: Likewise.
63347         * lib/unistr/u16-prev.c: Likewise.
63348         * lib/unistr/u16-set.c: Likewise.
63349         * lib/unistr/u16-startswith.c: Likewise.
63350         * lib/unistr/u16-stpcpy.c: Likewise.
63351         * lib/unistr/u16-stpncpy.c: Likewise.
63352         * lib/unistr/u16-strcat.c: Likewise.
63353         * lib/unistr/u16-strchr.c: Likewise.
63354         * lib/unistr/u16-strcmp.c: Likewise.
63355         * lib/unistr/u16-strcpy.c: Likewise.
63356         * lib/unistr/u16-strcspn.c: Likewise.
63357         * lib/unistr/u16-strdup.c: Likewise.
63358         * lib/unistr/u16-strlen.c: Likewise.
63359         * lib/unistr/u16-strmblen.c: Likewise.
63360         * lib/unistr/u16-strmbtouc.c: Likewise.
63361         * lib/unistr/u16-strncat.c: Likewise.
63362         * lib/unistr/u16-strncmp.c: Likewise.
63363         * lib/unistr/u16-strncpy.c: Likewise.
63364         * lib/unistr/u16-strnlen.c: Likewise.
63365         * lib/unistr/u16-strpbrk.c: Likewise.
63366         * lib/unistr/u16-strrchr.c: Likewise.
63367         * lib/unistr/u16-strspn.c: Likewise.
63368         * lib/unistr/u16-strstr.c: Likewise.
63369         * lib/unistr/u16-strtok.c: Likewise.
63370         * lib/unistr/u16-to-u32.c: Likewise.
63371         * lib/unistr/u16-to-u8.c: Likewise.
63372         * lib/unistr/u16-uctomb-aux.c: Likewise.
63373         * lib/unistr/u16-uctomb.c: Likewise.
63374         * lib/unistr/u32-check.c: Likewise.
63375         * lib/unistr/u32-chr.c: Likewise.
63376         * lib/unistr/u32-cmp.c: Likewise.
63377         * lib/unistr/u32-cpy-alloc.c: Likewise.
63378         * lib/unistr/u32-cpy.c: Likewise.
63379         * lib/unistr/u32-endswith.c: Likewise.
63380         * lib/unistr/u32-mblen.c: Likewise.
63381         * lib/unistr/u32-mbsnlen.c: Likewise.
63382         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
63383         * lib/unistr/u32-mbtouc.c: Likewise.
63384         * lib/unistr/u32-mbtoucr.c: Likewise.
63385         * lib/unistr/u32-move.c: Likewise.
63386         * lib/unistr/u32-next.c: Likewise.
63387         * lib/unistr/u32-prev.c: Likewise.
63388         * lib/unistr/u32-set.c: Likewise.
63389         * lib/unistr/u32-startswith.c: Likewise.
63390         * lib/unistr/u32-stpcpy.c: Likewise.
63391         * lib/unistr/u32-stpncpy.c: Likewise.
63392         * lib/unistr/u32-strcat.c: Likewise.
63393         * lib/unistr/u32-strchr.c: Likewise.
63394         * lib/unistr/u32-strcmp.c: Likewise.
63395         * lib/unistr/u32-strcpy.c: Likewise.
63396         * lib/unistr/u32-strcspn.c: Likewise.
63397         * lib/unistr/u32-strdup.c: Likewise.
63398         * lib/unistr/u32-strlen.c: Likewise.
63399         * lib/unistr/u32-strmblen.c: Likewise.
63400         * lib/unistr/u32-strmbtouc.c: Likewise.
63401         * lib/unistr/u32-strncat.c: Likewise.
63402         * lib/unistr/u32-strncmp.c: Likewise.
63403         * lib/unistr/u32-strncpy.c: Likewise.
63404         * lib/unistr/u32-strnlen.c: Likewise.
63405         * lib/unistr/u32-strpbrk.c: Likewise.
63406         * lib/unistr/u32-strrchr.c: Likewise.
63407         * lib/unistr/u32-strspn.c: Likewise.
63408         * lib/unistr/u32-strstr.c: Likewise.
63409         * lib/unistr/u32-strtok.c: Likewise.
63410         * lib/unistr/u32-to-u16.c: Likewise.
63411         * lib/unistr/u32-to-u8.c: Likewise.
63412         * lib/unistr/u32-uctomb.c: Likewise.
63413         * lib/unistr/u8-check.c: Likewise.
63414         * lib/unistr/u8-chr.c: Likewise.
63415         * lib/unistr/u8-cmp.c: Likewise.
63416         * lib/unistr/u8-cpy-alloc.c: Likewise.
63417         * lib/unistr/u8-cpy.c: Likewise.
63418         * lib/unistr/u8-endswith.c: Likewise.
63419         * lib/unistr/u8-mblen.c: Likewise.
63420         * lib/unistr/u8-mbsnlen.c: Likewise.
63421         * lib/unistr/u8-mbtouc-aux.c: Likewise.
63422         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
63423         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
63424         * lib/unistr/u8-mbtouc.c: Likewise.
63425         * lib/unistr/u8-mbtoucr.c: Likewise.
63426         * lib/unistr/u8-move.c: Likewise.
63427         * lib/unistr/u8-next.c: Likewise.
63428         * lib/unistr/u8-prev.c: Likewise.
63429         * lib/unistr/u8-set.c: Likewise.
63430         * lib/unistr/u8-startswith.c: Likewise.
63431         * lib/unistr/u8-stpcpy.c: Likewise.
63432         * lib/unistr/u8-stpncpy.c: Likewise.
63433         * lib/unistr/u8-strcat.c: Likewise.
63434         * lib/unistr/u8-strchr.c: Likewise.
63435         * lib/unistr/u8-strcmp.c: Likewise.
63436         * lib/unistr/u8-strcpy.c: Likewise.
63437         * lib/unistr/u8-strcspn.c: Likewise.
63438         * lib/unistr/u8-strdup.c: Likewise.
63439         * lib/unistr/u8-strlen.c: Likewise.
63440         * lib/unistr/u8-strmblen.c: Likewise.
63441         * lib/unistr/u8-strmbtouc.c: Likewise.
63442         * lib/unistr/u8-strncat.c: Likewise.
63443         * lib/unistr/u8-strncmp.c: Likewise.
63444         * lib/unistr/u8-strncpy.c: Likewise.
63445         * lib/unistr/u8-strnlen.c: Likewise.
63446         * lib/unistr/u8-strpbrk.c: Likewise.
63447         * lib/unistr/u8-strrchr.c: Likewise.
63448         * lib/unistr/u8-strspn.c: Likewise.
63449         * lib/unistr/u8-strstr.c: Likewise.
63450         * lib/unistr/u8-strtok.c: Likewise.
63451         * lib/unistr/u8-to-u16.c: Likewise.
63452         * lib/unistr/u8-to-u32.c: Likewise.
63453         * lib/unistr/u8-uctomb-aux.c: Likewise.
63454         * lib/unistr/u8-uctomb.c: Likewise.
63455         * lib/unitypes.h: Likewise.
63456         * lib/uniwidth.h: Likewise.
63457         * lib/uniwidth/cjk.h: Likewise.
63458         * lib/uniwidth/u16-strwidth.c: Likewise.
63459         * lib/uniwidth/u16-width.c: Likewise.
63460         * lib/uniwidth/u32-strwidth.c: Likewise.
63461         * lib/uniwidth/u32-width.c: Likewise.
63462         * lib/uniwidth/u8-strwidth.c: Likewise.
63463         * lib/uniwidth/u8-width.c: Likewise.
63464         * lib/uniwidth/width.c: Likewise.
63465
63466 2007-10-07  Bruno Haible  <bruno@clisp.org>
63467
63468         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63469         The file is still under LGPL (see modules/inttypes).
63470
63471 2007-10-06  Bruno Haible  <bruno@clisp.org>
63472
63473         * modules/trunc (Dependencies): Add 'extensions'.
63474         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63475         Reported by Ben Pfaff <blp@gnu.org>.
63476
63477 2007-10-06  Bruno Haible  <bruno@clisp.org>
63478
63479         * modules/freopen-tests: New file.
63480         * tests/test-freopen.c: New file.
63481
63482         * modules/fopen-tests: New file.
63483         * tests/test-fopen.c: New file.
63484
63485         * modules/fopen: New file.
63486         * lib/fopen.c: New file.
63487         * m4/fopen.m4: New file.
63488         * modules/freopen: New file.
63489         * lib/freopen.c: New file.
63490         * m4/freopen.m4: New file.
63491         * lib/stdio.in.h (fopen, freopen): New declarations.
63492         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63493         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63494         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63495         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63496         * doc/functions/fopen.texi: Mention the 'fopen' module.
63497         * doc/functions/freopen.texi: Mention the 'freopen' module.
63498
63499 2007-10-06  Bruno Haible  <bruno@clisp.org>
63500
63501         * modules/open-tests: New file.
63502         * tests/test-open.c: New file.
63503
63504         * modules/open: New file.
63505         * lib/open.c: New file.
63506         * m4/open.m4: New file.
63507         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63508         lib/open.c does.
63509         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63510         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63511         macros.
63512         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63513         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63514         REPLACE_OPEN.
63515         * doc/functions/open.texi: Mention the 'open' module.
63516
63517 2007-10-04  Bruno Haible  <bruno@clisp.org>
63518
63519         * modules/ceill-tests: New file.
63520         * tests/test-ceill.c: New file.
63521
63522         * modules/ceill: New file.
63523         * lib/ceill.c: Replace entire file.
63524         * m4/ceill.m4: New file.
63525         * lib/math.in.h (ceill): Replace declaration.
63526         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63527         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63528         * doc/functions/ceill.texi: Mention the 'ceill' module.
63529         * modules/mathl (Files): Remove lib/ceill.c.
63530         (Depends-on): Add ceill.
63531
63532 2007-10-04  Bruno Haible  <bruno@clisp.org>
63533
63534         * modules/ceilf-tests: New file.
63535         * tests/test-ceilf.c: New file.
63536
63537         * modules/ceilf: New file.
63538         * lib/ceil.c: New file.
63539         * lib/ceilf.c: New file.
63540         * m4/ceilf.m4: New file.
63541         * lib/math.in.h (ceilf): New declaration.
63542         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63543         HAVE_DECL_CEILF.
63544         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63545         HAVE_DECL_CEILF.
63546         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63547
63548 2007-10-04  Bruno Haible  <bruno@clisp.org>
63549
63550         * modules/floorl-tests: New file.
63551         * tests/test-floorl.c: New file.
63552
63553         * modules/floorl: New file.
63554         * lib/floorl.c: Replace entire file.
63555         * m4/floorl.m4: New file.
63556         * lib/math.in.h (floorl): Replace declaration.
63557         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63558         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63559         * doc/functions/floorl.texi: Mention the 'floorl' module.
63560         * modules/mathl (Files): Remove lib/floorl.c.
63561         (Depends-on): Add floorl.
63562
63563 2007-10-04  Bruno Haible  <bruno@clisp.org>
63564
63565         * modules/floorf-tests: New file.
63566         * tests/test-floorf.c: New file.
63567
63568         * modules/floorf: New file.
63569         * lib/floor.c: New file.
63570         * lib/floorf.c: New file.
63571         * m4/floorf.m4: New file.
63572         * lib/math.in.h (floorf): New declaration.
63573         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63574         HAVE_DECL_FLOORF.
63575         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63576         HAVE_DECL_FLOORF.
63577         * doc/functions/floorf.texi: Mention the 'floorf' module.
63578
63579 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63580             Bruno Haible  <bruno@clisp.org>
63581
63582         Advertise for the Git server instead of the CVS server.
63583         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63584         repository instead of the CVS one.
63585         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63586         about all VCS systems generically.
63587         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63588
63589 2007-10-04  Bruno Haible  <bruno@clisp.org>
63590
63591         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63592         means.
63593         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63594
63595 2007-10-04  Bruno Haible  <bruno@clisp.org>
63596
63597         * modules/truncl-tests: New file.
63598         * tests/test-truncl.c: New file.
63599
63600         * modules/truncl: New file.
63601         * lib/truncl.c: New file.
63602         * m4/truncl.m4: New file.
63603         * lib/math.in.h (truncl): New declaration.
63604         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
63605         HAVE_DECL_TRUNCL.
63606         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
63607         HAVE_DECL_TRUNCL.
63608         * doc/functions/truncl.texi: Mention the 'truncl' module.
63609
63610 2007-10-04  Bruno Haible  <bruno@clisp.org>
63611
63612         * modules/truncf-tests: New file.
63613         * tests/test-truncf.c: New file.
63614
63615         * modules/truncf: New file.
63616         * lib/trunc.c: Make paramerizable through USE_* macros.
63617         * lib/truncf.c: New file.
63618         * m4/truncf.m4: New file.
63619         * lib/math.in.h (truncf): New declaration.
63620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
63621         HAVE_DECL_TRUNCF.
63622         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
63623         HAVE_DECL_TRUNCF.
63624         * doc/functions/truncf.texi: Mention the 'truncf' module.
63625
63626 2007-10-03  Bruno Haible  <bruno@clisp.org>
63627
63628         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
63629         augmentation also for tests modules.
63630         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
63631         * modules/atexit-tests (Makefile.am): Likewise.
63632         * modules/binary-io-tests (Makefile.am): Likewise.
63633         * modules/c-strcase-tests (Makefile.am): Likewise.
63634         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
63635         * modules/canonicalize-tests (Makefile.am): Likewise.
63636         * modules/closein-tests (Makefile.am): Likewise.
63637         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63638         * modules/freadahead-tests (Makefile.am): Likewise.
63639         * modules/fseek-tests (Makefile.am): Likewise.
63640         * modules/fseeko-tests (Makefile.am): Likewise.
63641         * modules/ftell-tests (Makefile.am): Likewise.
63642         * modules/ftello-tests (Makefile.am): Likewise.
63643         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63644         * modules/isnanl-tests (Makefile.am): Likewise.
63645         * modules/lseek-tests (Makefile.am): Likewise.
63646         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63647         * modules/mbscasestr-tests (Makefile.am): Likewise.
63648         * modules/mbschr-tests (Makefile.am): Likewise.
63649         * modules/mbscspn-tests (Makefile.am): Likewise.
63650         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63651         * modules/mbspbrk-tests (Makefile.am): Likewise.
63652         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63653         * modules/mbsrchr-tests (Makefile.am): Likewise.
63654         * modules/mbsspn-tests (Makefile.am): Likewise.
63655         * modules/mbsstr-tests (Makefile.am): Likewise.
63656         * modules/printf-posix-tests (Makefile.am): Likewise.
63657         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63658         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63659         * modules/tsearch-tests (Makefile.am): Likewise.
63660         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63661         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63662         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63663         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63664         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63665         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63666         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63667         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63668         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
63669         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
63670         * modules/xstrtoimax-tests (Makefile.am): Likewise.
63671         * modules/xstrtol-tests (Makefile.am): Likewise.
63672         * modules/xstrtoumax-tests (Makefile.am): Likewise.
63673         * modules/yesno-tests (Makefile.am): Likewise.
63674
63675 2007-10-03  Bruno Haible  <bruno@clisp.org>
63676
63677         * modules/trunc-tests: New file.
63678         * tests/test-trunc.c: New file.
63679
63680         * modules/trunc: New file.
63681         * lib/trunc.c: New file.
63682         * m4/trunc.m4: New file.
63683         * lib/math.in.h (trunc): New declaration.
63684         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
63685         HAVE_DECL_TRUNC.
63686         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
63687         HAVE_DECL_TRUNC.
63688         * doc/functions/trunc.texi: Mention the 'trunc' module.
63689
63690 2007-10-03  Bruno Haible  <bruno@clisp.org>
63691
63692         * tests/test-fpending.c: New file, mostly copied
63693         from coreutils/lib/t-fpending.c.
63694         * modules/fpending-tests: New file.
63695
63696 2007-10-03  Bruno Haible  <bruno@clisp.org>
63697
63698         Port the stdio extensions to QNX (untested).
63699         * lib/fseterr.c (fseterr): Add support for QNX.
63700         * lib/fbufmode.c (fbufmode): Likewise.
63701         * lib/freadable.c (freadable): Likewise.
63702         * lib/fwritable.c (fwritable): Likewise.
63703         * lib/freading.c (freading): Likewise.
63704         * lib/fwriting.c (fwriting): Likewise.
63705         * lib/freadahead.c (freadahed): Likewise.
63706         * lib/fpurge.c (fpurge): Likewise.
63707         * lib/fseeko.c (rpl_fseeko): Likewise.
63708
63709 2007-10-03  Bruno Haible  <bruno@clisp.org>
63710             Jim Meyering  <jim@meyering.net>
63711             Eric Blake  <ebb9@byu.net>
63712
63713         * doc/relocatable.texi: Use @command instead of @program.
63714
63715 2007-10-02  Jim Meyering  <jim@meyering.net>
63716
63717         Perform one more "_.h" -> ".in.h" substitution.
63718         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
63719         instead of unistd_.h here, too.
63720
63721 2007-10-01  Bruno Haible  <bruno@clisp.org>
63722
63723         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
63724         Needed for the alloca-opt module.
63725
63726 2007-09-30  Bruno Haible  <bruno@clisp.org>
63727
63728         * lib/alloca.in.h: Renamed from lib/alloca_.h.
63729         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
63730         alloca_.h.
63731         * lib/argz.in.h: Renamed from lib/argz_.h.
63732         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
63733         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
63734         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
63735         byteswap_.h.
63736         * lib/dirent.in.h: Renamed from lib/dirent_.h.
63737         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
63738         dirent_.h.
63739         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
63740         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
63741         fcntl_.h.
63742         * lib/float.in.h: Renamed from lib/float_.h.
63743         * modules/float (Files, Makefile.am): Use float.in.h instead of
63744         float_.h.
63745         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
63746         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
63747         fnmatch_.h.
63748         * lib/getopt.in.h: Renamed from lib/getopt_.h.
63749         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
63750         getopt_.h.
63751         * lib/glob.in.h: Renamed from lib/glob_.h.
63752         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
63753         * lib/iconv.in.h: Renamed from lib/iconv_.h.
63754         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
63755         iconv_.h.
63756         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
63757         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
63758         inttypes_.h.
63759         * lib/locale.in.h: Renamed from lib/locale_.h.
63760         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
63761         locale_.h.
63762         * lib/math.in.h: Renamed from lib/math_.h.
63763         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
63764         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
63765         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
63766         of netinet_in_.h. Add dependency.
63767         * lib/poll.in.h: Renamed from lib/poll_.h.
63768         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
63769         * lib/search.in.h: Renamed from lib/search_.h.
63770         * modules/search (Files, Makefile.am): Use search.in.h instead of
63771         search_.h.
63772         * lib/signal.in.h: Renamed from lib/signal_.h.
63773         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
63774         _signal.h.
63775         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
63776         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
63777         stdbool_.h.
63778         * lib/stdint.in.h: Renamed from lib/stdint_.h.
63779         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
63780         stdint_.h.
63781         * lib/stdio.in.h: Renamed from lib/stdio_.h.
63782         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
63783         stdio_.h.
63784         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
63785         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
63786         stdlib_.h.
63787         * lib/string.in.h: Renamed from lib/string_.h.
63788         * modules/string (Files, Makefile.am): Use string.in.h instead of
63789         string_.h.
63790         * doc/gnulib-tool.texi (Initial import): Update.
63791         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
63792         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
63793         of sys_select_.h. Add dependency.
63794         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
63795         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
63796         of sys_socket_.h.
63797         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
63798         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
63799         sys_stat_.h.
63800         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
63801         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
63802         sys_time_.h.
63803         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
63804         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
63805         sysexits_.h.
63806         * lib/time.in.h: Renamed from lib/time_.h.
63807         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
63808         * lib/unistd.in.h: Renamed from lib/unistd_.h.
63809         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
63810         unistd_.h.
63811         * lib/wchar.in.h: Renamed from lib/wchar_.h.
63812         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
63813         wchar_.h.
63814         * lib/wctype.in.h: Renamed from lib/wctype_.h.
63815         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
63816         wctype_.h.
63817         * build-aux/bootstrap (slurp): Update.
63818         * lib/.cppi-disable: Update.
63819
63820 2007-09-30  Bruno Haible  <bruno@clisp.org>
63821
63822         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
63823         Needed on BeOS.
63824
63825 2007-09-30  Bruno Haible  <bruno@clisp.org>
63826
63827         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
63828
63829 2007-09-29  Bruno Haible  <bruno@clisp.org>
63830
63831         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
63832
63833 2007-09-29  Bruno Haible  <bruno@clisp.org>
63834
63835         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
63836         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
63837         * build-aux/install-reloc: Compile also areadlink.c.
63838         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
63839
63840 2007-09-29  Bruno Haible  <bruno@clisp.org>
63841
63842         * gnulib-tool (func_emit_initmacro_done): Indentation.
63843
63844 2007-09-29  Bruno Haible  <bruno@clisp.org>
63845
63846         * README: Add CVS checkout update instructions.
63847         Info from Bob Proulx <bob@proulx.com>.
63848
63849 2007-09-28  Eric Blake  <ebb9@byu.net>
63850
63851         Provide move-if-change.
63852         * build-aux/move-if-change: New file, based on best practice
63853         rather than any canonical upstream location.
63854
63855 2007-09-28  Jim Meyering  <jim@meyering.net>
63856
63857         Fix canonicalize loop-detection corner case.
63858         Do not attempt to stat the symlink values stored via seen_triple.
63859         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
63860         on linux-2.6.18, (but not 2.6.22).
63861         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
63862         triple_compare.  The former compares dev,ino,filename, while the latter
63863         would actually stat dirname(filename) when dev and ino were equal.
63864         * lib/hash-triple.c: Install <string.h>.
63865         (STREQ): Define.
63866         (triple_compare_ino_str): New function.
63867         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
63868
63869 2007-09-28  Eric Blake  <ebb9@byu.net>
63870
63871         Enforce that AC_REPLACE_FUNCS files exist.
63872         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
63873         override check for typos.
63874
63875         Fix test-closein on Solaris 10.
63876         * tests/test-closein.c (main): Don't assume stdin can be inherited
63877         closed on all systems.
63878         * tests/test-closein.sh: Likewise.
63879         Reported by Piotr Tarnowski.
63880
63881 2007-09-28  Jim Meyering  <jim@meyering.net>
63882
63883         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
63884
63885 2007-09-27  Jim Meyering  <jim@meyering.net>
63886
63887         canonicalize: Avoid a false-positive cycle failure.
63888         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
63889         Sort.  Remove cycle-check.
63890         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
63891         not cycle-check.h.
63892         (seen_triple): New function.
63893         (canonicalize_filename_mode): Use it instead of cycle-check.
63894         * tests/test-canonicalize.c: Add a test for this bug.
63895         * tests/test-canonicalize.sh: Set up and run the test.
63896
63897         New module, file-set, from coreutils.
63898         * modules/file-set: Define it.
63899         * lib/file-set.c, lib/file-set.h: Implement.
63900
63901         New module, hash-triple, from coreutils.
63902         * modules/hash-triple: Define it.
63903         * lib/hash-triple.c, lib/hash-triple.h: Implement.
63904
63905 2007-09-25  Eric Blake  <ebb9@byu.net>
63906
63907         Fix strerror on Interix.
63908         * lib/string_.h (strerror): Declare replacement.
63909         * doc/functions/strerror.texi (strerror): Document the Interix
63910         shortcoming.
63911         * modules/string (Makefile.am): Support new hooks.
63912         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
63913         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
63914         gl_FUNC_STRERROR_SEPARATE.
63915         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
63916         * lib/strerror.c (rpl_strerror): Provide replacement.
63917         * modules/strerror (Depends-on): Add string.
63918         (configure.ac): Detect use of module.
63919         * tests/test-strerror.c: New file.
63920         * modules/strerror-tests: New test module.
63921         * modules/argp (Depends-on): Add strerror.
63922         * modules/error (Depends-on): Likewise.
63923         Reported by Martin Koeppe.
63924
63925 2007-09-24  Bruno Haible  <bruno@clisp.org>
63926
63927         * README: Update git instructions.
63928
63929 2007-09-24  Eric Blake  <ebb9@byu.net>
63930
63931         Revert fpending breakage from 2007-09-08.
63932         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
63933         __fpending.c.
63934
63935 2007-09-24  Jim Meyering  <jim@meyering.net>
63936
63937         filenamecat.c: Add a test.
63938         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
63939         showing how the function works when DIR is the empty string.
63940
63941 2007-09-21  Simon Josefsson  <simon@josefsson.org>
63942
63943         * tests/test-canonicalize.sh: Turn on executable bit.
63944
63945 2007-09-19  Eric Blake  <ebb9@byu.net>
63946
63947         * README: Update CVS instructions.
63948
63949 2007-09-18  Bruno Haible  <bruno@clisp.org>
63950
63951         * modules/areadlink: New file.
63952         * lib/areadlink.h (areadlink): New declaration.
63953         * lib/areadlink.c: New file, based on lib/xreadlink.c.
63954
63955 2007-09-17  Jim Meyering  <jim@meyering.net>
63956
63957         * lib/savewd.c (ESTALE) [!defined]: Define.
63958         Reported to be required on Interix by Martin Koeppe.
63959
63960 2007-09-17  Bruno Haible  <bruno@clisp.org>
63961
63962         * gnulib-tool (func_version): Use $version.
63963
63964 2007-09-16  Bruno Haible  <bruno@clisp.org>
63965
63966         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
63967         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
63968         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
63969         Reported by Greg Schafer <gschafer@zip.com.au>.
63970
63971 2007-09-15  Bruno Haible  <bruno@clisp.org>
63972
63973         * gnulib-tool (sed): Try a little harder to make bash understand the
63974         alias.
63975         Reported by Bruce Korb <bruce.korb@gmail.com>.
63976
63977 2007-09-13  Eric Blake  <ebb9@byu.net>
63978
63979         * ChangeLog: Remove conflict markers.
63980
63981 2007-09-13  Simon Josefsson  <simon@josefsson.org>
63982
63983         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
63984         Reported by Bruno Haible <bruno@clisp.org>.
63985
63986 2007-09-12  Bruno Haible  <bruno@clisp.org>
63987
63988         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
63989         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
63990         is not defined.
63991
63992 2007-09-12  Eric Blake  <ebb9@byu.net>
63993
63994         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
63995         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
63996         Autoconf definition.
63997         * modules/euidaccess (Depends-on): Add extensions, for
63998         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
63999         * modules/fnmatch (Depends-on): Likewise.
64000         * modules/getaddrinfo (Depends-on): Likewise.
64001         * modules/getdelim (Depends-on): Likewise.
64002         * modules/getline (Depends-on): Likewise.
64003         * modules/getsubopt (Depends-on): Likewise.
64004         * modules/gettext (Depends-on): Likewise.
64005         * modules/group-member (Depends-on): Likewise.
64006         * modules/mbchar (Depends-on): Likewise.
64007         * modules/memmem (Depends-on): Likewise.
64008         * modules/mempcpy (Depends-on): Likewise.
64009         * modules/memrchr (Depends-on): Likewise.
64010         * modules/pagealign_alloc (Depends-on): Likewise.
64011         * modules/readutmp (Depends-on): Likewise.
64012         * modules/stpcpy (Depends-on): Likewise.
64013         * modules/stpncpy (Depends-on): Likewise.
64014         * modules/strchrnul (Depends-on): Likewise.
64015         * modules/strndup (Depends-on): Likewise.
64016         * modules/strsep (Depends-on): Likewise.
64017         * modules/strverscmp (Depends-on): Likewise.
64018         * modules/vasprintf (Depends-on): Likewise.
64019         * modules/wcwidth (Depends-on): Likewise.
64020         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64021         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64022         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64023         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64024         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64025         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64026         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64027         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64028         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64029         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64030         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64031         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64032         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64033         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64034         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64035         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64036         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64037         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64038         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64039         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64040         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64041         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64042         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64043         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64044         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64045         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64046         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64047         so that lock.m4 can be used in gettext without extensions module.
64048
64049 2007-09-11  Bruno Haible  <bruno@clisp.org>
64050
64051         * m4/isc-posix.m4: Remove file.
64052         Suggested by Eric Blake.
64053
64054 2007-09-11  Eric Blake  <ebb9@byu.net>
64055
64056         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64057
64058 2007-09-10  Bruno Haible  <bruno@clisp.org>
64059
64060         * posix-modules: Fix typo in error message.
64061         Reported by Matt <mkraai@beckman.com>.
64062
64063 2007-09-09  Bruno Haible  <bruno@clisp.org>
64064
64065         * doc/functions/getdelim.texi: Update list of platforms lacking the
64066         function.
64067         * doc/functions/getline.texi: Likewise.
64068
64069 2007-09-09  Jim Meyering  <jim@meyering.net>
64070
64071         * lib/hash.c (hash_initialize): Detect calloc failure.
64072         Reported by Bruno Haible.
64073
64074 2007-09-09  Bruno Haible  <bruno@clisp.org>
64075
64076         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
64077         malloc or realloc fails.
64078
64079 2007-09-09  Bruno Haible  <bruno@clisp.org>
64080
64081         * modules/getcwd (Depends-on): Add malloc-posix.
64082         * modules/glob (Depends-on): Likewise.
64083         * modules/putenv (Depends-on): Likewise.
64084         * modules/strdup (Depends-on): Likewise.
64085         * modules/getdelim (Depends-on): Add realloc-posix.
64086         * modules/read-file (Depends-on): Likewise.
64087
64088 2007-09-09  Bruno Haible  <bruno@clisp.org>
64089
64090         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
64091         (gl_FUNC_MALLOC_POSIX): Require it.
64092         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
64093         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
64094         * modules/realloc (Files): Add m4/malloc.m4.
64095         * modules/calloc (Files): Likewise.
64096
64097 2007-09-09  Bruno Haible  <bruno@clisp.org>
64098
64099         * modules/malloc-posix: New file.
64100         * modules/malloc (Depends-on): Add malloc-posix.
64101         * lib/malloc.c: Include errno.h.
64102         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
64103         and a POSIX-compatible malloc into a single function. Set ENOMEM
64104         when returning NULL.
64105         * m4/malloc.m4: New file.
64106         * doc/functions/malloc.texi: Mention the malloc-posix module.
64107         * lib/stdlib_.h (malloc): New declaration.
64108         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64109         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
64110         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
64111         and HAVE_MALLOC_POSIX.
64112
64113 2007-09-09  Bruno Haible  <bruno@clisp.org>
64114
64115         * modules/realloc-posix: New file.
64116         * modules/realloc (Depends-on): Add realloc-posix.
64117         * lib/realloc.c: Include errno.h.
64118         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
64119         and a POSIX-compatible realloc into a single function. Set ENOMEM
64120         when returning NULL.
64121         * m4/realloc.m4: New file.
64122         * doc/functions/realloc.texi: Mention the realloc-posix module.
64123         * lib/stdlib_.h (realloc): New declaration.
64124         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64125         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
64126         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
64127         and HAVE_REALLOC_POSIX.
64128
64129 2007-09-09  Bruno Haible  <bruno@clisp.org>
64130
64131         * modules/calloc-posix: New file.
64132         * modules/calloc (Depends-on): Add calloc-posix.
64133         * lib/calloc.c: Include errno.h.
64134         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
64135         and a POSIX-compatible calloc into a single function. Set ENOMEM
64136         when returning NULL.
64137         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
64138         * doc/functions/calloc.texi: Mention the calloc-posix module.
64139         * lib/stdlib_.h (calloc): New declaration.
64140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64141         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
64142         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
64143         and HAVE_CALLOC_POSIX.
64144
64145 2007-09-09  Bruno Haible  <bruno@clisp.org>
64146
64147         Allow for modules to show an arbitrary notice.
64148         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
64149         * gnulib-tool: New option --extract-notice.
64150         (func_usage): Document it.
64151         (sed_extract_prog): Update.
64152         (func_get_notice): New function.
64153         (func_modules_notice): New function.
64154         (func_import, func_create_testdir): Invoke it.
64155         Suggested by Jim Meyering.
64156
64157 2007-09-09  Bruno Haible  <bruno@clisp.org>
64158
64159         * gnulib-tool: New options --verbose, --quiet.
64160         (func_usage): Document them.
64161         (verbose): New variable.
64162         (func_execute_command): New function.
64163         (func_import): Don't show the module list and the file list if
64164         $verbose < 0.
64165         (func_create_testdir): Likewise. Use func_execute_command.
64166         (func_create_megatestdir): Use func_execute_command.
64167
64168 2007-09-08  Bruno Haible  <bruno@clisp.org>
64169
64170         * gnulib-tool (func_import): Prefer rsync over wget when available,
64171         for fetching the PO files.
64172
64173 2007-09-08  Bruno Haible  <bruno@clisp.org>
64174
64175         * posix-modules: New file. Portions copied from gnulib-tool.
64176         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
64177
64178 2007-09-08  Jim Meyering  <jim@meyering.net>
64179
64180         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
64181         * lib/fpending.h: Rename from __fpending.h.
64182         * lib/fpending.c: Rename from __fpending.c.
64183         Include "fpending.h", not "__fpending.h".
64184         * lib/__fpending.h, lib/__fpending.c: Remove files.
64185         * modules/fpending (Files): Reflect new file names.
64186         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
64187
64188 2007-09-08  Bruno Haible  <bruno@clisp.org>
64189
64190         * m4/inttypes-h.m4: Remove stub file.
64191
64192 2007-09-07  Simon Josefsson  <simon@josefsson.org>
64193
64194         * doc/headers/stdint.texi: Discuss #include_next issue.
64195
64196 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64197
64198         * build-aux/bootstrap: Remove obsolete comment about wget --help.
64199
64200 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64201
64202         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
64203         in variable name.
64204
64205 2007-09-03  Jim Meyering  <jim@meyering.net>
64206
64207         New module: git-version-gen.
64208         * modules/git-version-gen: New file.
64209
64210         Import changes from coreutils for bootstrap script.
64211
64212         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
64213
64214         bootstrap: uses rsync to download the .po files
64215         * build-aux/bootstrap (po_download_command_format): New global.
64216         (download_po_files): Use rsync.
64217         (update_po_files): Don't remove .po files after download,
64218         so future rsync runs can take advantage of the copies.
64219
64220         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
64221
64222         Solve the unnecessary-.po-file-regeneration problem once and for all.
64223         * build-aux/bootstrap (download_po_files): New function, renamed from
64224         get_translations.  Now, downloads, but doesn't update LINGUAS.
64225         (update_po_files): New function.
64226
64227         bootstrap: Ignore more.
64228         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
64229         uniwidth to e.g., lib/.gitignore.
64230         (slurp): Handle the sys_stat_.h -> sys mapping, too.
64231
64232         * build-aux/bootstrap: New setting: vc_ignore.
64233         (insert_sorted_if_absent): Create $file if absent.
64234         Adapt to new, possibly empty, list: $vc_ignore.
64235
64236         bootstrap: generate more ignorable names
64237         * build-aux/bootstrap (slurp): When generating ignorable names,
64238         also map .sin to .sed, .gperf to .c, and .y to .c.
64239
64240 2007-09-03  Jim Meyering  <jim@meyering.net>
64241
64242         * build-aux/git-version-gen: New file, from coreutils.  For details, see
64243         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
64244
64245 2007-09-02  Bruno Haible  <bruno@clisp.org>
64246
64247         Fix mis-recognition of 'mcs' on QNX 6.
64248         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
64249         output contains the string "Mono".
64250         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
64251         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
64252
64253 2007-09-01  Bruno Haible  <bruno@clisp.org>
64254
64255         Fix collision between uniwidth/* and linebreak modules.
64256         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
64257         u32_width): Remove declarations.
64258         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
64259         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
64260         streq3, streq2, streq1, streq0): Remove functions.
64261         (STREQ): Remove macro.
64262         (is_cjk_encoding): Remove function.
64263         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
64264         (uc_width, u8_width, u16_width, u32_width): Remove functions.
64265         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
64266         * NEWS: Document the change.
64267
64268 2007-09-01  Bruno Haible  <bruno@clisp.org>
64269
64270         * lib/streq.h: Add double-inclusion guard.
64271
64272 2007-09-01  Karl Berry  <karl@gnu.org>
64273
64274         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
64275
64276 2007-08-28  Jim Meyering  <jim@meyering.net>
64277
64278         Rename mreadlink_with_size to areadlink_with_size.
64279         * NEWS: Document the change.
64280         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
64281         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
64282         * lib/mreadlink.h: Rename this to...
64283         * lib/areadlink.h: ...this.
64284         * modules/mreadlink-with-size: Rename this to...
64285         * modules/areadlink-with-size: ...this.
64286         * lib/canonicalize.c: Reflect the renaming.
64287         * modules/canonicalize: Likewise.
64288
64289 2007-08-26  Bruno Haible  <bruno@clisp.org>
64290
64291         * gnulib-tool (func_import): When deciding which files to remove,
64292         consider also dangling symbolic links.
64293         Reported by Eric Blake.
64294
64295 2007-08-26  Bruno Haible  <bruno@clisp.org>
64296
64297         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
64298
64299 2007-08-23  Simon Josefsson  <simon@josefsson.org>
64300
64301         * lib/readline.c: Don't include getline.h, the prototype is now
64302         found in stdio.h.
64303
64304 2007-08-23  Jim Meyering  <jim@meyering.net>
64305
64306         Getdelim touchup.
64307         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
64308         around the funlockfile call, since funlockfile never sets errno.
64309         Don't set errno upon failed realloc.
64310
64311 2007-08-22  Eric Blake  <ebb9@byu.net>
64312
64313         Getline touchups.
64314         * lib/getdelim.c (getdelim): Revert regression that required *n to
64315         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
64316         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
64317         getdelim, rather than whether implementation is missing.
64318         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
64319         * lib/stdio_.h (getline): Also declare if replacement is
64320         required.
64321         * doc/functions/getdelim.texi: New file.
64322         * doc/functions/getline.texi: Likewise.
64323         * doc/gnulib.texi (Function Substitutes): Add new files.
64324         Reported by Bruno Haible.
64325
64326 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
64327
64328         * users.txt: Add Guile.
64329
64330 2007-08-22  Eric Blake  <ebb9@byu.net>
64331
64332         * tests/test-getdelim.c (main): Use remove, not unlink.
64333         * tests/test-getline.c (main): Likewise.
64334
64335         Move getline and getdelim into stdio.h, per POSIX 200x.
64336         * modules/getline (Files): Remove getline.h.
64337         (Depends-on): Add stdio.
64338         (configure.ac): Add module indicator.
64339         * modules/getdelim (Files): Remove getdelim.h.
64340         (Depends-on): Add stdio.
64341         (configure.ac): Add module indicator.
64342         * modules/stdio (Makefile.am): Work with new indicators.
64343         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64344         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
64345         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64346         * lib/getdelim.h: Delete.
64347         * lib/getline.h: Delete.
64348         * lib/stdio_.h (getdelim, getline): Declare.
64349         * modules/getdelim-tests: New module.
64350         * modules/getline-tests: Likewise.
64351         * tests/test-getdelim.c: New file.
64352         * tests/test-getline.c: Likewise.
64353         * NEWS: Document the change.
64354         * lib/getline.c: Update choice of header.
64355         * lib/csharpcomp.c: Likewise.
64356         * lib/getpass.c: Likewise.
64357         * lib/javacomp.c: Likewise.
64358         * lib/javaversion.c: Likewise.
64359         * lib/yesno.c: Likewise.
64360         * lib/getdelim.c: Likewise.
64361         (getdelim): Set errno on failure, and avoid memory leak.
64362
64363 2007-08-19  Bruno Haible  <bruno@clisp.org>
64364
64365         * modules/closein (Depends-on): Add freadahead.
64366         * lib/closein.c: Include freadahead.h.
64367         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
64368         is zero.
64369
64370 2007-08-19  Bruno Haible  <bruno@clisp.org>
64371
64372         * modules/freadahead-tests: New file.
64373         * tests/test-freadahead.sh: New file.
64374         * tests/test-freadahead.c: New file.
64375
64376         * modules/freadahead: New file.
64377         * lib/freadahead.h: New file.
64378         * lib/freadahead.c: New file.
64379         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
64380         fbufmode, fpurge, freadable, fwritable.
64381
64382 2007-08-19  Eric Blake  <ebb9@byu.net>
64383
64384         Test yesno in combination with closein.
64385         * lib/yesno.c (yesno): Document use of stdin.
64386         * modules/yesno-tests (Files): New module.
64387         * tests/test-yesno.c (main): New file.
64388         * tests/test-yesno.sh: Likewise.
64389
64390 2007-08-19  Bruno Haible  <bruno@clisp.org>
64391
64392         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
64393         * lib/fseeko.c (rpl_fseeko): Likewise.
64394         * lib/fseterr.c (fseterr): Likewise.
64395
64396 2007-08-19  Bruno Haible  <bruno@clisp.org>
64397
64398         * tests/test-lseek.c (main): Disable a test for BeOS.
64399         * doc/functions/lseek.texi: Document the BeOS bug.
64400
64401 2007-08-19  Bruno Haible  <bruno@clisp.org>
64402             Eric Blake  <ebb9@byu.net>
64403
64404         * lib/lseek.c: Include <sys/stat.h>.
64405         (rpl_lseek): Add workaround code also for Unix platforms.
64406         Needed for BeOS.
64407         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
64408         * doc/functions/lseek.texi: Document BeOS definiency.
64409
64410 2007-08-18  Bruno Haible  <bruno@clisp.org>
64411
64412         * modules/fstrcmp-tests: New file.
64413         * tests/test-fstrcmp.c: New file.
64414
64415 2007-08-18  Bruno Haible  <bruno@clisp.org>
64416
64417         * modules/fstrcmp: New file, from GNU gettext with modifications.
64418         * lib/fstrcmp.h: New file, from GNU gettext.
64419         * lib/fstrcmp.c: New file, from GNU gettext.
64420         * MODULES.html.sh (String handling): Add fstrcmp.
64421
64422 2007-08-18  Bruno Haible  <bruno@clisp.org>
64423
64424         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
64425         'bool'.
64426         (diag, compareseq): Remove const from the ctxt argument.
64427         (USE_HEURISTIC): Undefine at the end.
64428
64429 2007-08-18  Jim Meyering  <jim@meyering.net>
64430
64431         New file: lib/idcache.h
64432         * NEWS: Mention the addition.
64433         * modules/idcache (Files): Add lib/idcache.h
64434         * lib/idcache.c: Include "idcache.h".
64435         Don't include <sys/types.h>.
64436         Add a FIXME comment.
64437         Move file-scoped "static" declarations to the top.
64438         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64439
64440 2007-08-17  Bruno Haible  <bruno@clisp.org>
64441         and Paul Eggert  <eggert@cs.ucla.edu>
64442
64443         * MODULES.html.sh: Add diffseq.
64444         * modules/diffseq: New file.
64445         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64446         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64447
64448 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64449
64450         Import changes from coreutils for bootstrap script.
64451
64452         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64453
64454         * build-aux/bootstrap (slurp): Work even in environments where
64455         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64456         current code does not slurp files whose names start with ".", and
64457         this looks like it might be a troublesome area.
64458
64459         2007-07-11  Jim Meyering  <jim@meyering.net>
64460
64461         If there's a GPL vN copyright comment, require that N == 3.
64462
64463         2007-07-08  Jim Meyering  <jim@meyering.net>
64464
64465         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64466         * build-aux/bootstrap (mam_template): Move definition out of loop.
64467
64468         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64469
64470         * build-aux/bootstrap (symlink_to_dir): Rename function from
64471         symlink_to_gnulib.  Add a directory parameter.  Update all
64472         callers.
64473         (cp_mark_as_generated): Also check for -- and link to -- files in
64474         gl/.
64475
64476         2007-07-08  Jim Meyering  <jim@meyering.net>
64477
64478         Adapt to deeper hierarchy in gnulib.
64479         * build-aux/bootstrap (symlink_to_dir): If the destination
64480         directory doesn't exist, create it. This is required at least for
64481         "lib/uniwidth/cjk.h".
64482
64483         2007-05-15  Jim Meyering  <jim@meyering.net>
64484
64485         * build-aux/bootstrap: Now that generated Makefile.am files
64486         are no longer under version control, they must be created at
64487         bootstrap time.
64488
64489 2007-08-14  Ben Pfaff  <blp@gnu.org>
64490
64491         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64492
64493 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64494
64495         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64496         given the changes below.
64497         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64498         even on hosts that have padding bits beyond the supported 64.
64499
64500 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64501
64502         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64503         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64504         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64505         depends on it.
64506         (xstrtol_error): Remove.
64507         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64508         but with a different signature.
64509         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64510         * lib/xstrtol-error.c: Include exitfail.h.
64511         (xstrtol_fatal): New function, with a different signature from the
64512         old xstrtol_error, so that the caller need not worry about passing
64513         in an exit status, or about storage management of the option argument.
64514         (xstrtol_error): Now a static function.  Redo signature to
64515         implement xstrtol_fatal.  Output the correct number of hyphens in
64516         front of the option so that the caller need not worry about
64517         storage management.
64518         (N_): New macro.
64519         (_): Remove; not used now.
64520         * modules/xstrtol: Depend on getopt.
64521         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64522         of old STRTOL_FATAL_ERROR macro.
64523         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64524         of test program.
64525         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64526         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64527
64528 2007-08-08  Eric Blake  <ebb9@byu.net>
64529
64530         * lib/xstrtol-error.c: Add missing include.
64531
64532         Move xstrtol messages into gnulib domain, when --pobase is used.
64533         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64534         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64535         * modules/xstrtol (Files): Distribute new file.
64536         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64537         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64538         * tests/test-xstrtol.c: ...into new file.
64539         * tests/test-xstrtoul.c: Also test xstrtoul.
64540         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64541         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64542         * tests/test-xstrtol.sh: Drive the tests.
64543         * tests/test-xstrtoimax.sh: Likewise.
64544         * tests/test-xstrtoumax.sh: Likewise.
64545         * modules/xstrtol-tests: New module.
64546         * modules/xstrtoimax-tests: Likewise.
64547         * modules/xstrtoumax-tests: Likewise.
64548
64549 2007-08-08  Jim Meyering  <jim@meyering.net>
64550
64551         New function: mfile_name_concat.
64552         * lib/filenamecat.c (mfile_name_concat): New function, just like
64553         file_name_concat, but return NULL upon failure rather than exiting
64554         with a diagnostic.
64555         * lib/filenamecat.h: Declare it.
64556
64557 2007-08-07  Bruno Haible  <bruno@clisp.org>
64558
64559         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64560         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64561         warning from gcc.
64562         Reported by Eric Blake.
64563
64564 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64565
64566         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64567         * modules/crypto/arcfour (License): Likewise.
64568         * modules/crypto/des-tests (License): Likewise.
64569         * modules/crypto/gc-arctwo-tests (License): Likewise.
64570         * modules/crypto/gc-des-tests (License): Likewise.
64571         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64572         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64573         * modules/crypto/gc-md2-tests (License): Likewise.
64574         * modules/crypto/gc-md4-tests (License): Likewise.
64575         * modules/crypto/gc-md5-tests (License): Likewise.
64576         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64577         * modules/crypto/gc-rijndael-tests (License): Likewise.
64578         * modules/crypto/gc-sha1-tests (License): Likewise.
64579         * modules/crypto/gc-tests (License): Likewise.
64580         * modules/crypto/hmac-md5 (License): Likewise.
64581         * modules/crypto/hmac-sha1 (License): Likewise.
64582         * modules/crypto/md2-tests (License): Likewise.
64583         * modules/crypto/md4-tests (License): Likewise.
64584         * modules/crypto/md5 (License): Likewise.
64585         * modules/crypto/rijndael (License): Likewise.
64586         * modules/crypto/sha1 (License): Likewise.
64587         * modules/memxor (License): Likewise.
64588
64589 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64590         and Bruno Haible  <bruno@clisp.org>
64591
64592         * NEWS: Describe interface changes to human, xstrtol.
64593         * lib/human.h: Include <xstrtol.h>.
64594         (human_options): Return enum strtol_error, not int.  Remove
64595         bool arg; take int * instead.
64596         * lib/human.c: Don't include "gettext.h".
64597         (_): Remove; no longer used.
64598         Don't include <xstrtol.h>, since human.h does it.
64599         (human_options): Adjust to abovementioned interface changes.
64600         Do not report error to stderr; that's now the caller's
64601         responsibility.
64602         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
64603         interface change.
64604         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
64605         Str, Argument_type_string.  All uses changed.  Put " argument"
64606         in diagnostics to make them clearer.  Change wording of suffix
64607         message for clarity.
64608         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
64609         Argument_type_string.
64610         (STRTOL_FATAL_WARN): Remove; no longer used.
64611         * modules/human (Depends-on): Remove gettext-h.
64612
64613 2007-08-06  Simon Josefsson  <simon@josefsson.org>
64614
64615         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
64616
64617 2007-07-31  Bruno Haible  <bruno@clisp.org>
64618
64619         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
64620         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
64621         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
64622
64623 2007-07-31  Bruno Haible  <bruno@clisp.org>
64624
64625         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
64626         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
64627
64628 2007-07-30  Bruno Haible  <bruno@clisp.org>
64629
64630         * modules/base64 (License): Use the synonymous term "LGPLv2+".
64631         * modules/c-ctype (License): Likewise.
64632         * modules/c-strcase (License): Likewise.
64633         * modules/check-version (License): Likewise.
64634         * modules/iconv (License): Likewise.
64635         * modules/iconv_open (License): Likewise.
64636         * modules/read-file (License): Likewise.
64637         * modules/striconv (License): Likewise.
64638         * modules/strverscmp (License): Likewise.
64639         * modules/vasprintf (License): Likewise.
64640         * modules/crypto/des (License): Likewise.
64641         * modules/crypto/gc (License): Likewise.
64642         * modules/crypto/gc-arcfour (License): Likewise.
64643         * modules/crypto/gc-arctwo (License): Likewise.
64644         * modules/crypto/gc-des (License): Likewise.
64645         * modules/crypto/gc-hmac-md5 (License): Likewise.
64646         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64647         * modules/crypto/gc-md2 (License): Likewise.
64648         * modules/crypto/gc-md4 (License): Likewise.
64649         * modules/crypto/gc-md5 (License): Likewise.
64650         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64651         * modules/crypto/gc-random (License): Likewise.
64652         * modules/crypto/gc-rijndael (License): Likewise.
64653         * modules/crypto/gc-sha1 (License): Likewise.
64654         * modules/crypto/md2 (License): Likewise.
64655         * modules/crypto/md4 (License): Likewise.
64656
64657 2007-07-30  Jim Meyering  <jim@meyering.net>
64658
64659         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64660         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64661         it has valid stat data.  This bug would cause du not to count the
64662         sizes of inaccessible directories.
64663         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
64664         in <http://bugzilla.redhat.com/250077>.
64665
64666 2007-07-25  Peter O'Gorman  <peter@pogma.com>
64667             Bruno Haible  <bruno@clisp.org>
64668
64669         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
64670         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
64671         #include_next, gives a diagnostic about it, but reports no error in
64672         the exit code.
64673         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
64674
64675 2007-07-24  Ben Pfaff  <blp@gnu.org>
64676
64677         Improve name: "count-one-bits" is better than "popcount".
64678         * MODULES.html.sh: Update name.
64679         * lib/popcount.h: Renamed lib/count-one-bits.h.
64680         (popcount): Renamed count_one_bits.
64681         (popcountl): Renamed count_one_bits_l.
64682         (popcountll): Renamed count_one_bits_ll.
64683         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
64684         * modules/popcount: Renamed module/count-one-bits.
64685         * modules/popcount-tests: Renamed module/count-one-bits-tests.
64686         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
64687
64688 2007-07-23  Ben Pfaff  <blp@gnu.org>
64689
64690         * lib/popcount.h (popcount32): Reduce size of constants, to allow
64691         better code generation, and add U to large constants to avoid
64692         warnings, in non-GCC case.
64693         Suggested by Bruno Haible.
64694
64695 2007-07-23  Ben Pfaff  <blp@gnu.org>
64696
64697         * lib/popcount.h: Use verify_true instead of if...abort.
64698         * modules/popcount: Depend on verify module.
64699         Suggested by Jim Meyering.
64700
64701 2007-07-23  Bruno Haible  <bruno@clisp.org>
64702
64703         * gnulib-tool (func_import): Create a .cvsignore file also when the
64704         directory is not yet in CVS but the toplevel directory is. When
64705         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
64706         Reported by Karl Berry.
64707
64708 2007-07-22  Ben Pfaff  <blp@gnu.org>
64709
64710         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
64711         case.
64712         Suggested by Eric Blake.
64713
64714 2007-07-22  Ben Pfaff  <blp@gnu.org>
64715
64716         New module: popcount.
64717         * MODULES.html.sh: Add popcount.
64718         * modules/popcount: New file.
64719         * modules/popcount-tests: New file.
64720         * tests/test-popcount.c: New file.
64721         * lib/popcount.h: New file.
64722         * m4/popcount.m4: New file.
64723
64724 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64725
64726         * build-aux/announce-gen: Update to GPLv3.
64727
64728         * build-aux/config.guess: Update from config.
64729
64730 2007-07-21  Bruno Haible  <bruno@clisp.org>
64731
64732         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
64733         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
64734
64735 2007-07-20  Jim Meyering  <jim@meyering.net>
64736
64737         * check-module: Diagnose a self-dependency.
64738
64739 2007-07-19  Bruno Haible  <bruno@clisp.org>
64740
64741         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
64742         empty.
64743         Reported by Eric Blake.
64744
64745 2007-07-18  Bruno Haible  <bruno@clisp.org>
64746
64747         * gnulib-tool: New options --po-base, --po-domain.
64748         (func_usage): Document them.
64749         (pobase, po_domain): New variables.
64750         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
64751         DEFAULT_TEXT_DOMAIN.
64752         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
64753         (func_import): Consider pobase and po_domain. Create a po/ directory.
64754         (func_create_testdir): Set pobase and po_domain to empty.
64755         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
64756         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
64757
64758 2007-07-18  Bruno Haible  <bruno@clisp.org>
64759
64760         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64761         EXTRA_DIST augmentation for files in build-aux/.
64762
64763 2007-07-16  Bruno Haible  <bruno@clisp.org>
64764
64765         * modules/lseek (License): Use the synonymous term "LGPLv2+".
64766         * modules/getdelim (License): Likewise.
64767
64768 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64769
64770         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
64771         * modules/d-type (License): Likewise.
64772         * modules/extensions (License): Likewise.
64773         * modules/fnmatch (License): Likewise.
64774         * modules/fseeko (License): Likewise.
64775         * modules/getaddrinfo (License): Likewise.
64776         * modules/getline (License): Likewise.
64777         * modules/getlogin_r (License): Likewise.
64778         * modules/getpass (License): Likewise.
64779         * modules/gettimeofday (License): Likewise.
64780         * modules/glob (License): Likewise.
64781         * modules/inet_ntop (License): Likewise.
64782         * modules/malloc (License): Likewise.
64783         * modules/malloca (License): Likewise.
64784         * modules/memmem (License): Likewise.
64785         * modules/mempcpy (License): Likewise.
64786         * modules/memset (License): Likewise.
64787         * modules/minmax (License): Likewise.
64788         * modules/mktime (License): Likewise.
64789         * modules/netinet_in (License): Likewise.
64790         * modules/pathmax (License): Likewise.
64791         * modules/poll (License): Likewise.
64792         * modules/regex (License): Likewise.
64793         * modules/snprintf (License): Likewise.
64794         * modules/stdbool (License): Likewise.
64795         * modules/stdint (License): Likewise.
64796         * modules/stdio (License): Likewise.
64797         * modules/strcase (License): Likewise.
64798         * modules/strcasestr (License): Likewise.
64799         * modules/strdup (License): Likewise.
64800         * modules/string (License): Likewise.
64801         * modules/strndup (License): Likewise.
64802         * modules/strnlen (License): Likewise.
64803         * modules/strpbrk (License): Likewise.
64804         * modules/strptime (License): Likewise.
64805         * modules/strsep (License): Likewise.
64806         * modules/sys_select (License): Likewise.
64807         * modules/sys_socket (License): Likewise.
64808         * modules/sys_stat (License): Likewise.
64809         * modules/sys_time (License): Likewise.
64810         * modules/time (License): Likewise.
64811         * modules/time_r (License): Likewise.
64812         * modules/timegm (License): Likewise.
64813         * modules/unistd (License): Likewise.
64814         * modules/vsnprintf (License): Likewise.
64815         * modules/wctype (License): Likewise.
64816
64817 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64818
64819         * modules/argz (License): LGPLv2+.
64820
64821 2007-07-15  Karl Berry  <karl@gnu.org>
64822
64823         * doc/gnulib.texi: revise node structure per new fdl.texi.
64824
64825 2007-07-14  Bruno Haible  <bruno@clisp.org>
64826
64827         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
64828         the output file.
64829         * lib/uniname/uninames.h: Regenerated.
64830
64831 2007-07-14  Karl Berry  <karl@gnu.org>
64832
64833         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
64834         omitting sectioning and index commands.
64835
64836 2007-07-13  Bruno Haible  <bruno@clisp.org>
64837
64838         New gnulib-tool option --more-symlinks.
64839         * gnulib-tool (func_usage): Document --more-symlinks.
64840         (do_copyrights): New variable.
64841         Recognize option --more-symlinks.
64842         (func_import): Don't add a copyright notice transform to
64843         sed_transform_lib_file if do_copyrights is empty.
64844
64845 2007-07-13  Bruno Haible  <bruno@clisp.org>
64846
64847         * lib/vasnprintf.c (decimal_point_char): Define also if
64848         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
64849         && !NEED_PRINTF_DIRECTIVE_A.
64850         Reported by Clemens Koller <clemens.koller@anagramm.de> via
64851         Gary V. Vaughan <gary@gnu.org>.
64852
64853 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
64854
64855         * lib/inttypes_.h: Undo previous change, since it was fixed
64856         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
64857
64858 2007-07-13  Bruno Haible  <bruno@clisp.org>
64859
64860         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
64861         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
64862
64863 2007-07-13  Jim Meyering  <jim@meyering.net>
64864
64865         df: Don't fail for Tru64's "file-on-file mount".
64866         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
64867         so we fall through and use statfs instead.  Details here:
64868         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
64869         Reported by Albert Chin.
64870
64871 2007-07-13  Bruno Haible  <bruno@clisp.org>
64872
64873         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
64874         * modules/configmake (License): Likewise.
64875         * modules/gettext (License): Likewise.
64876         * modules/gettext-h (License): Likewise.
64877         * modules/include_next (License): Likewise.
64878         * modules/link-warning (License): Likewise.
64879         * modules/localcharset (License): Likewise.
64880         * modules/localename (License): Likewise.
64881         * modules/lock (License): Likewise.
64882         * modules/relocatable-lib-lgpl (License): Likewise.
64883         * modules/size_max (License): Likewise.
64884         * modules/vasnprintf (License): Likewise.
64885         * modules/wchar (License): Likewise.
64886         * modules/xsize (License): Likewise.
64887
64888 2007-07-13  Bruno Haible  <bruno@clisp.org>
64889
64890         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
64891         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
64892
64893 2007-07-12  Bruno Haible  <bruno@clisp.org>
64894
64895         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
64896         in the modules files.
64897
64898 2007-07-11  Karl Berry  <karl@gnu.org>
64899
64900         * MODULES.html.sh (func_module): use
64901          sed -e '\|^'"${includefile}"'$|d'
64902          instead of /.../d, to avoid errors on $includefile's containing /.
64903
64904 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64905
64906         * gnulib-tool (func_import): Avoid duplication of --avoid
64907         statements
64908         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
64909         names to `_' in variable names.
64910
64911 2007-07-10  Eric Blake  <ebb9@byu.net>
64912
64913         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
64914         * NEWS: Document this change.
64915
64916 2007-07-08  Bruno Haible  <bruno@clisp.org>
64917
64918         Update to Unicode 5.0.
64919         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
64920         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64921         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
64922         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
64923         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
64924         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
64925         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
64926         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
64927         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
64928         U+10A3F, U+1D242..U+1D244.
64929         (nonspacing_table_ind): Update.
64930         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
64931         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
64932
64933 2007-07-08  Bruno Haible  <bruno@clisp.org>
64934
64935         Update to Unicode 5.0.
64936         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
64937         code transform. Extend the name index field of unicode_name_to_code and
64938         unicode_code_to_name from 16 to 24 bits.
64939         * lib/uniname/uniname.c (unicode_character_name,
64940         unicode_name_character): Add the range 0x12xxx to the code transform.
64941         * lib/uniname/uninames.h: Regenerated.
64942         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
64943
64944 2007-07-07  Bruno Haible  <bruno@clisp.org>
64945
64946         * modules/wcwidth-tests: New file.
64947         * tests/test-wcwidth.c: New file.
64948
64949         Work around MacOS X wcwidth() bug.
64950         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
64951         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
64952         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
64953         original wcwidth in non-UTF-8 locales.
64954         * modules/wcwidth (Depends-on): Add localcharset, streq,
64955         uniwidth/width.
64956         * doc/functions/wcwidth.texi: Update.
64957
64958 2007-07-07  Bruno Haible  <bruno@clisp.org>
64959
64960         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64961         (wcwidth): New declaration.
64962         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
64963         macros.
64964         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
64965         here. Prepare for creating <wchar.h> unconditionally.
64966         * modules/wchar (Depends-on): Add link-warning.
64967         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
64968         REPLACE_WCWIDTH, and GL_LINK_WARNING.
64969         * lib/wcwidth.h: Remove file.
64970         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
64971         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
64972         * modules/wcwidth (Files): Remove lib/wcwidth.h.
64973         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
64974         (Include): Replace wcwidth.h with <wchar.h>.
64975         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
64976         * lib/mbchar.h: Don't include wcwidth.h.
64977         * lib/mbswidth.c: Likewise.
64978         * NEWS: Mention the change.
64979
64980 2007-07-07  Bruno Haible  <bruno@clisp.org>
64981
64982         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
64983         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
64984         definition with an external declaration.
64985         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
64986         defined as a function. Remove AC_C_INLINE requirement.
64987         * modules/wcwidth (Files): Add lib/wcwidth.c.
64988         (Makefile.am): Remove redundant statement.
64989
64990 2007-07-07  Bruno Haible  <bruno@clisp.org>
64991
64992         * MODULES.html.sh (Unicode string functions): Add the new modules.
64993
64994         * tests/uniwidth/test-u32-strwidth.c: New file.
64995         * modules/uniwidth/u32-strwidth-tests: New file.
64996
64997         * lib/uniwidth/u32-strwidth.c: New file.
64998         * modules/uniwidth/u32-strwidth: New file.
64999
65000         * tests/uniwidth/test-u16-strwidth.c: New file.
65001         * modules/uniwidth/u16-strwidth-tests: New file.
65002
65003         * lib/uniwidth/u16-strwidth.c: New file.
65004         * modules/uniwidth/u16-strwidth: New file.
65005
65006         * tests/uniwidth/test-u8-strwidth.c: New file.
65007         * modules/uniwidth/u8-strwidth-tests: New file.
65008
65009         * lib/uniwidth/u8-strwidth.c: New file.
65010         * modules/uniwidth/u8-strwidth: New file.
65011
65012         * tests/uniwidth/test-u32-width.c: New file.
65013         * modules/uniwidth/u32-width-tests: New file.
65014
65015         * lib/uniwidth/u32-width.c: New file.
65016         * modules/uniwidth/u32-width: New file.
65017
65018         * tests/uniwidth/test-u16-width.c: New file.
65019         * modules/uniwidth/u16-width-tests: New file.
65020
65021         * lib/uniwidth/u16-width.c: New file.
65022         * modules/uniwidth/u16-width: New file.
65023
65024         * tests/uniwidth/test-u8-width.c: New file.
65025         * modules/uniwidth/u8-width-tests: New file.
65026
65027         * lib/uniwidth/u8-width.c: New file.
65028         * modules/uniwidth/u8-width: New file.
65029
65030         * tests/uniwidth/test-uc_width.c: New file.
65031         * modules/uniwidth/width-tests: New file.
65032
65033         * lib/uniwidth/width.c: New file, from GNU libiconv.
65034         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65035         * modules/uniwidth/width: New file.
65036
65037         * lib/uniwidth.h: New file, from GNU libiconv.
65038         * modules/uniwidth/base: New file.
65039
65040 2007-07-07  Bruno Haible  <bruno@clisp.org>
65041
65042         * lib/uniname.h: New file, from GNU gettext.
65043         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65044         * lib/uniname/uninames.h: New file, from GNU gettext.
65045         * lib/uniname/uniname.c: New file, from GNU gettext.
65046         * tests/uniname/test-uninames.sh: New file.
65047         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65048         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65049         * modules/uniname/base: New file.
65050         * modules/uniname/uniname: New file.
65051         * modules/uniname/uniname-tests: New file.
65052         * MODULES.html.sh (Unicode string functions): Add the new modules.
65053
65054 2007-07-06  Bruno Haible  <bruno@clisp.org>
65055
65056         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65057
65058 2007-07-06  Bruno Haible  <bruno@clisp.org>
65059
65060         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65061         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65062         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65063         include <sys/time.h>.
65064         Reported by Eric Blake.
65065
65066 2007-07-06  Eric Blake  <ebb9@byu.net>
65067
65068         Fix testing canonicalize on cygwin.
65069         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65070         Revert patch from 2007-06-19.
65071         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
65072         canonicalize module is also in use.
65073         * tests/test-canonicalize.c: New file.
65074         * tests/test-canonicalize.sh: Likewise.
65075         * modules/canonicalize-tests: Likewise.
65076
65077 2007-07-06  Jim Meyering  <jim@meyering.net>
65078
65079         * lib/getugroups.c (getugroups): Detect getgrent failure.
65080         Adjust comment to reflect reality: this function may return -1.
65081
65082 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65083
65084         * build-aux/bootstrap (TP_URL,get_translations): Update to use
65085         the new TP address.
65086         (usage): Fix typo
65087         (gnulib_mk): New variable.
65088
65089 2007-07-05  Jim Meyering  <jim@meyering.net>
65090
65091         Don't let endgrent clobber errno, no matter how improbable.
65092         * lib/getugroups.c (getugroups): Save and restore errno around
65093         endgrent call.
65094
65095         Close the group DB even when failing with 2^31 or more members.
65096         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
65097
65098 2007-07-04  Jim Meyering  <jim@meyering.net>
65099
65100         * lib/getugroups.h: New file.
65101         * lib/getugroups.c: Include "getugroups.h".
65102         Remove uses of "register" keyword.
65103         Move local variable, "cp", down into scope where used.
65104         Give "username" parameter the "const" attribute.
65105         * modules/getugroups (Files): Add lib/getugroups.h
65106
65107 2007-07-04  Karl Berry  <karl@gnu.org>
65108
65109         * MODULES.html.sh (func_all_modules): Complete rename of
65110         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
65111
65112 2007-07-02  Bruno Haible  <bruno@clisp.org>
65113
65114         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
65115         mode, when inttypes.h comes from gnulib.
65116         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65117
65118 2007-07-02  Simon Josefsson  <simon@josefsson.org>
65119
65120         * NEWS: Mention lgpl module name change.
65121
65122         * modules/lgpl-2.1: Renamed from lgpl.
65123
65124         * NEWS: Mention gpl module name change.
65125
65126         * modules/gpl-3.0: New file, based on gpl-2.0.
65127
65128         * modules/gpl-2.0: Renamed from gpl.
65129
65130         * modules/gpl: Fix filename, doc/gpl.texi is now found at
65131         doc/gpl-2.0.texi.
65132
65133 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
65134
65135         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
65136         #define __STDC_LIMIT_MACROS temporarily while including
65137         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
65138         Problem reported by Joel E. Denny in
65139         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
65140
65141 2007-07-01  Bruno Haible  <bruno@clisp.org>
65142
65143         * lib/unistdio.h: New file.
65144         * lib/unistdio/u-asnprintf.h: New file.
65145         * lib/unistdio/u-asprintf.h: New file.
65146         * lib/unistdio/u-printf-args.c: New file.
65147         * lib/unistdio/u-printf-args.h: New file.
65148         * lib/unistdio/u-printf-parse.h: New file.
65149         * lib/unistdio/u-snprintf.h: New file.
65150         * lib/unistdio/u-sprintf.h: New file.
65151         * lib/unistdio/u-vasprintf.h: New file.
65152         * lib/unistdio/u-vsnprintf.h: New file.
65153         * lib/unistdio/u-vsprintf.h: New file.
65154         * lib/unistdio/ulc-asnprintf.c: New file.
65155         * lib/unistdio/ulc-asprintf.c: New file.
65156         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
65157         * lib/unistdio/ulc-printf-parse.c: New file.
65158         * lib/unistdio/ulc-snprintf.c: New file.
65159         * lib/unistdio/ulc-sprintf.c: New file.
65160         * lib/unistdio/ulc-vasnprintf.c: New file.
65161         * lib/unistdio/ulc-vasprintf.c: New file.
65162         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
65163         * lib/unistdio/ulc-vsnprintf.c: New file.
65164         * lib/unistdio/ulc-vsprintf.c: New file.
65165         * lib/unistdio/u8-asnprintf.c: New file.
65166         * lib/unistdio/u8-asprintf.c: New file.
65167         * lib/unistdio/u8-printf-parse.c: New file.
65168         * lib/unistdio/u8-snprintf.c: New file.
65169         * lib/unistdio/u8-sprintf.c: New file.
65170         * lib/unistdio/u8-vasnprintf.c: New file.
65171         * lib/unistdio/u8-vasprintf.c: New file.
65172         * lib/unistdio/u8-vsnprintf.c: New file.
65173         * lib/unistdio/u8-vsprintf.c: New file.
65174         * lib/unistdio/u8-u8-asnprintf.c: New file.
65175         * lib/unistdio/u8-u8-asprintf.c: New file.
65176         * lib/unistdio/u8-u8-snprintf.c: New file.
65177         * lib/unistdio/u8-u8-sprintf.c: New file.
65178         * lib/unistdio/u8-u8-vasnprintf.c: New file.
65179         * lib/unistdio/u8-u8-vasprintf.c: New file.
65180         * lib/unistdio/u8-u8-vsnprintf.c: New file.
65181         * lib/unistdio/u8-u8-vsprintf.c: New file.
65182         * lib/unistdio/u16-asnprintf.c: New file.
65183         * lib/unistdio/u16-asprintf.c: New file.
65184         * lib/unistdio/u16-printf-parse.c: New file.
65185         * lib/unistdio/u16-snprintf.c: New file.
65186         * lib/unistdio/u16-sprintf.c: New file.
65187         * lib/unistdio/u16-vasnprintf.c: New file.
65188         * lib/unistdio/u16-vasprintf.c: New file.
65189         * lib/unistdio/u16-vsnprintf.c: New file.
65190         * lib/unistdio/u16-vsprintf.c: New file.
65191         * lib/unistdio/u16-u16-asnprintf.c: New file.
65192         * lib/unistdio/u16-u16-asprintf.c: New file.
65193         * lib/unistdio/u16-u16-snprintf.c: New file.
65194         * lib/unistdio/u16-u16-sprintf.c: New file.
65195         * lib/unistdio/u16-u16-vasnprintf.c: New file.
65196         * lib/unistdio/u16-u16-vasprintf.c: New file.
65197         * lib/unistdio/u16-u16-vsnprintf.c: New file.
65198         * lib/unistdio/u16-u16-vsprintf.c: New file.
65199         * lib/unistdio/u32-asnprintf.c: New file.
65200         * lib/unistdio/u32-asprintf.c: New file.
65201         * lib/unistdio/u32-printf-parse.c: New file.
65202         * lib/unistdio/u32-snprintf.c: New file.
65203         * lib/unistdio/u32-sprintf.c: New file.
65204         * lib/unistdio/u32-vasnprintf.c: New file.
65205         * lib/unistdio/u32-vasprintf.c: New file.
65206         * lib/unistdio/u32-vsnprintf.c: New file.
65207         * lib/unistdio/u32-vsprintf.c: New file.
65208         * lib/unistdio/u32-u32-asnprintf.c: New file.
65209         * lib/unistdio/u32-u32-asprintf.c: New file.
65210         * lib/unistdio/u32-u32-snprintf.c: New file.
65211         * lib/unistdio/u32-u32-sprintf.c: New file.
65212         * lib/unistdio/u32-u32-vasnprintf.c: New file.
65213         * lib/unistdio/u32-u32-vasprintf.c: New file.
65214         * lib/unistdio/u32-u32-vsnprintf.c: New file.
65215         * lib/unistdio/u32-u32-vsprintf.c: New file.
65216         * tests/unistdio/test-ulc-asnprintf1.c: New file.
65217         * tests/unistdio/test-ulc-asnprintf1.h: New file.
65218         * tests/unistdio/test-ulc-printf1.h: New file.
65219         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
65220         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
65221         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
65222         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
65223         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
65224         * tests/unistdio/test-ulc-vasprintf1.c: New file.
65225         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
65226         * tests/unistdio/test-ulc-vsprintf1.c: New file.
65227         * tests/unistdio/test-u8-asnprintf1.c: New file.
65228         * tests/unistdio/test-u8-asnprintf1.h: New file.
65229         * tests/unistdio/test-u8-printf1.h: New file.
65230         * tests/unistdio/test-u8-vasnprintf1.c: New file.
65231         * tests/unistdio/test-u8-vasnprintf2.c: New file.
65232         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
65233         * tests/unistdio/test-u8-vasnprintf3.c: New file.
65234         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
65235         * tests/unistdio/test-u8-vasprintf1.c: New file.
65236         * tests/unistdio/test-u8-vsnprintf1.c: New file.
65237         * tests/unistdio/test-u8-vsprintf1.c: New file.
65238         * tests/unistdio/test-u16-asnprintf1.c: New file.
65239         * tests/unistdio/test-u16-asnprintf1.h: New file.
65240         * tests/unistdio/test-u16-printf1.h: New file.
65241         * tests/unistdio/test-u16-vasnprintf1.c: New file.
65242         * tests/unistdio/test-u16-vasnprintf2.c: New file.
65243         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
65244         * tests/unistdio/test-u16-vasnprintf3.c: New file.
65245         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
65246         * tests/unistdio/test-u16-vasprintf1.c: New file.
65247         * tests/unistdio/test-u16-vsnprintf1.c: New file.
65248         * tests/unistdio/test-u16-vsprintf1.c: New file.
65249         * tests/unistdio/test-u32-asnprintf1.c: New file.
65250         * tests/unistdio/test-u32-asnprintf1.h: New file.
65251         * tests/unistdio/test-u32-printf1.h: New file.
65252         * tests/unistdio/test-u32-vasnprintf1.c: New file.
65253         * tests/unistdio/test-u32-vasnprintf2.c: New file.
65254         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
65255         * tests/unistdio/test-u32-vasnprintf3.c: New file.
65256         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
65257         * tests/unistdio/test-u32-vasprintf1.c: New file.
65258         * tests/unistdio/test-u32-vsnprintf1.c: New file.
65259         * tests/unistdio/test-u32-vsprintf1.c: New file.
65260         * modules/unistdio/base: New file.
65261         * modules/unistdio/u-printf-args: New file.
65262         * modules/unistdio/ulc-asnprintf: New file.
65263         * modules/unistdio/ulc-asprintf: New file.
65264         * modules/unistdio/ulc-fprintf: New file.
65265         * modules/unistdio/ulc-printf-parse: New file.
65266         * modules/unistdio/ulc-snprintf: New file.
65267         * modules/unistdio/ulc-sprintf: New file.
65268         * modules/unistdio/ulc-vasnprintf: New file.
65269         * modules/unistdio/ulc-vasprintf: New file.
65270         * modules/unistdio/ulc-vfprintf: New file.
65271         * modules/unistdio/ulc-vsnprintf: New file.
65272         * modules/unistdio/ulc-vsprintf: New file.
65273         * modules/unistdio/u8-asnprintf: New file.
65274         * modules/unistdio/u8-asprintf: New file.
65275         * modules/unistdio/u8-printf-parse: New file.
65276         * modules/unistdio/u8-snprintf: New file.
65277         * modules/unistdio/u8-sprintf: New file.
65278         * modules/unistdio/u8-vasnprintf: New file.
65279         * modules/unistdio/u8-vasprintf: New file.
65280         * modules/unistdio/u8-vsnprintf: New file.
65281         * modules/unistdio/u8-vsprintf: New file.
65282         * modules/unistdio/u8-u8-asnprintf: New file.
65283         * modules/unistdio/u8-u8-asprintf: New file.
65284         * modules/unistdio/u8-u8-snprintf: New file.
65285         * modules/unistdio/u8-u8-sprintf: New file.
65286         * modules/unistdio/u8-u8-vasnprintf: New file.
65287         * modules/unistdio/u8-u8-vasprintf: New file.
65288         * modules/unistdio/u8-u8-vsnprintf: New file.
65289         * modules/unistdio/u8-u8-vsprintf: New file.
65290         * modules/unistdio/u16-asnprintf: New file.
65291         * modules/unistdio/u16-asprintf: New file.
65292         * modules/unistdio/u16-printf-parse: New file.
65293         * modules/unistdio/u16-snprintf: New file.
65294         * modules/unistdio/u16-sprintf: New file.
65295         * modules/unistdio/u16-vasnprintf: New file.
65296         * modules/unistdio/u16-vasprintf: New file.
65297         * modules/unistdio/u16-vsnprintf: New file.
65298         * modules/unistdio/u16-vsprintf: New file.
65299         * modules/unistdio/u16-u16-asnprintf: New file.
65300         * modules/unistdio/u16-u16-asprintf: New file.
65301         * modules/unistdio/u16-u16-snprintf: New file.
65302         * modules/unistdio/u16-u16-sprintf: New file.
65303         * modules/unistdio/u16-u16-vasnprintf: New file.
65304         * modules/unistdio/u16-u16-vasprintf: New file.
65305         * modules/unistdio/u16-u16-vsnprintf: New file.
65306         * modules/unistdio/u16-u16-vsprintf: New file.
65307         * modules/unistdio/u32-asnprintf: New file.
65308         * modules/unistdio/u32-asprintf: New file.
65309         * modules/unistdio/u32-printf-parse: New file.
65310         * modules/unistdio/u32-snprintf: New file.
65311         * modules/unistdio/u32-sprintf: New file.
65312         * modules/unistdio/u32-vasnprintf: New file.
65313         * modules/unistdio/u32-vasprintf: New file.
65314         * modules/unistdio/u32-vsnprintf: New file.
65315         * modules/unistdio/u32-vsprintf: New file.
65316         * modules/unistdio/u32-u32-asnprintf: New file.
65317         * modules/unistdio/u32-u32-asprintf: New file.
65318         * modules/unistdio/u32-u32-snprintf: New file.
65319         * modules/unistdio/u32-u32-sprintf: New file.
65320         * modules/unistdio/u32-u32-vasnprintf: New file.
65321         * modules/unistdio/u32-u32-vasprintf: New file.
65322         * modules/unistdio/u32-u32-vsnprintf: New file.
65323         * modules/unistdio/u32-u32-vsprintf: New file.
65324         * modules/unistdio/ulc-asnprintf-tests: New file.
65325         * modules/unistdio/ulc-vasnprintf-tests: New file.
65326         * modules/unistdio/ulc-vasprintf-tests: New file.
65327         * modules/unistdio/ulc-vsnprintf-tests: New file.
65328         * modules/unistdio/ulc-vsprintf-tests: New file.
65329         * modules/unistdio/u8-asnprintf-tests: New file.
65330         * modules/unistdio/u8-vasnprintf-tests: New file.
65331         * modules/unistdio/u8-vasprintf-tests: New file.
65332         * modules/unistdio/u8-vsnprintf-tests: New file.
65333         * modules/unistdio/u8-vsprintf-tests: New file.
65334         * modules/unistdio/u16-asnprintf-tests: New file.
65335         * modules/unistdio/u16-vasnprintf-tests: New file.
65336         * modules/unistdio/u16-vasprintf-tests: New file.
65337         * modules/unistdio/u16-vsnprintf-tests: New file.
65338         * modules/unistdio/u16-vsprintf-tests: New file.
65339         * modules/unistdio/u32-asnprintf-tests: New file.
65340         * modules/unistdio/u32-vasnprintf-tests: New file.
65341         * modules/unistdio/u32-vasprintf-tests: New file.
65342         * modules/unistdio/u32-vsnprintf-tests: New file.
65343         * modules/unistdio/u32-vsprintf-tests: New file.
65344         * MODULES.html.sh (Unicode string functions): Add the new modules.
65345
65346 2007-07-01  Bruno Haible  <bruno@clisp.org>
65347
65348         * lib/sprintf.c (sprintf): Limit the available length estimation,
65349         to avoid address wraparound.
65350         * lib/vsprintf.c (vsprintf): Likewise.
65351         * modules/sprintf-posix (Dependencies): Add stdint.
65352         * modules/vsprintf-posix (Dependencies): Likewise.
65353
65354 2007-07-01  Bruno Haible  <bruno@clisp.org>
65355
65356         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
65357         Windows PATH as well. Conservative double-quoting. Comments.
65358
65359 2007-07-01  Bruno Haible  <bruno@clisp.org>
65360             Eric Blake  <ebb9@byu.net>
65361             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65362
65363         * gnulib-tool (self_abspathname): Fix algorithm to cope with
65364         empty components in $PATH, denoting '.'.
65365
65366 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65367
65368         * gnulib-tool: Fix indentation.
65369         (func_create_megatestdir): Likewise.
65370         Report by Bruno Haible.
65371
65372 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65373
65374         Sync from Automake.
65375         * build-aux/gnupload: Fix shell portability issues with for loops.
65376         Report by Karl Berry.
65377
65378 2007-06-29  Simon Josefsson  <simon@josefsson.org>
65379
65380         * build-aux/maint.mk (POURL): Use translationproject.org.
65381
65382 2007-06-27  Simon Josefsson  <simon@josefsson.org>
65383             Bruno Haible  <bruno@clisp.org>
65384
65385         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
65386         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
65387         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
65388         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
65389         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
65390
65391 2007-06-27  Bruno Haible  <bruno@clisp.org>
65392
65393         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
65394         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
65395
65396 2007-06-26  Karl Berry  <karl@gnu.org>
65397
65398         * MODULES.html.sh: remove xreadlink-with-size.
65399
65400 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65401
65402         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
65403         method that I hope also handles the double-include problem noted
65404         by Bruno Haible in
65405         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
65406
65407 2007-06-23  Bruno Haible  <bruno@clisp.org>
65408
65409         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65410         Don't let the 'mostlyclean' target fail if the last subdirectory could
65411         not be removed.
65412         Reported by Karl Berry.
65413
65414 2007-06-23  Bruno Haible  <bruno@clisp.org>
65415
65416         * gnulib-tool (echo): Add a speedier workaround for ksh.
65417         * tests/test-echo.sh: Likewise.
65418
65419 2007-06-23  Bruno Haible  <bruno@clisp.org>
65420
65421         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
65422         * tests/test-echo.sh: Likewise.
65423
65424 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65425
65426         * gnulib-tool (IFS): Initialize early, so we don't set it to
65427         empty later.
65428         (self_abspathname): Rewrite algorithm to set it, reindent.
65429         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65430         (func_create_megatestdir): Merge some sed scripts.
65431
65432 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65433
65434         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65435         exposed by Sun Studio 11 cc on Solaris 8.
65436
65437 2007-06-22  Bruno Haible  <bruno@clisp.org>
65438
65439         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65440         backslashes.
65441         * tests/test-echo.sh: New file.
65442
65443 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65444
65445         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65446         simplify `sed_replace_build_aux' scripts, they are portable but
65447         echoing them with `echo' is not.
65448         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65449
65450 2007-06-21  Karl Berry  <karl@gnu.org>
65451
65452         * config/srclist.txt: guess we can't handle the licenses via
65453         srclist at the moment.
65454
65455 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65456
65457         * MODULES.html.sh: Add include_next.
65458         * modules/include_next: New file.
65459
65460 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65461
65462         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65463         INCLUDE_NEXT.
65464         (gl_CHECK_NEXT_HEADERS): New macro.
65465         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65466         the obsolescent gl_ABSOLUTE_HEADER.
65467         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65468         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65469         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65470         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65471         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65472         * m4/math_h.m4 (gl_MATH_H): Likewise.
65473         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65474         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65475         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65476         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65477         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65478         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65479         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65480         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65481         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65482         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65483         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65484         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65485         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65486         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65487         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65488         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65489         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65490         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65491         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65492         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65493         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65494         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65495         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65496         * lib/float_.h: Likewise.
65497         * lib/inttypes_.h: Likewise.
65498         * lib/math_.h: Likewise.
65499         * lib/search_.h: Likewise.
65500         * lib/signal_.h: Likewise.
65501         * lib/stdint_.h: Likewise.
65502         * lib/stdio_.h: Likewise.
65503         * lib/stdlib_.h: Likewise.
65504         * lib/string_.h: Likewise.
65505         * lib/sys_stat_.h: Likewise.
65506         * lib/sys_time_.h: Likewise.
65507         * lib/time_.h: Likewise.
65508         * lib/unistd_.h: Likewise.
65509         * lib/wchar_.h: Likewise.
65510         * lib/wctype_.h: Likewise.
65511         * lib/dirent_.h: Likewise.
65512         * lib/iconv_.h: Likewise.
65513         * lib/locale_.h: Likewise.
65514         * lib/netinet_in_.h: Likewise.
65515         * lib/sys_select_.h: Likewise.
65516         * lib/sys_socket_.h: Likewise.
65517         * lib/sysexits_.h: Likewise.
65518         * modules/fcntl (Depends-on): Depend on include_next, not
65519         absolute_header.
65520         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65521         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65522         * modules/fchdir: Likewise.
65523         * modules/float: Likewise.
65524         * modules/iconv_open: Likewise.
65525         * modules/inttypes: Likewise.
65526         * modules/locale: Likewise.
65527         * modules/math: Likewise.
65528         * modules/netinet_in: Likewise.
65529         * modules/search: Likewise.
65530         * modules/signal: Likewise.
65531         * modules/stdint: Likewise.
65532         * modules/stdio: Likewise.
65533         * modules/stdlib: Likewise.
65534         * modules/string: Likewise.
65535         * modules/sys_select: Likewise.
65536         * modules/sys_socket: Likewise.
65537         * modules/sys_stat: Likewise.
65538         * modules/sys_time: Likewise.
65539         * modules/sysexits: Likewise.
65540         * modules/time: Likewise.
65541         * modules/unistd: Likewise.
65542         * modules/wchar: Likewise.
65543         * modules/wctype: Likewise.
65544         * modules/sys_stat: Change maintainer to "all".
65545         * modules/unistd: Likewise.
65546
65547 2007-06-20  Karl Berry  <karl@gnu.org>
65548
65549         * config/srclist.txt: track www changes in license files.
65550
65551 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65552
65553         * build-aux/bootstrap: Remove stray dot.
65554         Make sure build_aux settings are honored when linking
65555         gnulib_extra_files.
65556
65557 2007-06-19  Eric Blake  <ebb9@byu.net>
65558
65559         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65560         Allow compilation on cygwin.
65561
65562 2007-06-19  Jim Meyering  <jim@meyering.net>
65563
65564         xreadlink-with-size: Remove module.  No longer used.
65565         Ex-callers now use xreadlink or mreadlink-with-size.
65566         * modules/xreadlink-with-size: Remove module.
65567         * lib/xreadlink-with-size.c: Remove file.
65568         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65569         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65570         just before the function definition *is* accurate.
65571
65572         Eliminate one way canonicalize_filename_mode could exit.
65573         * lib/canonicalize.c (canonicalize_filename_mode):
65574         Use mreadlink_with_size, not xreadlink_with_size.
65575
65576 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65577
65578         Detect porting problems to FreeBSD/arm, which has time_t wider than
65579         long int.  Original problem reported for GNU diff by Xin Li in
65580         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65581         * modules/getdate (Depends-on): Add intprops, verify.
65582         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65583         is an integer type no wider than long int.
65584
65585 2007-06-18  Jim Meyering  <jim@meyering.net>
65586
65587         New module: mreadlink-with-size.
65588         * MODULES.html.sh: Add mreadlink-with-size.
65589         * modules/mreadlink-with-size: New module
65590         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65591         not xreadlink-with-size.
65592         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65593
65594 2007-06-16  Bruno Haible  <bruno@clisp.org>
65595
65596         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65597         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65598         Reported by Gary V. Vaughan <gary@gnu.org>.
65599
65600 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
65601
65602         Revamp lchown so that it lives in unistd.h where it belongs.
65603         * lib/lchown.h: Remove.
65604         * lib/dirchownmod.c: Don't include lib/lchown.h.
65605         * lib/fchownat.c: Likewise.
65606         * lib/openat.c: Likewise.
65607         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
65608         does not follow symlinks.
65609         (EOPNOTSUPP): Define if not defined.
65610         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
65611         is defined to 0.
65612         (lchown): New decl.
65613         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
65614         Do not check for lchown decl.
65615         Set REPLACE_LCHOWN.
65616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
65617         REPLACE_LCHOWN.
65618         * modules/chown: Make it clear it follows symlinks.
65619         * modules/lchown: Make it clear it doesn't follow symlinks.
65620         (Files): Remove lib/lchown.h
65621         (Depends-on): Add unistd.
65622         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
65623         (Include): Include <unistd.h>, not "lchown.h".
65624         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
65625         REPLACE_LCHOWN.
65626
65627 2007-06-15  Jim Meyering  <jim@meyering.net>
65628
65629         Change license (GPL to LGPL) of fsusage and dependents.
65630         * modules/fsusage (License): Change to LGPL.
65631         * modules/full-read (License): Likewise.
65632         * modules/full-write (License): Likewise.
65633         * modules/safe-read (License): Likewise.
65634         * modules/safe-write (License): Likewise.
65635
65636 2007-06-14  Ben Pfaff  <blp@gnu.org>
65637
65638         Missing part of allocsa -> malloca transition.
65639         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
65640         gl_MALLOCA.
65641
65642 2007-06-12  Bruno Haible  <bruno@clisp.org>
65643
65644         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65645         to ia64, x86_64, i386.
65646         Reported by Eric Blake.
65647
65648 2007-06-12  Bruno Haible  <bruno@clisp.org>
65649
65650         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65651         cross-compiling to x86_64.
65652
65653 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65654
65655         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65656         glitch reported by Ralf Wildenhues in
65657         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65658
65659         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65660         Vin Shelton.
65661
65662 2007-06-11  Bruno Haible  <bruno@clisp.org>
65663
65664         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
65665         replacement string.
65666         Reported by Eric Blake.
65667
65668 2007-06-10  Bruno Haible  <bruno@clisp.org>
65669
65670         Prepare vasnprintf code for use with Unicode strings.
65671         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
65672         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
65673         TYPE_U32_STRING.
65674         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
65675         a_u32_string variants.
65676         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65677         * lib/printf-args.c: Don't include config.h and the specification
65678         header if PRINTF_FETCHARGS is already defined.
65679         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65680         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
65681         TYPE_U16_STRING, TYPE_U32_STRING.
65682         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
65683         u16_directive, u16_directives, u32_directive, u32_directives): New
65684         types.
65685         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
65686         New declarations.
65687         * lib/printf-parse.c: Don't include config.h and the specification
65688         header if PRINTF_PARSE is already defined. Eliminate the set of
65689         parameters for WIDE_CHAR_VERSION; the user of this file must provide
65690         them now. Include c-ctype.h.
65691         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
65692         directive and CHAR_T_ONLY_ASCII.
65693         * lib/vasnprintf.c: Don't include config.h and the specification header
65694         if VASNPRINTF is already defined.
65695         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
65696         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
65697         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
65698         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
65699         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
65700         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
65701         code accordingly.
65702         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
65703         pad_ourselves also in this case, with the 'c' and 's' directives, and
65704         with a different notion of "width".
65705         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
65706
65707 2007-06-10  Bruno Haible  <bruno@clisp.org>
65708
65709         * modules/unistr/u32-mbsnlen: New file.
65710         * lib/unistr/u32-mbsnlen.c: New file.
65711
65712         * modules/unistr/u16-mbsnlen: New file.
65713         * lib/unistr/u16-mbsnlen.c: New file.
65714
65715         * modules/unistr/u8-mbsnlen: New file.
65716         * lib/unistr/u8-mbsnlen.c: New file.
65717
65718         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
65719         declarations.
65720
65721 2007-06-10  Bruno Haible  <bruno@clisp.org>
65722
65723         * lib/string_.h (mbsnlen): New declaration.
65724         * lib/mbsnlen.c: New file.
65725         * m4/mbsnlen.m4: New file.
65726         * modules/mbsnlen: New file.
65727         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
65728         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
65729         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
65730
65731 2007-06-10  Bruno Haible  <bruno@clisp.org>
65732
65733         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
65734
65735 2007-06-10  Bruno Haible  <bruno@clisp.org>
65736
65737         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
65738         * lib/mbuiter.h: Likewise.
65739
65740 2007-06-10  Bruno Haible  <bruno@clisp.org>
65741
65742         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
65743         declaration.
65744
65745 2007-06-10  Karl Berry  <karl@gnu.org>
65746
65747         * config/srclist.txt: remove gettext entries, Bruno prefers
65748         to update individually.
65749
65750 2007-06-10  Bruno Haible  <bruno@clisp.org>
65751
65752         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
65753         'maxlen'. Ensure only length + width bytes are allocated, not
65754         length + 1 + width.
65755
65756 2007-06-09  Bruno Haible  <bruno@clisp.org>
65757
65758         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
65759         (CHAR_T): Remove macro.
65760         (VASNPRINTF): Update.
65761
65762 2007-06-09  Bruno Haible  <bruno@clisp.org>
65763
65764         * MODULES.html.sh (Unicode string functions): Add the new modules.
65765
65766         * modules/uniconv/u32-conv-to-enc: New file.
65767         * lib/uniconv/u32-conv-to-enc.c: New file.
65768         * modules/uniconv/u32-conv-to-enc-tests: New file.
65769         * tests/uniconv/test-u32-conv-to-enc.c: New file.
65770
65771         * modules/uniconv/u16-conv-to-enc: New file.
65772         * lib/uniconv/u16-conv-to-enc.c: New file.
65773         * lib/uniconv/u-conv-to-enc.h: New file.
65774         * modules/uniconv/u16-conv-to-enc-tests: New file.
65775         * tests/uniconv/test-u16-conv-to-enc.c: New file.
65776
65777         * modules/uniconv/u8-conv-to-enc: New file.
65778         * lib/uniconv/u8-conv-to-enc.c: New file.
65779         * modules/uniconv/u8-conv-to-enc-tests: New file.
65780         * tests/uniconv/test-u8-conv-to-enc.c: New file.
65781
65782         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65783         u32_conv_to_encoding): New declarations.
65784
65785 2007-06-09  Bruno Haible  <bruno@clisp.org>
65786
65787         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
65788
65789 2007-06-09  Bruno Haible  <bruno@clisp.org>
65790
65791         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
65792         * modules/malloca: Renamed from modules/allocsa, updated.
65793         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
65794         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
65795         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
65796         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
65797         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
65798         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
65799         * modules/xmalloca: Renamed from modules/xallocsa, updated.
65800         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
65801         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
65802         * modules/c-strcasestr (Depends-on): Update.
65803         * lib/c-strcasestr.c: Update.
65804         * modules/c-strstr (Depends-on): Update.
65805         * lib/c-strstr.c: Update.
65806         * modules/canonicalize-lgpl (Depends-on): Update.
65807         * lib/canonicalize-lgpl.c: Update.
65808         * modules/clean-temp (Depends-on): Update.
65809         * lib/clean-temp.c: Update.
65810         * modules/csharpcomp (Depends-on): Update.
65811         * lib/csharpcomp.c: Update.
65812         * modules/csharpexec (Depends-on): Update.
65813         * lib/csharpexec.c: Update.
65814         * modules/javacomp (Depends-on): Update.
65815         * lib/javacomp.c: Update.
65816         * modules/javaexec (Depends-on): Update.
65817         * lib/javaexec.c: Update.
65818         * modules/mbscasestr (Depends-on): Update.
65819         * lib/mbscasestr.c: Update.
65820         * modules/mbsstr (Depends-on): Update.
65821         * lib/mbsstr.c: Update.
65822         * modules/setenv (Depends-on): Update.
65823         * lib/setenv.c: Update.
65824         * modules/strcasestr (Depends-on): Update.
65825         * lib/strcasestr.c: Update.
65826         * modules/striconveha (Depends-on): Update.
65827         * lib/striconveha.c: Update.
65828         * modules/relocatable-prog-wrapper (Files): Update.
65829         * lib/relocwrapper.c: Update.
65830         * build-aux/install-reloc: Update.
65831         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
65832
65833 2007-06-08  Bruno Haible  <bruno@clisp.org>
65834
65835         Port to uClibc.
65836         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
65837         * lib/fpurge.c (fpurge): Likewise.
65838         * lib/freading.c (freading): Likewise.
65839         * lib/fseeko.c (rpl_fseeko): Likewise.
65840         * lib/fseterr.c (fseterr): Likewise.
65841         * lib/fwriting.c (fwriting): Likewise.
65842         * tests/test-fflush.c (main): Avoid a failure on uClibc.
65843
65844 2007-06-08  Bruno Haible  <bruno@clisp.org>
65845
65846         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
65847         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
65848         * modules/gettext (Files): Add m4/intlmacosx.m4.
65849
65850 2007-06-07  Bruno Haible  <bruno@clisp.org>
65851
65852         * modules/localename-tests: New file.
65853         * tests/test-localename.c: New file.
65854
65855         New module 'localename'.
65856         * lib/localename.h: New file.
65857         * lib/localename.c: New file, from GNU gettext.
65858         * m4/localename.m4: New file.
65859         * modules/localename: New file.
65860
65861 2007-06-07  Bruno Haible  <bruno@clisp.org>
65862
65863         Work around the lack of <wchar.h> on some builds of uClibc.
65864         * doc/headers/wchar.texi: Update.
65865         * lib/wchar_.h: Include <wchar.h> only if it exists.
65866         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
65867         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
65868         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
65869         doesn't exist.
65870         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
65871         * modules/mbfile (Depends-on): Add wchar.
65872         * modules/mbiter (Depends-on): Likewise.
65873         * modules/mbuiter (Depends-on): Likewise.
65874         Reported by Simon Josefsson.
65875
65876 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65877
65878         Work around problem reported by Steven M. Schweda in
65879         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
65880         Tru64 5.1B with the Compaq compiler environment installed declares
65881         an 'isblank' function but does not define it in the C library.
65882         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
65883         * lib/regex_internal.h (isblank): Likewise.
65884         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
65885         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65886
65887 2007-06-05  Bruno Haible  <bruno@clisp.org>
65888
65889         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
65890         ia64.
65891         * modules/printf-safe: New file.
65892         * modules/fprintf-posix (Depends-on): Add printf-safe.
65893         * modules/printf-posix (Depends-on): Likewise.
65894         * modules/snprintf-posix (Depends-on): Likewise.
65895         * modules/sprintf-posix (Depends-on): Likewise.
65896         * modules/vasnprintf-posix (Depends-on): Likewise.
65897         * modules/vasprintf-posix (Depends-on): Likewise.
65898         * modules/vfprintf-posix (Depends-on): Likewise.
65899         * modules/vprintf-posix (Depends-on): Likewise.
65900         * modules/vsnprintf-posix (Depends-on): Likewise.
65901         * modules/vsprintf-posix (Depends-on): Likewise.
65902         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
65903         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
65904         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
65905         "no" on i386, x86_64, ia64.
65906         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
65907         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65908         on i386, x86_64, ia64.
65909         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
65910         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65911         on i386, x86_64, ia64.
65912         * tests/test-vasnprintf-posix.c: Include float.h.
65913         (LDBL80_WORDS): New macro.
65914         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65915         on i386, x86_64, ia64.
65916         * tests/test-vasprintf-posix.c: Include float.h.
65917         (LDBL80_WORDS): New macro.
65918         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65919         on i386, x86_64, ia64.
65920         * tests/test-snprintf-posix.c: Include float.h.
65921         * tests/test-sprintf-posix.c: Likewise.
65922         * tests/test-vsnprintf-posix.c: Likewise.
65923         * tests/test-vsprintf-posix.c: Likewise.
65924
65925 2007-06-05  Bruno Haible  <bruno@clisp.org>
65926
65927         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
65928         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
65929         non-IEEE numbers on i386, x86_64, ia64.
65930         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
65931         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
65932         * tests/test-isnanl.h: Include float.h.
65933         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
65934
65935 2007-06-05  Bruno Haible  <bruno@clisp.org>
65936
65937         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
65938         also the %a / %A. Handle the %a / %A code before this extra handling.
65939
65940 2007-06-05  Bruno Haible  <bruno@clisp.org>
65941
65942         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
65943         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
65944
65945 2007-06-05  Bruno Haible  <bruno@clisp.org>
65946
65947         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
65948         typo in variable name.
65949
65950 2007-06-05  Eric Blake  <ebb9@byu.net>
65951
65952         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
65953         Reported by Simon Josefsson.
65954
65955 2007-06-04  Bruno Haible  <bruno@clisp.org>
65956
65957         Avoid test failures on some PowerPC platforms.
65958         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
65959         Define differently for PowerPC.
65960         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
65961         Reported by Gary V. Vaughan <gary@gnu.org>.
65962
65963 2007-06-02  Bruno Haible  <bruno@clisp.org>
65964
65965         Fix test-stdint failure on FreeBSD/ia64.
65966         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
65967         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
65968         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
65969         * doc/headers/stdint.texi: Update.
65970
65971 2007-06-01  Bruno Haible  <bruno@clisp.org>
65972
65973         * tests/test-binary-io.c (main): Pass a third argument to open().
65974         Reported by Gary V. Vaughan <gary@gnu.org>.
65975
65976 2007-06-01  Bruno Haible  <bruno@clisp.org>
65977
65978         * doc/functions/frexpl.texi: Update for mingw.
65979
65980 2007-06-01  Bruno Haible  <bruno@clisp.org>
65981
65982         * tests/test-lseek.c (main): Disable test of errno for invalid third
65983         argument.
65984         * doc/functions/lseek.texi: Update.
65985         Reported by Gary V. Vaughan <gary@gnu.org>.
65986
65987 2007-05-28  Bruno Haible  <bruno@clisp.org>
65988
65989         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
65990
65991 2007-05-31  Eric Blake  <ebb9@byu.net>
65992
65993         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
65994         cross compiling.
65995
65996 2007-05-30  Eric Blake  <ebb9@byu.net>
65997         and Bruno Haible  <bruno@clisp.org>
65998
65999         Work around mingw test failures exposed by m4-1.4.9b.
66000         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
66001         * tests/test-unistd.c: Disable uid_t and git_t tests for the
66002         moment.
66003
66004 2007-05-30  Bruno Haible  <bruno@clisp.org>
66005
66006         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66007         assuming that they are closed. Needed on HP-UX 11.
66008
66009 2007-05-29  Bruno Haible  <bruno@clisp.org>
66010
66011         Fix a problem with #include_next.
66012         * lib/dirent_.h: Split the double-inclusion guard.
66013         * lib/fcntl_.h: Likewise.
66014         * lib/float_.h: Likewise.
66015         * lib/iconv_.h: Likewise.
66016         * lib/inttypes_.h: Likewise.
66017         * lib/locale_.h: Likewise.
66018         * lib/math_.h: Likewise.
66019         * lib/netinet_in_.h: Likewise.
66020         * lib/search_.h: Likewise.
66021         * lib/signal_.h: Likewise.
66022         * lib/stdint_.h: Likewise.
66023         * lib/stdio_.h: Likewise.
66024         * lib/stdlib_.h: Likewise.
66025         * lib/string_.h: Likewise.
66026         * lib/sys_select_.h: Likewise.
66027         * lib/sys_socket_.h: Likewise.
66028         * lib/sys_stat_.h: Likewise.
66029         * lib/sys_time_.h: Likewise.
66030         * lib/sysexits_.h: Likewise.
66031         * lib/time_.h: Likewise.
66032         * lib/unistd_.h: Likewise.
66033         * lib/wchar_.h: Likewise.
66034         * lib/wctype_.h: Likewise.
66035
66036 2007-05-29  Bruno Haible  <bruno@clisp.org>
66037
66038         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66039         for the moment.
66040
66041 2007-05-29  Bruno Haible  <bruno@clisp.org>
66042
66043         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66044         invocation.
66045         Reported by Eric Blake.
66046
66047 2007-05-29  Bruno Haible  <bruno@clisp.org>
66048
66049         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66050         compiling case.
66051
66052 2007-05-29  Eric Blake  <ebb9@byu.net>
66053             Bruno Haible  <bruno@clisp.org>
66054
66055         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66056         cross compiles.
66057
66058 2007-05-28  Eric Blake  <ebb9@byu.net>
66059
66060         * modules/closein-tests (test_closein_LDADD): Support test on
66061         cygwin with libtool.
66062
66063 2007-05-28  Bruno Haible  <bruno@clisp.org>
66064
66065         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
66066         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66067         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66068         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66069         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66070         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66071         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66072         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66073         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66074
66075 2007-05-28  Eric Blake  <ebb9@byu.net>
66076
66077         Unconditionally include <config.h> in unit tests.
66078         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
66079         * tests/test-allocsa.c, tests/test-arcfour.c,
66080         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
66081         tests/test-array_list.c, tests/test-array_oset.c,
66082         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
66083         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
66084         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
66085         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
66086         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
66087         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
66088         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
66089         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
66090         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
66091         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
66092         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
66093         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
66094         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
66095         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
66096         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
66097         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
66098         test-md5.c, test-memmem.c, test-printf-posix.c,
66099         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
66100         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
66101         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
66102         test-strcasestr.c, test-striconv.c, test-striconveh.c,
66103         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
66104         test-vasnprintf-posix2.c, test-vasnprintf.c,
66105         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
66106         test-vfprintf-posix.c, test-vprintf-posix.c,
66107         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
66108         test-xvasprintf.c: Likewise.
66109
66110 2007-05-28  Bruno Haible  <bruno@clisp.org>
66111
66112         * gnulib-tool (func_import): Remember the --with-tests command-line
66113         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
66114         Reported by Eric Blake.
66115
66116 2007-05-28  Bruno Haible  <bruno@clisp.org>
66117
66118         * modules/ftell-tests: New file.
66119         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
66120         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
66121
66122         * lib/ftell.c: New file.
66123         * modules/ftell: New file.
66124         * m4/ftell.m4: New file.
66125         * doc/functions/ftell.texi: Update.
66126         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
66127         REPLACE_FTELL.
66128         * lib/stdio_.h (rpl_ftell): New declaration.
66129         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
66130         REPLACE_FTELL.
66131
66132 2007-05-28  Eric Blake  <ebb9@byu.net>
66133
66134         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
66135
66136 2007-05-28  Bruno Haible  <bruno@clisp.org>
66137
66138         * modules/fseek-tests: New file.
66139         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
66140         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
66141
66142         * lib/fseek.c: New file.
66143         * modules/fseek: New file.
66144         * m4/fseek.m4: New file.
66145         * doc/functions/fseek.texi: Update.
66146         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
66147         REPLACE_FSEEK.
66148         * lib/stdio_.h (rpl_fseek): New declaration.
66149         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
66150         REPLACE_FSEEK.
66151
66152 2007-05-28  Bruno Haible  <bruno@clisp.org>
66153
66154         * lib/stdio_.h (fflush): More comments.
66155
66156 2007-05-28  Bruno Haible  <bruno@clisp.org>
66157
66158         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
66159         runtime test.
66160
66161 2007-05-28  Eric Blake  <ebb9@byu.net>
66162
66163         Improve lseek module.
66164         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
66165         * lib/unistd_.h (lseek): Scale back link warning message.
66166         * tests/test-lseek.c: Beef up test.
66167         * tests/test-lseek.sh: Exercise more facets of lseek.
66168         Reported by Bruno Haible.
66169
66170 2007-05-28  Bruno Haible  <bruno@clisp.org>
66171
66172         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
66173         to define.
66174
66175 2007-05-27  Bruno Haible  <bruno@clisp.org>
66176
66177         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
66178
66179 2007-05-27  Bruno Haible  <bruno@clisp.org>
66180
66181         * modules/openmp: New file.
66182         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
66183         Noah Misch.
66184
66185 2007-05-26  Bruno Haible  <bruno@clisp.org>
66186
66187         * modules/chdir-long (Depends-on): Add fchdir.
66188         * modules/chdir-safer (Depends-on): Likewise.
66189         * modules/fts (Depends-on): Likewise.
66190         * modules/fts-lgpl (Depends-on): Likewise.
66191         * modules/openat (Depends-on): Likewise.
66192         * modules/savewd (Depends-on): Likewise.
66193
66194 2007-05-24  Eric Blake  <ebb9@byu.net>
66195
66196         Fix lseek on mingw.
66197         * modules/lseek: New module.
66198         * m4/lseek.m4: New file.
66199         * lib/lseek.c: New file.
66200         * modules/lseek-tests: New file.
66201         * tests/test-lseek.c: New file.
66202         * tests/test-lseek.sh: New file.
66203         * MODULES.html.sh: Document lseek module.
66204         * modules/fflush (Depends-on): Add lseek, fseeko.
66205         * modules/fseeko (Depends-on): Likewise.
66206         * modules/ftello (Depends-on): Likewise.
66207         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
66208         broken.
66209         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
66210         broken.
66211         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
66212         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
66213         * lib/ftello.c (rpl_ftello): Likewise.
66214         * tests/test-fseeko.c (main): Test this.
66215         * tests/test-fseeko.sh: Likewise.
66216         * tests/test-ftello.c (main): Likewise.
66217         * tests/test-ftello.sh: Likewise.
66218         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
66219         implies replacing fseek.
66220         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
66221         HAVE_FTELLO.
66222         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
66223         * modules/unistd (Makefile.am): Likewise.
66224         * lib/unistd_.h (lseek): Declare a replacement.
66225         * doc/functions/lseek.texi (lseek): Document this fix.
66226         * doc/functions/fseek.texi (fseek): Likewise.
66227         * doc/functions/ftell.texi (ftell): Likewise.
66228
66229 2007-05-24  Bruno Haible  <bruno@clisp.org>
66230
66231         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
66232         in the printed representation of a NaN.
66233         * tests/test-vasprintf-posix.c (test_function): Likewise.
66234         * tests/test-snprintf-posix.h (test_function): Likewise.
66235         * tests/test-sprintf-posix.h (test_function): Likewise.
66236         Reported by Eric Blake.
66237
66238 2007-05-23  Eric Blake  <ebb9@byu.net>
66239
66240         Fix fseeko/ftello on cygwin 1.5.24.
66241         * doc/functions/fseeko.texi (fseeko): Document the fix.
66242         * doc/functions/ftello.texi (ftello): Document the fix.
66243         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
66244         * doc/functions/stdout.text (stdout): New file.
66245         * doc/functions/stderr.text (stderr): New file.
66246         * doc/gnulib.texi (Function Substitutes): Use new files.
66247         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
66248         prior to 1.7.0.
66249         * tests/test-ftello.c (main): Likewise for ftello.
66250         * tests/test-fseeko.sh: New file.
66251         * tests/test-ftello.sh: New file.
66252         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
66253         with seekable stdin.
66254         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
66255         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
66256         (gl_REPLACE_FSEEKO): New macro.
66257         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
66258         * modules/fseeko (Files): Distribute fseeko.c.
66259         * modules/ftello (Files): Distribute ftello.c.
66260         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
66261         mode.
66262         * lib/ftello.c (rpl_ftello): New file.
66263         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
66264         fseeko, ftello.
66265         (gl_STDIN_LARGE_OFFSET): New macro.
66266         * modules/stdio (Makefile.am): Perform the replacement.
66267         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
66268
66269 2007-05-23  Bruno Haible  <bruno@clisp.org>
66270
66271         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
66272         GNULIB_POSIXCHECK is defined.
66273
66274 2007-05-21  Bruno Haible  <bruno@clisp.org>
66275
66276         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
66277         Check also the output for NaN arguments. When cross-compiling, guess
66278         no on IRIX.
66279         * lib/vasnprintf.c: Update comments.
66280         * tests/test-vasnprintf-posix.c (strisnan): New function.
66281         (test_function): Use it.
66282         * tests/test-vasprintf-posix.c (strisnan): New function.
66283         (test_function): Use it.
66284         * tests/test-snprintf-posix.h (strisnan): New function.
66285         (test_function): Use it.
66286         * tests/test-sprintf-posix.h (strisnan): New function.
66287         (test_function): Use it.
66288         Reported by Eric Blake.
66289
66290 2007-05-20  Bruno Haible  <bruno@clisp.org>
66291
66292         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
66293         numbers that fails on BeOS.
66294         * doc/functions/frexpl.texi: Update.
66295
66296 2007-05-20  Jim Meyering  <jim@meyering.net>
66297
66298         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
66299         forced upon us by glibc-2.6.
66300
66301 2007-05-20  Bruno Haible  <bruno@clisp.org>
66302
66303         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
66304         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
66305         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
66306         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
66307         NEED_PRINTF_INFINITE.
66308         (is_infinitel): New function.
66309         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
66310         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
66311         gl_PREREQ_VASNPRINTF_INFINITE.
66312         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
66313         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66314         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
66315         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
66316         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
66317         gl_PREREQ_VASNPRINTF_INFINITE.
66318         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66319         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66320         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66321         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66322         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66323         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66324         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66325         * doc/functions/fprintf.texi: Update.
66326         * doc/functions/printf.texi: Update.
66327         * doc/functions/snprintf.texi: Update.
66328         * doc/functions/sprintf.texi: Update.
66329         * doc/functions/vfprintf.texi: Update.
66330         * doc/functions/vprintf.texi: Update.
66331         * doc/functions/vsnprintf.texi: Update.
66332         * doc/functions/vsprintf.texi: Update.
66333
66334 2007-05-20  Bruno Haible  <bruno@clisp.org>
66335
66336         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
66337         was not found in libc.
66338         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66339
66340 2007-05-20  Bruno Haible  <bruno@clisp.org>
66341
66342         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66343         printed as "-nan" instead of "nan".
66344         * tests/test-vasprintf-posix.c (test_function): Likewise.
66345         * tests/test-snprintf-posix.h (test_function): Likewise.
66346         * tests/test-sprintf-posix.h (test_function): Likewise.
66347         Needed for HP-UX 11.
66348
66349 2007-05-20  Jim Meyering  <jim@meyering.net>
66350
66351         Fix buggy test for the fchownat-deref bug.
66352         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
66353         symlink required for the run-test.  Without it, this test would
66354         always declare that fchownat doesn't work, and client code would
66355         unnecessarily use the replacement function with fixed libc.
66356         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
66357         Reported by Greg Schafer.
66358
66359 2007-05-19  Bruno Haible  <bruno@clisp.org>
66360
66361         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
66362         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
66363         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
66364         Needed for IRIX 6.5 and Solaris 2.5.1.
66365
66366 2007-05-19  Bruno Haible  <bruno@clisp.org>
66367
66368         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
66369         (test_function): Skip tests involving -0.0 on platforms where
66370         -0.0 = 0.0.
66371         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
66372         (test_function): Skip tests involving -0.0 on platforms where
66373         -0.0 = 0.0.
66374         * tests/test-snprintf-posix.h (have_minus_zero): New function.
66375         (test_function): Skip tests involving -0.0 on platforms where
66376         -0.0 = 0.0.
66377         * tests/test-sprintf-posix.h (have_minus_zero): New function.
66378         (test_function): Skip tests involving -0.0 on platforms where
66379         -0.0 = 0.0.
66380         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
66381         tests.
66382         * tests/test-printf-posix.h (test_function): Likewise.
66383         * tests/test-printf-posix.output: Remove all -0.0 related results.
66384         Needed for IRIX 6.5.
66385
66386 2007-05-19  Bruno Haible  <bruno@clisp.org>
66387
66388         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66389         printed as "nan0x7fffffff" instead of "nan".
66390         * tests/test-vasprintf-posix.c (test_function): Likewise.
66391         * tests/test-snprintf-posix.h (test_function): Likewise.
66392         * tests/test-sprintf-posix.h (test_function): Likewise.
66393         * tests/test-fprintf-posix.h (NaN): Remove macro.
66394         (test_function): Remove all NaN related tests.
66395         * tests/test-printf-posix.h (NaN): Remove macro.
66396         (test_function): Remove all NaN related tests.
66397         * tests/test-printf-posix.output: Remove all NaN related results.
66398         Needed for IRIX 6.5.
66399
66400 2007-05-19  Bruno Haible  <bruno@clisp.org>
66401
66402         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
66403         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66404
66405 2007-05-19  Bruno Haible  <bruno@clisp.org>
66406
66407         * lib/float_.h: New file.
66408         * m4/float_h.m4: New file.
66409         * modules/float: New file.
66410         * modules/isnanl (Dependencies): Add float.
66411         * modules/isnanl-nolibm (Dependencies): Likewise.
66412         * modules/mathl (Dependencies): Likewise.
66413         * modules/printf-frexpl (Dependencies): Likewise.
66414         * modules/signbit (Dependencies): Likewise.
66415         * modules/vasnprintf (Dependencies): Likewise.
66416         * doc/headers/float.texi: Update.
66417
66418 2007-05-19  Jim Meyering  <jim@meyering.net>
66419
66420         * lib/utimens.c (gl_futimens): Rename from futimens,
66421         now that glibc-2.6 declares futimens.
66422         * lib/utimens.h: Likewise.
66423
66424 2007-05-19  Bruno Haible  <bruno@clisp.org>
66425
66426         Avoid test failures on mingw.
66427         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
66428         * tests/test-printf-posix.sh: Likewise.
66429         * tests/test-vfprintf-posix.sh: Likewise.
66430         * tests/test-vprintf-posix.sh: Likewise.
66431
66432 2007-05-19  Bruno Haible  <bruno@clisp.org>
66433
66434         Fix *printf result for NaN, Inf, -0.0 on mingw.
66435         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66436         * lib/vasnprintf.c: Include math.h and isnan.h.
66437         (is_infinite_or_zero): New function.
66438         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66439         values in the %f, %F, %e, %E, %g, %G directives.
66440         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66441         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66442         gl_PRINTF_INFINITE and test its result. Invoke
66443         gl_PREREQ_VASNPRINTF_INFINITE.
66444         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66445         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66446         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66447         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66448         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66449         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66450         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66451         * doc/functions/fprintf.texi: Update.
66452         * doc/functions/printf.texi: Update.
66453         * doc/functions/snprintf.texi: Update.
66454         * doc/functions/sprintf.texi: Update.
66455         * doc/functions/vfprintf.texi: Update.
66456         * doc/functions/vprintf.texi: Update.
66457         * doc/functions/vsnprintf.texi: Update.
66458         * doc/functions/vsprintf.texi: Update.
66459
66460 2007-05-19  Bruno Haible  <bruno@clisp.org>
66461
66462         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66463         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66464         Instead of multiplying with 10^k, set extra_zeroes to k.
66465         (scale10_round_long_double): Remove function.
66466
66467 2007-05-18  Bruno Haible  <bruno@clisp.org>
66468
66469         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66470         introduced on 2007-05-06.
66471
66472 2007-05-18  Bruno Haible  <bruno@clisp.org>
66473
66474         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66475         %g directives.
66476         * tests/test-vasprintf-posix.c (test_function): Likewise.
66477         * tests/test-snprintf-posix.h (test_function): Likewise.
66478         * tests/test-sprintf-posix.h (test_function): Likewise.
66479
66480 2007-05-18  Bruno Haible  <bruno@clisp.org>
66481
66482         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66483         (strmatch): New function.
66484         (test_function): Test the %f directive on numbers of various exponents.
66485         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66486         (strmatch): New function.
66487         (test_function): Test the %f directive on numbers of various exponents.
66488         * tests/test-snprintf-posix.h (strmatch): New function.
66489         (test_function): Test the %f directive on numbers of various exponents.
66490         * tests/test-sprintf-posix.h (strmatch): New function.
66491         (test_function): Test the %f directive on numbers of various exponents.
66492         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66493         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66494         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66495         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66496
66497 2007-05-18  Bruno Haible  <bruno@clisp.org>
66498
66499         Add support for 'long double' number output.
66500         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66501         * lib/vasnprintf.c: Include math.h and float+.h.
66502         (mp_limb_t): New type.
66503         (GMP_LIMB_BITS): New macro.
66504         (mp_twolimb_t): New type.
66505         (GMP_TWOLIMB_BITS): New macro.
66506         (mpn_t): New type.
66507         (multiply, divide, convert_to_decimal, decode_long_double,
66508         scale10_round_long_double, scale10_round_decimal_long_double,
66509         floorlog10l): New functions.
66510         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66511         for the %f, %F, %e, %E, %g, %G directives.
66512         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66513         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66514         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66515         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66516         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66517         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66518         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66519         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66520         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66521         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66522         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66523         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66524         * modules/snprintf-posix (Depends-on): Likewise.
66525         * modules/sprintf-posix (Depends-on): Likewise.
66526         * modules/vasnprintf-posix (Depends-on): Likewise.
66527         * modules/vasprintf-posix (Depends-on): Likewise.
66528         * modules/vfprintf-posix (Depends-on): Likewise.
66529         * modules/vsnprintf-posix (Depends-on): Likewise.
66530         * modules/vsprintf-posix (Depends-on): Likewise.
66531         * modules/vasnprintf (Files): Add lib/float+.h.
66532         * doc/functions/fprintf.texi: Update.
66533         * doc/functions/printf.texi: Update.
66534         * doc/functions/snprintf.texi: Update.
66535         * doc/functions/sprintf.texi: Update.
66536         * doc/functions/vfprintf.texi: Update.
66537         * doc/functions/vprintf.texi: Update.
66538         * doc/functions/vsnprintf.texi: Update.
66539         * doc/functions/vsprintf.texi: Update.
66540
66541 2007-05-18  Bruno Haible  <bruno@clisp.org>
66542
66543         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66544
66545 2007-05-18  Bruno Haible  <bruno@clisp.org>
66546
66547         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66548         for printing 64-bit integers. Needed for mingw.
66549
66550 2007-05-18  Bruno Haible  <bruno@clisp.org>
66551
66552         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66553         gl_FUNC_FREXPL_WORKS.
66554         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66555
66556 2007-05-18  Bruno Haible  <bruno@clisp.org>
66557
66558         * modules/frexpl-nolibm-tests: New file.
66559
66560         * modules/frexpl-nolibm: New file.
66561         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66562
66563 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66566         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66567         GCC 4.2, which otherwise issues a lot of warnings.
66568         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66569         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66570         Likewise.
66571         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66572         * modules/iconv_open (iconv.h): Likewise.
66573         * modules/locale (locale.h): Likewise.
66574         * modules/netinet_in (netinet/in.h): Likewise.
66575         * modules/sys_select (sys_select.h): Likewise.
66576         * modules/sys_socket (sys/socket.h): Likewise.
66577         * modules/sys_stat (sys/stat.h): Likewise.
66578         * modules/sysexits (sysexits.h): Likewise.
66579         * modules/unistd (unistd.h): Likewise.
66580
66581 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66582
66583         * modules/closein-tests (Makefile.am): Distribute
66584         `test-closein.sh'.
66585
66586 2007-05-17  Bruno Haible  <bruno@clisp.org>
66587
66588         * tests/test-printf-posix.output: Renamed from
66589         tests/test-fprintf-posix.out.
66590         * modules/fprintf-posix-tests: Update.
66591         * modules/printf-posix-tests: Update.
66592         * modules/vfprintf-posix-tests: Update.
66593         * modules/vprintf-posix-tests: Update.
66594         * tests/test-fprintf-posix.sh: Update.
66595         * tests/test-printf-posix.sh: Update.
66596         * tests/test-vfprintf-posix.sh: Update.
66597         * tests/test-vprintf-posix.sh: Update.
66598         Reported by Ralf Wildenhues.
66599
66600 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66601
66602         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
66603         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66604         GCC 4.2, which otherwise issues a lot of warnings.
66605         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
66606         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
66607         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
66608         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
66609         it should no longer be needed.
66610         * lib/string_.h: Likewise.
66611         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
66612         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
66613         * modules/inttypes (inttypes.h): Likewise.
66614         * modules/math (math.h): Likewise.
66615         * modules/search (search.h): Likewise.
66616         * modules/signal (signal.h): Likewise.
66617         * modules/stdint (stdint.h): Likewise.
66618         * modules/stdio (stdio.h): Likewise.
66619         * modules/stdlib (stdlib.h): Likewise.
66620         * modules/string (string.h): Likewise.
66621         * modules/sys_time (sys/time.h): Likewise.
66622         * modules/time (time.h): Likewise.
66623         * modules/wchar (wchar.h): Likewise.
66624         * modules/wctype (wtype.h): Likewise.
66625
66626 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66627
66628         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
66629
66630 2007-05-13  Bruno Haible  <bruno@clisp.org>
66631
66632         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
66633         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66634         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
66635         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66636         (gl_PREREQ_STRTOK_R): Don't require it here.
66637
66638 2007-05-13  Bruno Haible  <bruno@clisp.org>
66639
66640         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
66641         when used in C++ mode.
66642
66643 2007-05-12  Bruno Haible  <bruno@clisp.org>
66644
66645         * lib/linebuffer.h: Tweak doc.
66646         * lib/linebuffer.c: Likewise.
66647
66648 2007-05-12  James Youngman  <jay@gnu.org>
66649
66650         * lib/linebuffer.c (readlinebuffer_delim): New function,
66651         like readlinebuffer, but use a caller-specified delimiter.
66652         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66653         as the delimiter.
66654         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66655
66656 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66657
66658         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66659         * modules/openat (Files): Remove openat-die.c.
66660         (Depends-on): Add openat-die.
66661         * modules/openat-die: New module.
66662
66663 2007-05-06  Bruno Haible  <bruno@clisp.org>
66664
66665         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
66666         Update with info about Cygwin.
66667         * doc/functions/fprintf.texi: Update.
66668         * doc/functions/printf.texi: Update.
66669         * doc/functions/snprintf.texi: Update.
66670         * doc/functions/sprintf.texi: Update.
66671         * doc/functions/vfprintf.texi: Update.
66672         * doc/functions/vprintf.texi: Update.
66673         * doc/functions/vsnprintf.texi: Update.
66674         * doc/functions/vsprintf.texi: Update.
66675         Reported by Eric Blake.
66676
66677 2007-05-06  Bruno Haible  <bruno@clisp.org>
66678
66679         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
66680         padding ourselves for the floating-point directives.
66681         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
66682         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
66683         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66684         gl_PRINTF_FLAG_ZERO and test its result. Invoke
66685         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
66686         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66687         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66688         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66689         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66690         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66691         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66692         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66693         * tests/test-snprintf-posix.h (test_function): Also check the width
66694         and some flags in the %f directive.
66695         * tests/test-sprintf-posix.h (test_function): Likewise.
66696         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66697         * tests/test-vasprintf-posix.c (test_function): Likewise.
66698         * doc/functions/fprintf.texi: Update.
66699         * doc/functions/printf.texi: Update.
66700         * doc/functions/snprintf.texi: Update.
66701         * doc/functions/sprintf.texi: Update.
66702         * doc/functions/vfprintf.texi: Update.
66703         * doc/functions/vprintf.texi: Update.
66704         * doc/functions/vsnprintf.texi: Update.
66705         * doc/functions/vsprintf.texi: Update.
66706
66707 2007-05-06  Bruno Haible  <bruno@clisp.org>
66708
66709         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
66710         pass the ' flag character to sprintf or snprintf.
66711         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
66712         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
66713         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66714         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
66715         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
66716         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66717         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66718         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66719         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66720         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66721         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66722         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66723         * tests/test-snprintf-posix.h (test_function): Also check the grouping
66724         flag.
66725         * tests/test-sprintf-posix.h (test_function): Likewise.
66726         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66727         * tests/test-vasprintf-posix.c (test_function): Likewise.
66728         * doc/functions/fprintf.texi: Update.
66729         * doc/functions/printf.texi: Update.
66730         * doc/functions/snprintf.texi: Update.
66731         * doc/functions/sprintf.texi: Update.
66732         * doc/functions/vfprintf.texi: Update.
66733         * doc/functions/vprintf.texi: Update.
66734         * doc/functions/vsnprintf.texi: Update.
66735         * doc/functions/vsprintf.texi: Update.
66736
66737 2007-05-01  Bruno Haible  <bruno@clisp.org>
66738
66739         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
66740
66741 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
66742
66743         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
66744         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
66745
66746 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66747
66748         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
66749         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
66750         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
66751
66752 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
66753
66754         * lib/argp-help.c (struct hol_entry): New member `ord'.
66755         (HOL_ENTRY_PTRCMP): Use ord for comparison
66756         (hol_sort): Initialize ord.
66757
66758 2007-05-01  Bruno Haible  <bruno@clisp.org>
66759
66760         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
66761         Reported by Eric Blake.
66762         * doc/gnulib.texi (Function Substitutes): Update.
66763
66764 2007-05-01  Bruno Haible  <bruno@clisp.org>
66765
66766         * doc/functions.texi: Remove file, now redundant through
66767         doc/functions/*.texi.
66768
66769 2007-05-01  Bruno Haible  <bruno@clisp.org>
66770
66771         * modules/argp (Depends-on): Add sleep.
66772
66773 2007-05-01  Bruno Haible  <bruno@clisp.org>
66774
66775         * modules/sleep-tests: New file.
66776         * tests/test-sleep.c: New file.
66777
66778         * modules/sleep: New file.
66779         * lib/sleep.c: New file.
66780         * m4/sleep.m4: New file.
66781         * lib/unistd_.h (sleep): New declaration.
66782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
66783         HAVE_SLEEP.
66784         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
66785         * doc/functions/sleep.texi: Document the sleep module.
66786
66787 2007-05-01  Bruno Haible  <bruno@clisp.org>
66788
66789         * lib/sigprocmask.h: Remove file.
66790         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
66791         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
66792         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
66793         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
66794         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
66795         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
66796         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
66797         HAVE_SIGSET_T as a shell variable.
66798         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
66799         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
66800         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
66801         (Depends-on): Add signal. Remove verify.
66802         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
66803         (Include): Mention <signal.h> instead of sigprocmask.h.
66804         * NEWS: Mention the change.
66805         * lib/fatal-signal.c: Don't include sigprocmask.h.
66806
66807 2007-05-01  Bruno Haible  <bruno@clisp.org>
66808
66809         * modules/signal: New file.
66810         * lib/signal_.h: New file.
66811         * m4/signal_h.m4: New file.
66812
66813 2007-05-01  Bruno Haible  <bruno@clisp.org>
66814
66815         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
66816         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
66817         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
66818         HAVE_WCTYPE_CTMP_BUG into wctype.h.
66819
66820 2007-05-01  Bruno Haible  <bruno@clisp.org>
66821
66822         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
66823         configure time.
66824         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
66825         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
66826         * modules/sys_stat (Makefile.am): Substitute their values into
66827         sys/stat.h.
66828
66829 2007-05-01  Bruno Haible  <bruno@clisp.org>
66830
66831         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
66832         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
66833         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
66834
66835 2007-05-01  Bruno Haible  <bruno@clisp.org>
66836
66837         * doc/header/assert.texi: Undo last change: don't mention the gnulib
66838         'assert' module here.
66839
66840 2007-05-01  Bruno Haible  <bruno@clisp.org>
66841
66842         * doc/functions/*.texi: New files.
66843         * doc/functions/google-ranking.txt: New file.
66844         * doc/gnulib.texi (Function Substitutes): New chapter.
66845         (ctime, inet_ntoa): Remove sections.
66846         * doc/ctime.texi: Remove file.
66847         * doc/inet_ntoa.texi: Remove file.
66848         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
66849         dependencies.
66850         (%.info): New rule, specifying a --reference-limit.
66851
66852 2007-05-01  Bruno Haible  <bruno@clisp.org>
66853
66854         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
66855
66856 2007-05-01  Bruno Haible  <bruno@clisp.org>
66857
66858         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
66859         the portability of 'mkdir' to mingw systems.
66860
66861 2007-05-01  Bruno Haible  <bruno@clisp.org>
66862
66863         * doc/headers/google-ranking.txt: New file.
66864
66865 2007-04-30  Eric Blake  <ebb9@byu.net>
66866
66867         Prefer fseeko to fseek.
66868         * modules/getpass (Depends-on): Add fseeko.
66869         * lib/getpass.c (getpass): Use fseeko, not fseek.
66870
66871 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
66872
66873         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
66874         assumes the sorting is stable, while most qsort implementations
66875         are not.  Use argument addresses to ensure they never compare as
66876         equal.
66877
66878         * tests/test-argp-2.sh (usage-indent test): Fix output
66879         (func_compare): Restore diff options
66880         * tests/test-argp.c: Restore #include "progname.h"
66881
66882 2007-04-29  Bruno Haible  <bruno@clisp.org>
66883
66884         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
66885         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66886         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
66887         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66888         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
66889         (configure.ac): Define CHECK_SNPRINTF_POSIX.
66890         (TESTS, check_PROGRAMS): Add test-snprintf.
66891         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
66892         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
66893         (TESTS, check_PROGRAMS): Add test-vsnprintf.
66894         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
66895         assertions that fail on HP-UX, OSF/1, or IRIX.
66896         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
66897
66898 2007-04-29  Bruno Haible  <bruno@clisp.org>
66899
66900         * MODULES.html.sh (posix_functions): Remove 'contents'.
66901
66902 2007-04-29  Karl Berry  <karl@gnu.org>
66903
66904         * config/srclist.txt (gendocs_template_min): new entry.
66905
66906 2007-04-29  Bruno Haible  <bruno@clisp.org>
66907
66908         Work around fpurge bug on BSD systems.
66909         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
66910         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
66911         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
66912         fpurge to rpl_fpurge if the system already has this function.
66913         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
66914         the case where the system already has this function. Correct invariants
66915         on BSD systems.
66916         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
66917         BSD systems.
66918
66919 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
66920
66921         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
66922         proposed by Sven Verdoolaege.
66923
66924         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
66925         options.
66926         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
66927         (usage and help tests): Update
66928
66929 2007-04-29  Bruno Haible  <bruno@clisp.org>
66930
66931         * tests/test-fflush.c (main): Use a file of size 17, not 10.
66932         Print more information in case of failure. Disable a test on BeOS.
66933
66934 2007-04-29  Bruno Haible  <bruno@clisp.org>
66935
66936         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
66937         This helps debugging on systems on which no gdb is available.
66938
66939 2007-04-29  Bruno Haible  <bruno@clisp.org>
66940
66941         * lib/freading.h: Improve comments.
66942         * lib/fwriting.h: Likewise.
66943         * tests/test-freading.c (main): Don't check freading immediately after
66944         repositioning. Needed for glibc.
66945
66946 2007-04-29  Bruno Haible  <bruno@clisp.org>
66947
66948         * lib/freading.c (freading): Trivial simplification.
66949
66950 2007-04-28  Bruno Haible  <bruno@clisp.org>
66951
66952         * tests/test-fwriting.c (main): Also test the interaction between
66953         fflush and fwriting.
66954         * modules/fwriting-tests (Depends-on): Add fflush.
66955
66956         * tests/test-freading.c (main): Also test the interaction between
66957         fflush and freading.
66958         * modules/freading-tests (Depends-on): Add fflush.
66959
66960 2007-04-28  Bruno Haible  <bruno@clisp.org>
66961
66962         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
66963         fseeko and ftello.
66964         Suggested by Eric Blake.
66965
66966 2007-04-28  Jim Meyering  <jim@meyering.net>
66967
66968         Avoid false-negative in gl_STDINT_H's C99 conformance test.
66969         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
66970         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
66971
66972 2007-04-27  Eric Blake  <ebb9@byu.net>
66973
66974         * doc/headers/assert.texi (assert.h): Document assert module use.
66975
66976 2007-04-27  Bruno Haible  <bruno@clisp.org>
66977
66978         * doc/headers/*.texi: New files.
66979         * doc/gnulib.texi (Header File Substitutes): New chapter.
66980         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
66981         dependencies.
66982         (standards.info ,standards.html, standards.dvi): Update dependencies.
66983         (mostlyclean, clean): New targets.
66984
66985 2007-04-27  Bruno Haible  <bruno@clisp.org>
66986
66987         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
66988         * modules/sysexits (Files, Makefile.am): Update.
66989
66990         * lib/sys_socket_.h: Renamed from lib/socket_.h.
66991         * modules/sys_socket (Files, Makefile.am): Update.
66992
66993         * lib/sys_stat_.h: Renamed from lib/stat_.h.
66994         * modules/sys_stat (Files, Makefile.am): Update.
66995
66996 2007-04-27  Eric Blake  <ebb9@byu.net>
66997
66998         * lib/freading.h: Improve comments.
66999         * lib/fwriting.h: Likewise.
67000         * lib/fflush.c: Likewise.
67001
67002         Fix closein for mingw.
67003         * modules/closein-tests: Add tests for closein.
67004         * tests/test-closein.c: New file.
67005         * tests/test-closein.sh: Likewise.
67006         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67007         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67008
67009 2007-04-27  Bruno Haible  <bruno@clisp.org>
67010
67011         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67012         version is < 6.
67013         * lib/math_.h [__DECC]: Likewise.
67014         * lib/stdio_.h [__DECC]: Likewise.
67015         * lib/stdlib_.h [__DECC]: Likewise.
67016         * lib/string_.h [__DECC]: Likewise.
67017         * lib/time_.h [__DECC]: Likewise.
67018         * lib/wchar_.h [__DECC]: Likewise.
67019         * lib/wctype_.h [__DECC]: Likewise.
67020
67021 2007-04-27  Bruno Haible  <bruno@clisp.org>
67022
67023         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67024
67025 2007-04-27  Bruno Haible  <bruno@clisp.org>
67026
67027         * lib/fflush.c: Add comments.
67028         * modules/fpurge-tests (Depends-on): Add fflush.
67029         * modules/freadable-tests (Depends-on): Likewise.
67030         * modules/fwritable-tests (Depends-on): Likewise.
67031
67032 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67033
67034         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67035         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67036         Report by Bruno Haible <bruno@clisp.org>.
67037
67038 2007-04-26  Eric Blake  <ebb9@byu.net>
67039
67040         Fix fflush on mingw.
67041         * modules/fflush (Depends-on): Add freading.
67042         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67043         but unread data.
67044
67045 2007-04-26  Eric Blake  <ebb9@byu.net>
67046         and Bruno Haible  <bruno@clisp.org>
67047
67048         Implement freading and fwriting.
67049         * lib/freading.c: New file.
67050         * lib/freading.h: Likewise.
67051         * m4/freading.m4: Likewise.
67052         * modules/freading: Likewise.
67053         * modules/freading-tests: Likewise.
67054         * tests/test-freading.c: Likewise.
67055         * lib/fwriting.c: New file.
67056         * lib/fwriting.h: Likewise.
67057         * m4/fwriting.m4: Likewise.
67058         * modules/fwriting: Likewise.
67059         * modules/fwriting-tests: Likewise.
67060         * tests/test-fwriting.c: Likewise.
67061         * MODULES.html.sh (File stream based Input/Output): Mention them.
67062
67063 2007-04-26  Bruno Haible  <bruno@clisp.org>
67064
67065         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
67066         'long' when we assume it.
67067         Suggested by Eric Blake.
67068
67069 2007-04-26  Bruno Haible  <bruno@clisp.org>
67070
67071         Ensure fseeko, ftello are declared on glibc systems.
67072         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
67073         * modules/fseeko (configure.ac-early): Likewise.
67074         * modules/ftello (configure.ac-early): Likewise.
67075         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
67076         AC_FUNC_FSEEKO for this.
67077         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
67078         (gl_CHECK_FSEEKO): Remove macro.
67079
67080 2007-04-26  Bruno Haible  <bruno@clisp.org>
67081
67082         * tests/test-fflush.c (main): Also check the ftell result after
67083         fflush and fseek/fseeko.
67084         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
67085         file descriptor position cache in the stream.
67086         * lib/fseeko.c (rpl_fseeko): Likewise.
67087
67088 2007-04-26  Bruno Haible  <bruno@clisp.org>
67089
67090         * modules/fflush-tests (Depends-on): Add fseeko.
67091
67092 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
67093             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67094
67095         * lib/argz_.h: ensure error_t definition is obtained in same
67096         mechanism system argz.h would have.
67097         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
67098         argz facilities are known bad.  Err on the side of caution if
67099         cross-compiling.
67100
67101 2007-04-25  Eric Blake  <ebb9@byu.net>
67102
67103         * lib/fpurge.c (includes): Use stdlib.h for free.
67104         * tests/test-fflush.c (main): Also test fflush-fseeko.
67105
67106 2007-04-25  Bruno Haible  <bruno@clisp.org>
67107
67108         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
67109         * lib/fseeko.c: New file.
67110         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
67111         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
67112         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
67113         gl_FUNC_FSEEKO.
67114         (gl_FUNC_FSEEKO): Invoke it.
67115         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
67116         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
67117         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
67118
67119 2007-04-25  Bruno Haible  <bruno@clisp.org>
67120
67121         * modules/fflush (Depends-on): Add ftello.
67122
67123 2007-04-25  Bruno Haible  <bruno@clisp.org>
67124
67125         * modules/ftello-tests: New file.
67126         * tests/test-ftello.c: New file.
67127
67128         * modules/ftello: New file.
67129         * m4/ftello.m4: New file.
67130         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
67131         HAVE_FTELLO.
67132         * lib/stdio_.h (ftello): New declaration.
67133         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
67134         HAVE_FTELLO.
67135
67136 2007-04-25  Bruno Haible  <bruno@clisp.org>
67137
67138         * modules/fseeko-tests: New file.
67139         * tests/test-fseeko.c: New file.
67140
67141         * modules/fseeko: New file.
67142         * m4/fseeko.m4: New file.
67143         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
67144         HAVE_FSEEKO.
67145         * lib/stdio_.h (fseeko): New declaration.
67146         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
67147         HAVE_FSEEKO.
67148
67149 2007-04-25  Bruno Haible  <bruno@clisp.org>
67150
67151         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
67152
67153 2007-04-25  Bruno Haible  <bruno@clisp.org>
67154
67155         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
67156         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
67157         * tests/test-unistd.c: Likewise.
67158         * tests/test-fcntl.c: Likewise.
67159
67160 2007-04-23  Eric Blake  <ebb9@byu.net>
67161
67162         * lib/fflush.c: Fix missing include.
67163         Reported by Bruno Haible.
67164
67165 2007-04-23  Bruno Haible  <bruno@clisp.org>
67166
67167         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
67168         Reported by Eric Blake.
67169
67170 2007-04-23  Bruno Haible  <bruno@clisp.org>
67171
67172         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
67173
67174 2007-04-23  Bruno Haible  <bruno@clisp.org>
67175
67176         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
67177
67178 2007-04-23  Bruno Haible  <bruno@clisp.org>
67179
67180         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
67181         Needed on HP-UX 11.
67182
67183 2007-04-16  Eric Blake  <ebb9@byu.net>
67184
67185         Make fflush rely on fpurge.
67186         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
67187         open coding all variants.
67188         * modules/fflush (Depends-on): Add fpurge and unistd.
67189         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
67190         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
67191
67192         Fix --with-tests compilation on cygwin.
67193         * modules/argmatch-tests (Makefile.am): List gnulib library first
67194         in LDADD.
67195         * modules/argp-tests (Makefile.am): Likewise.
67196         * modules/array-list-tests (Makefile.am): Likewise.
67197         * modules/array-oset-tests (Makefile.am): Likewise.
67198         * modules/avltree-list-tests (Makefile.am): Likewise.
67199         * modules/avltree-oset-tests (Makefile.am): Likewise.
67200         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67201         * modules/carray-list-tests (Makefile.am): Likewise.
67202         * modules/dirname-tests (Makefile.am): Likewise.
67203         * modules/frexp-tests (Makefile.am): Likewise.
67204         * modules/isnanl-tests (Makefile.am): Likewise.
67205         * modules/linked-list-tests (Makefile.am): Likewise.
67206         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67207         * modules/lock-tests (Makefile.am): Likewise.
67208         * modules/rbtree-list-tests (Makefile.am): Likewise.
67209         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67210         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67211         * modules/tls-tests (Makefile.am): Likewise.
67212         * modules/tsearch-tests (Makefile.am): Likewise.
67213         * modules/xvasprintf-tests (Makefile.am): Likewise.
67214
67215         Fix fpurge for cygwin.
67216         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
67217         value.
67218         * modules/fpurge-tests (Depends-on): Clean up trash.
67219
67220 2007-04-16  Simon Josefsson  <simon@josefsson.org>
67221
67222         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
67223
67224         * m4/autobuild.m4: Re-indent.
67225
67226 2007-04-13  Bruno Haible  <bruno@clisp.org>
67227
67228         * modules/fpurge-tests: New file.
67229         * tests/test-fpurge.c: New file.
67230
67231         * modules/fpurge: New file.
67232         * lib/fpurge.h: New file.
67233         * lib/fpurge.c: New file.
67234         * m4/fpurge.m4: New file.
67235
67236 2007-04-13  Bruno Haible  <bruno@clisp.org>
67237
67238         * modules/fbufmode-tests: New file.
67239         * tests/test-fbufmode.c: New file.
67240
67241         * modules/fbufmode: New file.
67242         * lib/fbufmode.h: New file.
67243         * lib/fbufmode.c: New file.
67244         * m4/fbufmode.m4: New file.
67245
67246 2007-04-13  Bruno Haible  <bruno@clisp.org>
67247
67248         * modules/fwritable-tests: New file.
67249         * tests/test-fwritable.c: New file.
67250
67251         * modules/fwritable: New file.
67252         * lib/fwritable.h: New file.
67253         * lib/fwritable.c: New file.
67254         * m4/fwritable.m4: New file.
67255
67256 2007-04-13  Bruno Haible  <bruno@clisp.org>
67257
67258         * modules/freadable-tests: New file.
67259         * tests/test-freadable.c: New file.
67260
67261         * modules/freadable: New file.
67262         * lib/freadable.h: New file.
67263         * lib/freadable.c: New file.
67264         * m4/freadable.m4: New file.
67265
67266 2007-04-13  Bruno Haible  <bruno@clisp.org>
67267
67268         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
67269         MOSTLYCLEANFILES.
67270
67271 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67272
67273         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
67274         gzip bootstrap.conf to avoid dragging in i18n machinery.
67275         (gnulib_tool_option): Use it.
67276
67277 2007-04-13  Bruno Haible  <bruno@clisp.org>
67278
67279         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
67280         %F directives.
67281         * tests/test-vasprintf-posix.c (test_function): Likewise.
67282         * tests/test-snprintf-posix.h (test_function): Likewise.
67283         * tests/test-sprintf-posix.h (test_function): Likewise.
67284         * tests/test-fprintf-posix.h (test_function): Likewise.
67285         * tests/test-printf-posix.h (test_function): Likewise.
67286         * tests/test-fprintf-posix.out: Likewise.
67287
67288 2007-04-13  Bruno Haible  <bruno@clisp.org>
67289
67290         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
67291         * modules/tls-tests (configure.ac): Likewise.
67292         Reported by Arto C. Nirkko <anirkko@insel.ch>.
67293
67294 2007-04-13  Bruno Haible  <bruno@clisp.org>
67295
67296         * lib/tls.c (glthread_tls_get): Fix return type.
67297         Patch by Arto C. Nirkko <anirkko@insel.ch>.
67298
67299 2007-04-12  Eric Blake  <ebb9@byu.net>
67300
67301         * modules/gettime (Depends-on): Remove gettime.
67302         Reported by Dmitry V. Levin.
67303
67304 2007-04-12  Bruno Haible  <bruno@clisp.org>
67305
67306         * modules/fflush (Include): Mention <stdio.h>.
67307         * modules/strtoimax (Include): Mention <inttypes.h>.
67308         * modules/strtoumax (Include): Likewise.
67309
67310 2007-04-12  Eric Blake  <ebb9@byu.net>
67311
67312         * .cvsignore: New file.
67313         * .gitignore: Likewise.
67314
67315 2007-04-12  Bruno Haible  <bruno@clisp.org>
67316
67317         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
67318         not before, since $(LDADD) often contains libgnu.a.
67319         * modules/striconv-tests (test_striconv_LDADD): Likewise.
67320         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
67321         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
67322         Needed on Cygwin.
67323
67324 2007-04-12  Eric Blake  <ebb9@byu.net>
67325
67326         Work around glibc's failure to flush stdin on fclose.
67327         * lib/closein.c (close_stdin): Flush stdin before closing.
67328
67329         Work around glibc's failure to reset seekable stdin on exit.
67330         * modules/closein: New module.
67331         * lib/closein.c: New file.
67332         * lib/closein.h: Likewise.
67333         * m4/closein.m4: Likewise.
67334         * MODULES.html.sh (File stream based Input/Output): Document it.
67335
67336 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67337
67338         * gnulib-tool: Rename generated 'autobuild' script to
67339         'do-autobuild' in --create-megatestdir output.
67340
67341         * doc/gnulib.texi (Build robot for gnulib): Fix.
67342
67343 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67344
67345         * modules/sysexits (Depends-on): Add absolute-header.
67346
67347 2007-04-12  Eric Blake  <ebb9@byu.net>
67348
67349         No need to preserve errno on success.
67350         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
67351         Reported by Bruno Haible.
67352
67353 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67354
67355         * MODULES.html.sh (Support for maintaining and releasing
67356         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
67357
67358 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67359
67360         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
67361
67362 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67363
67364         * modules/autobuild: New module.
67365
67366         * m4/autobuild.m4: New file.
67367
67368 2007-04-11  Bruno Haible  <bruno@clisp.org>
67369
67370         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
67371         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
67372         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
67373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
67374         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67375         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67376         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67377         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67378         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67379         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67380         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
67381         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67382         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67383         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
67384         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67385         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67386         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
67387         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67388         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67389         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
67390         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67391         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67392         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
67393         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67394         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67395         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
67396         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67397         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67398         Reported by Eric Blake.
67399
67400 2007-04-11  Bruno Haible  <bruno@clisp.org>
67401
67402         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
67403
67404 2007-04-10  Bruno Haible  <bruno@clisp.org>
67405
67406         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
67407         for NaN and Infinity. Needed on FreeBSD 6.1.
67408         * tests/test-vasnprintf-posix.c (test_function): Undo last change
67409         regarding results for "%010a" of Infinity and NaN.
67410         * tests/test-vasprintf-posix.c (test_function): Likewise.
67411         * tests/test-snprintf-posix.h (test_function): Likewise.
67412         * tests/test-sprintf-posix.h (test_function): Likewise.
67413         * tests/test-fprintf-posix.h (test_function): Likewise.
67414         * tests/test-printf-posix.h (test_function): Likewise.
67415         * tests/test-fprintf-posix.out: Likewise.
67416
67417 2007-04-10  Bruno Haible  <bruno@clisp.org>
67418
67419         * modules/locale-tests: New file.
67420         * tests/test-locale.c: New file.
67421
67422         * modules/locale: New file.
67423         * lib/locale_.h: New file.
67424         * m4/locale_h.m4: New file.
67425
67426 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
67427             Bruno Haible  <bruno@clisp.org>
67428
67429         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67430         be determined, test for availability of the copysignf, copysign,
67431         copysignl functions.
67432         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67433         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67434         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67435
67436 2007-04-09  Eric Blake  <ebb9@byu.net>
67437
67438         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67439         * modules/stdio (Makefile.am): Support fflush.
67440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67441         * modules/fflush: New file.
67442         * lib/fflush.c: Likewise.
67443         * m4/fflush.m4: Likewise.
67444         * modules/fflush-tests: New test.
67445         * tests/test-fflush.c: Likewise.
67446         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67447
67448 2007-04-06  Bruno Haible  <bruno@clisp.org>
67449
67450         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67451         (VASNPRINTF): Use signbit for faster determination whether to print a
67452         minus sign.
67453         * modules/vasnprintf (Files): Remove lib/float+.h.
67454         * modules/fprintf-posix (Depends-on): Add signbit.
67455         * modules/snprintf-posix (Depends-on): Likewise.
67456         * modules/sprintf-posix (Depends-on): Likewise.
67457         * modules/vasnprintf-posix (Depends-on): Likewise.
67458         * modules/vasprintf-posix (Depends-on): Likewise.
67459         * modules/vfprintf-posix (Depends-on): Likewise.
67460         * modules/vsnprintf-posix (Depends-on): Likewise.
67461         * modules/vsprintf-posix (Depends-on): Likewise.
67462
67463 2007-04-06  Bruno Haible  <bruno@clisp.org>
67464
67465         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67466         * tests/test-frexpl.c (main): Likewise.
67467         * tests/test-ldexpl.c (main): Likewise.
67468         * modules/frexp-tests (Depends-on): Add signbit.
67469         * modules/frexpl-tests (Depdends-on): Likewise.
67470         * modules/ldexpl-tests (Depdends-on): Likewise.
67471
67472 2007-04-06  Bruno Haible  <bruno@clisp.org>
67473
67474         * modules/signbit-tests: New file.
67475         * tests/test-signbit.c: New file.
67476
67477         * modules/signbit: New file.
67478         * lib/signbitf.c: New file.
67479         * lib/signbitd.c: New file.
67480         * lib/signbitl.c: New file.
67481         * m4/signbit.m4: New file.
67482         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67483         (signbit): New macro.
67484         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67485         REPLACE_SIGNBIT.
67486         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67487         REPLACE_FREXPL into math.h.
67488
67489 2007-04-06  Bruno Haible  <bruno@clisp.org>
67490
67491         * modules/isnanf-nolibm-tests: New file.
67492         * tests/test-isnanf.c: New file.
67493
67494         * modules/isnanf-nolibm: New file.
67495         * lib/isnanf.h: New file.
67496         * lib/isnanf.c: New file.
67497         * lib/isnan.c: Consider the USE_FLOAT macro.
67498         * m4/isnanf.m4: New file.
67499
67500 2007-04-06  Bruno Haible  <bruno@clisp.org>
67501
67502         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67503         (Link): New section.
67504
67505         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67506
67507 2007-04-06  Bruno Haible  <bruno@clisp.org>
67508
67509         Assume the 'long double' type.
67510         * m4/longdouble.m4: Remove file.
67511         * config/srclist.txt: Don't mention longdouble.m4.
67512         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67513         * lib/float+.h: Likewise.
67514         * lib/frexp.c: Likewise.
67515         * lib/printf-args.h: Likewise.
67516         * lib/printf-args.c: Likewise.
67517         * lib/printf-frexp.c: Likewise.
67518         * lib/printf-parse.c: Likewise.
67519         * lib/vasnprintf.c: Likewise.
67520         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67521         * m4/intl.m4: Likewise.
67522         * m4/isnanl.m4: Likewise.
67523         * m4/printf.m4: Likewise.
67524         * m4/printf-frexpl.m4: Likewise.
67525         * m4/vasnprintf.m4: Likewise.
67526         * modules/allocsa (Files): Remove m4/longdouble.m4.
67527         * modules/gettext (Files): Likewise.
67528         * modules/relocatable-prog-wrapper (Files): Likewise.
67529         * modules/vasnprintf (Files): Likewise.
67530         * modules/isnanl (Files): Likewise.
67531         (Include): Simplify.
67532         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67533         (Include): Simplify.
67534         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67535         (Include): Simplify.
67536         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67537         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67538         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67539         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67540         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67541         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67542         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67543         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67544         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67545         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67546         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67547         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67548         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67549         * tests/test-isnanl.c: Likewise.
67550         * tests/test-snprintf-posix.h: Likewise.
67551         * tests/test-sprintf-posix.h: Likewise.
67552         * tests/test-vasnprintf-posix.c: Likewise.
67553         * tests/test-vasnprintf-posix2.c: Likewise.
67554         * tests/test-vasprintf-posix.c: Likewise.
67555
67556 2007-04-06  Bruno Haible  <bruno@clisp.org>
67557
67558         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67559         * lib/math_.h [__DECC]: Include the overridden include file through
67560         #include_next, outside the double-inclusion guard.
67561         * lib/stdio_.h [__DECC]: Likewise.
67562         * lib/stdlib_.h [__DECC]: Likewise.
67563         * lib/string_.h [__DECC]: Likewise.
67564         * lib/time_.h [__DECC]: Likewise.
67565         * lib/wchar_.h [__DECC]: Likewise.
67566         * lib/wctype_.h [__DECC]: Likewise.
67567         * lib/inttypes_.h [__DECC]: Likewise.
67568         Reported by Albert Chin <china@thewrittenword.com> in
67569         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67570
67571 2007-04-04  Eric Blake  <ebb9@byu.net>
67572
67573         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67574         1.5.x.
67575
67576 2007-04-04  Bruno Haible  <bruno@clisp.org>
67577
67578         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67579         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67580
67581 2007-04-04  Bruno Haible  <bruno@clisp.org>
67582
67583         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67584         results for "%010a" of Infinity and NaN.
67585         * tests/test-vasprintf-posix.c (test_function): Likewise.
67586         * tests/test-snprintf-posix.h (test_function): Likewise.
67587         * tests/test-sprintf-posix.h (test_function): Likewise.
67588         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67589         * tests/test-printf-posix.h (test_function): Likewise.
67590         * tests/test-fprintf-posix.out: Update.
67591         Needed for FreeBSD 6.1.
67592
67593 2007-04-04  Bruno Haible  <bruno@clisp.org>
67594
67595         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67596         directly used by the gnulib modules nor by gnulib-tool.
67597
67598 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67599
67600         * DEPENDENCIES: Give overall description of version dependency
67601         desirability.  Use more-typical names for apps.
67602         Add shell, coreutils, diffutils, grep, tar, gzip.
67603
67604 2007-04-04  Simon Josefsson  <simon@josefsson.org>
67605
67606         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
67607
67608 2007-04-04  Karl Berry  <karl@gnu.org>
67609
67610         * MODULES.html.sh (func_module): missing '.
67611
67612 2007-04-03  Bruno Haible  <bruno@clisp.org>
67613
67614         * modules/argmatch-tests (Makefile.am): New variable
67615         test_argmatch_LDADD.
67616         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
67617         * modules/array-list-tests (Makefile.am): New variable
67618         test_array_list_LDADD.
67619         * modules/array-oset-tests (Makefile.am): New variable
67620         test_array_oset_LDADD.
67621         * modules/avltree-list-tests (Makefile.am): New variable
67622         test_avltree_list_LDADD.
67623         * modules/avltree-oset-tests (Makefile.am): New variable
67624         test_avltree_oset_LDADD.
67625         * modules/avltreehash-list-tests (Makefile.am): New variable
67626         test_avltreehash_list_LDADD.
67627         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
67628         test_canonicalize_lgpl_LDADD.
67629         * modules/carray-list-tests (Makefile.am): New variable
67630         test_carray_list_LDADD.
67631         * modules/dirname-tests (Makefile.am): New variable
67632         test_dirname_LDADD.
67633         * modules/linked-list-tests (Makefile.am): New variable
67634         test_linked_list_LDADD.
67635         * modules/linkedhash-list-tests (Makefile.am): New variable
67636         test_linkedhash_list_LDADD.
67637         * modules/rbtree-list-tests (Makefile.am): New variable
67638         test_rbtree_list_LDADD.
67639         * modules/rbtree-oset-tests (Makefile.am): New variable
67640         test_rbtree_oset_LDADD.
67641         * modules/rbtreehash-list-tests (Makefile.am): New variable
67642         test_rbtreehash_list_LDADD.
67643         * modules/xvasprintf-tests (Makefile.am): New variable
67644         test_xvasprintf_LDADD.
67645         Reported by Eric Blake.
67646
67647 2007-04-03  Eric Blake  <ebb9@byu.net>
67648
67649         * DEPENDENCIES: Weaken m4 requirements.
67650
67651 2007-04-03  Bruno Haible  <bruno@clisp.org>
67652
67653         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67654         * modules/isnanl-tests (configure.ac): Likewise.
67655
67656 2007-04-03  Ben Pfaff  <blp@gnu.org>
67657
67658         * modules/iconv_open: Add $(srcdir)/ to source directory
67659         references in Makefile fragments that call gperf, to fix VPATH
67660         builds.
67661
67662 2007-04-03  Bruno Haible  <bruno@clisp.org>
67663
67664         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
67665         * lib/ldexpl.c: Undo last change.
67666
67667 2007-04-03  Bruno Haible  <bruno@clisp.org>
67668
67669         * modules/printf-frexpl (Depends-on): Undo last change.
67670         (Files): Add m4/ldexpl.m4.
67671
67672 2007-04-03  Bruno Haible  <bruno@clisp.org>
67673
67674         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
67675         * modules/isnanl (Link): New section.
67676
67677         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
67678         * modules/frexp (Link): New section.
67679
67680         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
67681         * modules/frexpl (Link): New section.
67682
67683         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
67684         * modules/ldexpl (Link): New section.
67685
67686 2007-04-03  Bruno Haible  <bruno@clisp.org>
67687
67688         * modules/TEMPLATE-EXTENDED: New file.
67689         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
67690
67691 2007-04-03  Bruno Haible  <bruno@clisp.org>
67692
67693         * DEPENDENCIES: New file.
67694         Suggested by Simon Josefsson.
67695
67696 2007-04-03  Bruno Haible  <bruno@clisp.org>
67697
67698         * doc/gnulib.texi: Escape @.
67699
67700 2007-04-03  James Youngman  <jay@gnu.org>
67701         and Paul Eggert  <eggert@cs.ucla.edu>
67702
67703         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
67704         birthtime on all systems that have birthtime, not just those which
67705         use st_birthtimensec rather than st_birthtim.  Putting zero in
67706         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
67707         that the birth time is not available for files on an NFS mount.
67708
67709 2007-04-03  Simon Josefsson  <simon@josefsson.org>
67710
67711         * modules/memxor: Move back from crypto/, suggested by Bruno.
67712         * modules/crypto/hmac-sha1: Fix memxor dependency.
67713
67714         * modules/crypto/gc: Moved from ../.
67715
67716 2007-04-02  Eric Blake  <ebb9@byu.net>
67717
67718         * lib/ldexpl.c (includes): Avoid libm.
67719
67720         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
67721
67722 2007-04-02  Bruno Haible  <bruno@clisp.org>
67723
67724         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
67725         on IRIX.
67726
67727 2007-04-02  Bruno Haible  <bruno@clisp.org>
67728
67729         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
67730         x86 or x86_64 platforms running MacOS X.
67731         Reported by Ryan Schmidt <@ryandesign.com>.
67732
67733 2007-04-02  Bruno Haible  <bruno@clisp.org>
67734
67735         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
67736         i386.
67737
67738 2007-04-01  Simon Josefsson  <simon@josefsson.org>
67739
67740         * modules/crypto/arcfour: Moved from ../.
67741         * modules/crypto/arcfour-tests: Moved from ../.
67742         * modules/crypto/arctwo: Moved from ../.
67743         * modules/crypto/arctwo-tests: Moved from ../.
67744         * modules/crypto/des: Moved from ../.
67745         * modules/crypto/des-tests: Moved from ../.
67746         * modules/crypto/gc-arcfour: Moved from ../.
67747         * modules/crypto/gc-arcfour-tests: Moved from ../.
67748         * modules/crypto/gc-arctwo: Moved from ../.
67749         * modules/crypto/gc-arctwo-tests: Moved from ../.
67750         * modules/crypto/gc-des: Moved from ../.
67751         * modules/crypto/gc-des-tests: Moved from ../.
67752         * modules/crypto/gc-hmac-md5: Moved from ../.
67753         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
67754         * modules/crypto/gc-hmac-sha1: Moved from ../.
67755         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
67756         * modules/crypto/gc-md2: Moved from ../.
67757         * modules/crypto/gc-md2-tests: Moved from ../.
67758         * modules/crypto/gc-md4: Moved from ../.
67759         * modules/crypto/gc-md4-tests: Moved from ../.
67760         * modules/crypto/gc-md5: Moved from ../.
67761         * modules/crypto/gc-md5-tests: Moved from ../.
67762         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
67763         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
67764         * modules/crypto/gc-random: Moved from ../.
67765         * modules/crypto/gc-rijndael: Moved from ../.
67766         * modules/crypto/gc-rijndael-tests: Moved from ../.
67767         * modules/crypto/gc-sha1: Moved from ../.
67768         * modules/crypto/gc-sha1-tests: Moved from ../.
67769         * modules/crypto/gc-tests: Moved from ../.
67770         * modules/crypto/hmac-md5: Moved from ../.
67771         * modules/crypto/hmac-md5-tests: Moved from ../.
67772         * modules/crypto/hmac-sha1: Moved from ../.
67773         * modules/crypto/hmac-sha1-tests: Moved from ../.
67774         * modules/crypto/md2: Moved from ../.
67775         * modules/crypto/md2-tests: Moved from ../.
67776         * modules/crypto/md4: Moved from ../.
67777         * modules/crypto/md4-tests: Moved from ../.
67778         * modules/crypto/md5: Moved from ../.
67779         * modules/crypto/md5-tests: Moved from ../.
67780         * modules/crypto/memxor: Moved from ../.
67781         * modules/crypto/rijndael: Moved from ../.
67782         * modules/crypto/rijndael-tests: Moved from ../.
67783         * modules/crypto/sha1: Moved from ../.
67784
67785 2007-03-30  James Youngman  <jay@gnu.org>
67786
67787         * tests/test-stat-time.c (prepare_test): use chmod() rather than
67788         rename() to change the ctime of a file (because ctime is unaffected
67789         by rename on jfs2 on AIX 5.1).
67790         (main): Start by doing cleanup, in case a previous run failed leaving
67791         test files behind.
67792
67793 2007-03-31  Bruno Haible  <bruno@clisp.org>
67794
67795         Support old proprietary implementations of iconv.
67796         * modules/iconv_open: New file.
67797         * lib/iconv_.h: New file.
67798         * m4/iconv_h.m4: New file.
67799         * lib/iconv_open.c: New file.
67800         * lib/iconv_open-aix.gperf: New file.
67801         * lib/iconv_open-hpux.gperf: New file.
67802         * lib/iconv_open-irix.gperf: New file.
67803         * lib/iconv_open-osf.gperf: New file.
67804         * m4/iconv_open.m4: New file.
67805         * modules/linebreak (Depends-on): Add iconv_open.
67806         * modules/striconv (Depends-on): Likewise.
67807         * modules/striconveh (Depends-on): Likewise.
67808         * modules/unicodeio (Depends-on): Likewise.
67809         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
67810         (iconv_t)(-1).
67811         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
67812         conversion if cd is (iconv_t)(-1).
67813         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
67814         is not possible.
67815
67816 2007-03-31  Bruno Haible  <bruno@clisp.org>
67817
67818         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67819         work on Solaris either. Protect also second use of "autodetect_jp".
67820
67821 2007-03-31  Bruno Haible  <bruno@clisp.org>
67822
67823         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
67824         the function is not present.
67825
67826 2007-03-31  Bruno Haible  <bruno@clisp.org>
67827
67828         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
67829         the function is not present.
67830
67831 2007-03-31  Bruno Haible  <bruno@clisp.org>
67832
67833         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
67834         a bug in HP-UX iconv_open().
67835
67836 2007-03-31  Bruno Haible  <bruno@clisp.org>
67837
67838         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
67839         (Mathematics <math.h>): New section, add fpieee.
67840         (Input/output <stdio.h>): Add fseterr.
67841         (Mathematics <math.h>): New section, add printf-frexp.
67842         (Container data structures): Add sublist.
67843         (Core language properties): Add fpucw, inline.
67844         (Functions for greatest-width integer types <inttypes.h>): Add
67845         imaxabs, imaxdiv, inttypes.
67846         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
67847         isnanl-nolibm, ldexp.
67848         (Mathematics <math.h>): New section, add printf-frexpl.
67849         (Support for systems lacking POSIX:2001): Add fprintf-posix,
67850         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
67851         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
67852         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
67853         (Unicode string functions): Add unistr/u*-mbtoucr.
67854         (Java): Add javacomp-script, javaexec-script.
67855         (C#): Add csharpcomp-script, csharpexec-script.
67856         (Support for building libraries and executables): Add havelib,
67857         relocatable-*.
67858         (Support for maintaining and releasing projects): Renamed from
67859         'Support for maintaining and release projects'. Add announce-gen.
67860
67861 2007-03-31  Bruno Haible  <bruno@clisp.org>
67862
67863         * README: Talk primarily about git.
67864         (git and CVS): Renamed from CVS.
67865         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
67866         gnulib is available through git.
67867         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
67868
67869 2007-03-30  Bruno Haible  <bruno@clisp.org>
67870
67871         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
67872         * lib/poll_.h: Likewise.
67873         * lib/stat_.h: Likewise.
67874         * lib/sys_time_.h: Likewise.
67875         * lib/sysexit_.h: Likewise.
67876         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
67877         * lib/stdbool_.h: Likewise.
67878         * lib/byteswap_.h: Add double-inclusion guard.
67879
67880 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
67881
67882         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
67883
67884 2007-03-30  Karl Berry  <karl@gnu.org>
67885
67886         * config/srclist-update: double space after USA in the license
67887         substitution, since that's how it's usually (?) written.
67888
67889 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
67890
67891         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
67892         reported by Bruno Haible.
67893
67894 2007-03-29  Bruno Haible  <bruno@clisp.org>
67895
67896         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
67897         a bug in AIX iconv().
67898
67899 2007-03-29  Bruno Haible  <bruno@clisp.org>
67900
67901         * modules/ldexpl-tests: New file.
67902         * tests/test-ldexpl.c: New file.
67903
67904 2007-03-29  Bruno Haible  <bruno@clisp.org>
67905
67906         * lib/ldexpl.c: Include fpucw.h.
67907         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
67908         multiplication.
67909         * modules/ldexpl (Depends-on): Add fpucw.
67910
67911 2007-03-29  Bruno Haible  <bruno@clisp.org>
67912
67913         * modules/ldexpl: New file.
67914         * m4/ldexpl.m4: New file.
67915         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
67916         set.
67917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
67918         REPLACE_LDEXPL.
67919         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
67920         REPLACE_LDEXPL.
67921         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67922         gl_FUNC_LDEXPL_WORKS.
67923         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
67924         * modules/mathl (Files): Remove lib/ldexpl.c.
67925         (Depends-on): Add ldexpl.
67926
67927 2007-03-29  Bruno Haible  <bruno@clisp.org>
67928
67929         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
67930
67931 2007-03-29  Bruno Haible  <bruno@clisp.org>
67932
67933         * tests/test-striconveh.c (main): Don't assume that a direct conversion
67934         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
67935         and possibly also HP-UX.
67936         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67937         work on AIX, IRIX, HP-UX, OSF/1.
67938         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
67939         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
67940         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
67941         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
67942         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
67943         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
67944
67945 2007-03-29  Bruno Haible  <bruno@clisp.org>
67946
67947         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
67948
67949 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67950
67951         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
67952         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
67953
67954 2007-03-29  Eric Blake  <ebb9@byu.net>
67955
67956         * lib/acl-internal.h: Remove redundant include.
67957         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
67958         Cygwin when a file is locked.
67959
67960 2007-03-29  Bruno Haible  <bruno@clisp.org>
67961
67962         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
67963         file.
67964         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
67965
67966 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67967
67968         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
67969         try to remove a parent directory if the child couldn't be removed
67970         (except for the first rmdir, which could fail because the child
67971         doesn't exist).  Problem reported by Jeff Blaine in
67972         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
67973
67974 2007-03-28  Bruno Haible  <bruno@clisp.org>
67975
67976         * lib/striconveh.c (utf8conv_carefully): New function.
67977         (mem_cd_iconveh_internal): Invoke it.
67978
67979 2007-03-28  Bruno Haible  <bruno@clisp.org>
67980
67981         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
67982         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
67983         input.
67984         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
67985         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
67986         unistr/u8-uctomb.
67987
67988 2007-03-28  Bruno Haible  <bruno@clisp.org>
67989
67990         * modules/unistr/u8-mbtoucr: New file.
67991         * lib/unistr/u8-mbtoucr.c: New file.
67992         * modules/unistr/u16-mbtoucr: New file.
67993         * lib/unistr/u16-mbtoucr.c: New file.
67994         * modules/unistr/u16-mbtoucr: New file.
67995         * lib/unistr/u16-mbtoucr.c: New file.
67996         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
67997
67998 2007-03-27  Simon Josefsson  <simon@josefsson.org>
67999             Bruno Haible  <bruno@clisp.org>
68000
68001         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
68002         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
68003         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
68004
68005         * m4/stdio_h.m4: Add stubs for vasprintf too.
68006
68007         * modules/stdio: Support vasprintf in sed command.
68008
68009         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68010         vasprintf.h.  Add stdio module indicator.
68011
68012         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68013         vasprintf.h.
68014
68015         * lib/vasprintf.h: File removed.
68016
68017         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68018         * lib/vasprintf.c: Ditto.
68019         * lib/xvasprintf.c: Ditto.
68020         * tests/test-vasprintf-posix.c: Ditto.
68021         * tests/test-vasprintf.c: Ditto.
68022
68023 2007-03-27  Bruno Haible  <bruno@clisp.org>
68024
68025         Make vasnprintf multithread-safe.
68026         * lib/vasnprintf.c (decimal_point_char): New function.
68027         (VASNPRINTF): Use it.
68028         Suggested by Simon Josefsson.
68029
68030 2007-03-27  Eric Blake  <ebb9@byu.net>
68031
68032         Support sub-second birthtime on cygwin.
68033         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68034         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68035         (get_stat_birthtime): Also work with st_birthtim.
68036
68037 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68038
68039         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68040         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68041         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68042         (get_stat_birthtime_ns): Simplify compile-time tests.
68043         (get_stat_birthtime): Change the API to look like
68044         get_stat_mtime etc., except return a negative tv_nsec on error.
68045         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68046         Don't check for "spare" fields.
68047         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68048         or for struct stat.st_birthtime, as these tests aren't used.
68049         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68050
68051 2007-03-27  Bruno Haible  <bruno@clisp.org>
68052
68053         * lib/stat-time.h: Include <sys/stat.h>.
68054
68055 2007-03-27  James Youngman  <jay@gnu.org>
68056
68057         * lib/stat-time.h (get_stat_birthtime): New function for
68058           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68059         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68060           and its variants.
68061         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68062         * modules/stat-time-test: New file.
68063         * tests/test-stat-time.c: New test, devised by Bruno Haible.
68064
68065 2007-03-26  Bruno Haible  <bruno@clisp.org>
68066
68067         Better support of signalling NaNs.
68068         * lib/atanl.c: Include isnanl.h.
68069         (atanl): Perform test for NaN at the beginning of the function and
68070         through a call to isnanl.
68071         * lib/cosl.c: Include isnanl.h.
68072         (cosl): Perform test for NaN at the beginning of the function and
68073         through a call to isnanl.
68074         * lib/ldexpl.c: Include isnanl.h.
68075         (ldexpl): Perform test for NaN through a call to isnanl.
68076         * lib/logl.c: Include isnanl.h.
68077         (logl): Perform test for NaN at the beginning of the function and
68078         through a call to isnanl.
68079         * lib/sinl.c: Include isnanl.h.
68080         (sinl): Perform test for NaN at the beginning of the function and
68081         through a call to isnanl.
68082         * lib/sqrtl.c: Include isnanl.h.
68083         (sqrtl): Perform test for NaN at the beginning of the function and
68084         through a call to isnanl.
68085         * lib/tanl.c: Include isnanl.h.
68086         (tanl): Perform test for NaN at the beginning of the function and
68087         through a call to isnanl.
68088         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
68089         * modules/mathl (Depends-on): Add isnanl.
68090
68091 2007-03-26  Eric Blake  <ebb9@byu.net>
68092
68093         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
68094         regression in logic sense of previous patch.
68095
68096 2007-03-26  Bruno Haible  <bruno@clisp.org>
68097
68098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
68099         unportable shell command "if ! ...".
68100         Reported by Ralf Wildenhues.
68101
68102 2007-03-25  Bruno Haible  <bruno@clisp.org>
68103
68104         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
68105         <sysexits.h> file, and only add EX_CONFIG.
68106         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
68107         absolute file name and whether it is sufficient. Substitute also
68108         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
68109         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
68110         ABSOLUTE_SYSEXITS_H into sysexits.h.
68111
68112 2007-03-25  Bruno Haible  <bruno@clisp.org>
68113
68114         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
68115         hints is NULL.
68116
68117 2007-03-25  Bruno Haible  <bruno@clisp.org>
68118
68119         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
68120         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
68121
68122 2007-03-25  Bruno Haible  <bruno@clisp.org>
68123
68124         * lib/vasnprintf.c: Include langinfo.h.
68125         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
68126         multithread-safe.
68127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
68128         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
68129         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68130         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68131         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68132         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68133         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68134         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
68135         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68136         Reported by Simon Josefsson.
68137
68138 2007-03-25  Bruno Haible  <bruno@clisp.org>
68139
68140         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
68141         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
68142         * modules/vasnprintf (Depends-on): Add stdint.
68143
68144 2007-03-25  Bruno Haible  <bruno@clisp.org>
68145
68146         * modules/fpieee: New file.
68147         * m4/fpieee.m4: New file.
68148         * modules/isnan-nolibm (Depends-on): Add fpieee.
68149         * modules/isnanl-nolibm (Depends-on): Add fpieee.
68150         * modules/isnanl (Depends-on): Add fpieee.
68151
68152 2007-03-25  Bruno Haible  <bruno@clisp.org>
68153
68154         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
68155
68156 2007-03-25  Bruno Haible  <bruno@clisp.org>
68157
68158         Avoid test failures on IRIX 6.5.
68159         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
68160         (main): Use it.
68161         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
68162         macros.
68163         (main): Use them.
68164
68165 2007-03-25  Bruno Haible  <bruno@clisp.org>
68166
68167         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
68168         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
68169         exists but doesn't work.
68170         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
68171         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
68172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
68173         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
68174         math.h.
68175
68176 2007-03-25  Bruno Haible  <bruno@clisp.org>
68177
68178         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
68179         returns inf. Needed on IRIX 6.5.
68180
68181 2007-03-25  Bruno Haible  <bruno@clisp.org>
68182
68183         * tests/test-frexpl.c: Include isnanl-nolibm.h.
68184         (main): Use isnanl instead of x != x idiom.
68185         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
68186
68187         * tests/test-frexp.c: Include isnan.h.
68188         (main): Use isnan instead of x != x idiom.
68189         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
68190
68191 2007-03-25  Bruno Haible  <bruno@clisp.org>
68192
68193         * tests/test-frexp.c (NaN): New function/macro.
68194         (main): Use it instead of 0.0 / 0.0.
68195         * tests/test-isnan.c (NaN): New function/macro.
68196         (main): Use it instead of 0.0 / 0.0.
68197         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
68198         (test_function): Use it instead of 0.0 / 0.0.
68199         * tests/test-vasprintf-posix.c (NaN): New function/macro.
68200         (test_function): Use it instead of 0.0 / 0.0.
68201         * tests/test-snprintf-posix.h (NaN): New function/macro.
68202         (test_function): Use it instead of 0.0 / 0.0.
68203         * tests/test-sprintf-posix.h (NaN): New function/macro.
68204         (test_function): Use it instead of 0.0 / 0.0.
68205         * tests/test-fprintf-posix.h (NaN): New function/macro.
68206         (test_function): Use it instead of 0.0 / 0.0.
68207         * tests/test-printf-posix.h (NaN): New function/macro.
68208         (test_function): Use it instead of 0.0 / 0.0.
68209
68210         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
68211
68212 2007-03-25  Bruno Haible  <bruno@clisp.org>
68213
68214         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
68215
68216 2007-03-25  Bruno Haible  <bruno@clisp.org>
68217
68218         * lib/regexec.c (merge_state_with_log): Make static.
68219
68220 2007-03-25  Bruno Haible  <bruno@clisp.org>
68221
68222         * lib/trigl.c (kernel_rem_pio2): Make static.
68223
68224 2007-03-25  Bruno Haible  <bruno@clisp.org>
68225
68226         * lib/sincosl.c (sincosl_table): Make static.
68227
68228 2007-03-25  Bruno Haible  <bruno@clisp.org>
68229
68230         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
68231         if the compiler does not support C99.
68232
68233 2007-03-25  Bruno Haible  <bruno@clisp.org>
68234
68235         * modules/time (Makefile.am): Ensure all rule action lines start with a
68236         tab.
68237
68238 2007-03-24  Bruno Haible  <bruno@clisp.org>
68239
68240         * modules/tsearch-tests: New file.
68241         * tests/test-tsearch.sh: New file.
68242         * tests/test-tsearch.c: New file, mostly copied from glibc.
68243
68244         * modules/search-tests: New file.
68245         * tests/test-search.c: New file.
68246
68247         * modules/search: New file.
68248         * lib/search_.h: New file, incorporating lib/tsearch.h.
68249         * m4/search_h.m4: New file.
68250         * lib/tsearch.h: Remove file.
68251         * lib/tsearch.c: Include search.h instead of tsearch.h.
68252         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
68253         HAVE_TSEARCH.
68254         * modules/tsearch (Files): Remove lib/tsearch.h.
68255         (Depends-on): Add search.
68256         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
68257         (Include): Change tsearch.h into search.h.
68258
68259 2007-03-24  Bruno Haible  <bruno@clisp.org>
68260
68261         * modules/fpucw: New file.
68262         * lib/fpucw.h: New file.
68263         * lib/frexp.c: Include fpucw.h.
68264         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68265         (FUNC): Use them.
68266         * lib/printf-frexp.c: Include fpucw.h.
68267         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68268         (FUNC): Use them.
68269         * lib/vasnprintf.c: Include fpucw.h.
68270         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
68271         'long double' calculations.
68272         * tests/test-frexpl.c: Include fpucw.h.
68273         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68274         * tests/test-printf-frexpl.c: Include fpucw.h.
68275         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68276         * modules/frexpl (Depends-on): Add fpucw.
68277         * modules/printf-frexpl (Depends-on): Likewise.
68278         * modules/fprintf-posix (Depends-on): Likewise.
68279         * modules/snprintf-posix (Depends-on): Likewise.
68280         * modules/sprintf-posix (Depends-on): Likewise.
68281         * modules/vasnprintf-posix (Depends-on): Likewise.
68282         * modules/vasprintf-posix (Depends-on): Likewise.
68283         * modules/vfprintf-posix (Depends-on): Likewise.
68284         * modules/vsnprintf-posix (Depends-on): Likewise.
68285         * modules/vsprintf-posix (Depends-on): Likewise.
68286         * modules/frexpl-tests (Depends-on): Likewise.
68287         * modules/printf-frexpl-tests (Depends-on): Likewise.
68288
68289 2007-03-24  Bruno Haible  <bruno@clisp.org>
68290
68291         * lib/float+.h: New file.
68292         * lib/isnan.c: Include float+.h.
68293         (SIZE): New macro.
68294         (FUNC): Compare only SIZE bytes of the value.
68295         * lib/vasnprintf.c: Include float+.h.
68296         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
68297         SIZEOF_LDBL or SIZEOF_DBL bytes.
68298         * modules/isnan-nolibm (Files): Add lib/float+.h.
68299         * modules/isnanl-nolibm (Files): Add lib/float+.h.
68300         * modules/isnanl (Files): Add lib/float+.h.
68301         * modules/vasnprintf (Files): Add lib/float+.h.
68302
68303 2007-03-24  Bruno Haible  <bruno@clisp.org>
68304
68305         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
68306         include isnanl-nolibm.h.
68307
68308 2007-03-24  Bruno Haible  <bruno@clisp.org>
68309
68310         * tests/test-read-file.c (main): Don't produce spurious output for
68311         expected situations. Make the test fail if it encountered unexpected
68312         results.
68313
68314 2007-03-24  Bruno Haible  <bruno@clisp.org>
68315
68316         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
68317         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
68318
68319 2007-03-24  Bruno Haible  <bruno@clisp.org>
68320
68321         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
68322
68323 2007-03-24  Bruno Haible  <bruno@clisp.org>
68324
68325         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
68326         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
68327
68328         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
68329         * modules/utf8-ucs4: Turn into a symbolic link to module
68330         unistr/u8-mbtouc.
68331
68332         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
68333         utf8-ucs4-unsafe.
68334         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
68335         unistr/u8-mbtouc-unsafe.
68336
68337         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
68338         * modules/utf16-ucs4: Turn into a symbolic link to module
68339         unistr/u16-mbtouc.
68340
68341         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
68342         utf16-ucs4-unsafe.
68343         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
68344         unistr/u16-mbtouc-unsafe.
68345
68346         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
68347         * modules/ucs4-utf8: Turn into a symbolic link to module
68348         unistr/u8-ubtomb.
68349
68350         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
68351         * modules/ucs4-utf16: Turn into a symbolic link to module
68352         unistr/u16-ubtomb.
68353
68354 2007-03-24  Bruno Haible  <bruno@clisp.org>
68355
68356         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
68357         Enable the function only if HAVE_INLINE.
68358         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
68359         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68360         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
68361         Enable the function only if HAVE_INLINE.
68362         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
68363         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68364         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
68365         Enable the function only if HAVE_INLINE.
68366         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
68367         Enable the function only if HAVE_INLINE.
68368         * modules/utf8-ucs4: Update.
68369         * modules/utf8-ucs4-unsafe: Update.
68370         * modules/utf16-ucs4: Update.
68371         * modules/utf16-ucs4-unsafe: Update.
68372         * modules/ucs4-utf8: Update.
68373         * modules/ucs4-utf16: Update.
68374
68375 2007-03-24  Bruno Haible  <bruno@clisp.org>
68376
68377         * lib/utf8-ucs4.h: Remove file.
68378         * lib/utf8-ucs4-unsafe.h: Remove file.
68379         * lib/utf16-ucs4.h: Remove file.
68380         * lib/utf16-ucs4-unsafe.h: Remove file.
68381         * lib/ucs4-utf8.h: Remove file.
68382         * lib/ucs4-utf16.h: Remove file.
68383         * lib/unistr.h: Include their previous contents.
68384         * m4/utf-ucs4.m4: Remove file.
68385         * m4/ucs4-utf.m4: Remove file.
68386         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
68387         (Depends-on): Add unistr/base.
68388         (configure.ac): Remove gl_UTF_UCS4.
68389         (Makefile.am): Update.
68390         (Include): Change to unistr.h.
68391         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
68392         (Depends-on): Add unistr/base.
68393         (configure.ac): Remove gl_UTF_UCS4.
68394         (Makefile.am): Update.
68395         (Include): Change to unistr.h.
68396         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
68397         (Depends-on): Add unistr/base.
68398         (configure.ac): Remove gl_UTF_UCS4.
68399         (Makefile.am): Update.
68400         (Include): Change to unistr.h.
68401         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
68402         (Depends-on): Add unistr/base.
68403         (configure.ac): Remove gl_UTF_UCS4.
68404         (Makefile.am): Update.
68405         (Include): Change to unistr.h.
68406         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
68407         (Depends-on): Add unistr/base.
68408         (configure.ac): Remove gl_UCS4_UTF.
68409         (Makefile.am): Update.
68410         (Include): Change to unistr.h.
68411         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
68412         (Depends-on): Add unistr/base.
68413         (configure.ac): Remove gl_UCS4_UTF.
68414         (Makefile.am): Update.
68415         (Include): Change to unistr.h.
68416         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
68417         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
68418         utf8-ucs4-unsafe.h.
68419         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
68420         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
68421         utf16-ucs4-unsafe.h.
68422         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
68423         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
68424         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
68425         * lib/unistr/u8-strchr.c: Likewise.
68426         * lib/unistr/u8-strrchr.c: Likewise.
68427         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
68428         * lib/unistr/u16-strchr.c: Likewise.
68429         * lib/unistr/u16-strrchr.c: Likewise.
68430         * lib/striconveh.c: Update.
68431         * lib/linebreak.c: Update.
68432
68433 2007-03-24  Bruno Haible  <bruno@clisp.org>
68434
68435         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68436         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68437
68438 2007-03-22  Bruno Haible  <bruno@clisp.org>
68439
68440         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68441
68442 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68443
68444         * MODULES.html.sh (File system functions): New module write-any-file.
68445         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68446         * m4/write-any-file.m4: New files.
68447
68448 2007-03-23  Eric Blake  <ebb9@byu.net>
68449
68450         * gnulib-tool: Rearrange space-tab sequences, since some editors
68451         like to eat them.
68452
68453 2007-03-23  Eric Blake  <ebb9@byu.net>
68454
68455         * lib/version-etc.c (version_etc_va): Update license wording to
68456         be more concise.  Recommended by Richard Stallman.
68457
68458 2007-03-22  Bruno Haible  <bruno@clisp.org>
68459
68460         * lib/poll.c (MSG_PEEK): New fallback definition.
68461
68462 2007-03-22  Bruno Haible  <bruno@clisp.org>
68463
68464         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68465         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68466         (main): Update.
68467         Fixes a compilation error on BeOS.
68468
68469 2007-03-22  Bruno Haible  <bruno@clisp.org>
68470
68471         * modules/frexpl-tests: New file.
68472         * tests/test-frexpl.c: New file.
68473
68474         * modules/frexpl: New file.
68475         * m4/frexpl.m4: New file.
68476         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68477         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68479         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68480         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68481         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68482
68483 2007-03-22  Bruno Haible  <bruno@clisp.org>
68484
68485         * lib/frexpl.c: Share code with lib/frexp.c.
68486         * modules/mathl (Files): Add lib/frexp.c.
68487         (Depends-on): Add isnanl-nolibm.
68488
68489 2007-03-22  Bruno Haible  <bruno@clisp.org>
68490
68491         * modules/printf-frexp (Files): Add m4/frexp.m4.
68492         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68493         only if the found frexp function actually works.
68494
68495 2007-03-22  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/frexp.c: Remove older implementation that uses divisions.
68498
68499 2007-03-21  Bruno Haible  <bruno@clisp.org>
68500
68501         * modules/frexp-tests: New file.
68502         * tests/test-frexp.c: New file.
68503
68504         * modules/frexp: New file.
68505         * lib/frexp.c: New file.
68506         * m4/frexp.m4: New file.
68507         * lib/math_.h (frexp): New declaration.
68508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68509         REPLACE_FREXP.
68510         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68511
68512 2007-03-21  Bruno Haible  <bruno@clisp.org>
68513
68514         * modules/isnanl-tests: New file.
68515         * tests/test-isnanl.c: New file.
68516
68517         * modules/isnanl: New file.
68518         * lib/isnanl.h: New file.
68519         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68520         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68521         gl_FUNC_ISNANL_WORKS.
68522         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68523         New macros.
68524
68525 2007-03-21  Bruno Haible  <bruno@clisp.org>
68526
68527         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68528         lib/isnanl.h.
68529         (Include): Update.
68530         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68531         * lib/vasnprintf.c: Update.
68532         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68533         tests/test-isnanl.h, remove tests/test-isnanl.c.
68534         (Makefile.am): Update.
68535         * tests/test-isnanl-nolibm.c: New file.
68536         * tests/test-isnanl.h: New file.
68537         * tests/test-isnanl.c: Remove file.
68538
68539 2007-03-21  Jim Meyering  <jim@meyering.net>
68540
68541         When trying to open ".", treat ESTALE like EACCES.
68542         * lib/savewd.c (savewd_save): Resort to forking not just upon
68543         failure with EACCES, but also when errno is ESTALE.
68544
68545 2007-03-20  Bruno Haible  <bruno@clisp.org>
68546
68547         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68548         Needed on AIX 5.1. Reported by Matthew Woehlke.
68549
68550 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68551
68552         Suggestions by Bruno Haible:
68553         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68554         our own.
68555         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68556         * modules/acl (Depends-on): Add gettext.
68557
68558 2007-03-19  Bruno Haible  <bruno@clisp.org>
68559
68560         * modules/iconvme: Remove file.
68561         * lib/iconvme.h: Remove file.
68562         * lib/iconvme.c: Remove file.
68563         * m4/iconvme.m4: Remove file.
68564
68565 2007-03-19  Bruno Haible  <bruno@clisp.org>
68566
68567         * doc/relocatable-maint.texi: Break long shell script line.
68568         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68569
68570 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68571
68572         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68573         handle file_has_acl.
68574         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68575         * lib/acl.c: Move header inclusions and related macro defns into
68576         lib/acl-internal.h.
68577         (S_ISLNK): Remove defn, since that's now done for us.
68578         (file_has_acl): Move to lib/file-has-acl.c.
68579         Call acl_trivial if available.  This is the crucial part of the fix.
68580         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68581         shared within the library.  Rewrite a bit, partly to make it compatible
68582         with the GNU coding style.
68583         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68584         Remove unnecessary double-quotes.
68585         Don't test for acl_to_text; the build will catch that.
68586         Replace acl_entries if it doesn't exist and it is needed.
68587         Check for -lsec and acl_trivial (as used on Solaris 10).
68588         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68589         lib/file-has-acl.c.
68590         (Depends-on): Add sys_stat, for S_ISLNK.
68591
68592 2007-03-19  Ben Pfaff  <blp@gnu.org>
68593
68594         * doc/gnulib.texi: Fix typos.
68595         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68596
68597 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68598
68599         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68600         If size is zero here, buf must be zero.
68601
68602 2007-03-19  Simon Josefsson  <simon@josefsson.org>
68603
68604         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
68605         <bruno@clisp.org>.
68606
68607 2007-03-18  Bruno Haible  <bruno@clisp.org>
68608
68609         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
68610         Suggested by Eric Blake.
68611
68612 2007-03-18  Ben Pfaff  <blp@gnu.org>
68613
68614         * doc/relocatable.texi: Recommend using as prefix a directory
68615         that does not exist and will never be created.  Based on
68616         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
68617         and others.
68618
68619 2007-03-17  Bruno Haible  <bruno@clisp.org>
68620
68621         * lib/fchownat.c: Include lchown.h.
68622
68623 2007-03-17  Bruno Haible  <bruno@clisp.org>
68624
68625         Fix endless loop when the given allocated size was > INT_MAX.
68626         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
68627         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
68628         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
68629         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
68630         * lib/sprintf.c (sprintf): Likewise.
68631
68632 2007-03-17  Bruno Haible  <bruno@clisp.org>
68633
68634         * tests/test-argp-2.sh (func_compare): Output a context diff.
68635
68636 2007-03-17  Bruno Haible  <bruno@clisp.org>
68637
68638         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
68639         locale's decimal-point character.
68640
68641 2007-03-17  Bruno Haible  <bruno@clisp.org>
68642
68643         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68644         before comparing it. Needed because on some platforms (e.g. x86) a
68645         'long double' occupies less bytes than sizeof (long double).
68646
68647 2007-03-17  Bruno Haible  <bruno@clisp.org>
68648
68649         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68650         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68651         * tests/test-getaddrinfo.c (simple): Likewise.
68652         * tests/test-read-file.c (main): Likewise.
68653
68654 2007-03-17  Bruno Haible  <bruno@clisp.org>
68655
68656         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68657
68658 2007-03-17  Bruno Haible  <bruno@clisp.org>
68659
68660         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68661         unused variable.
68662
68663 2007-03-17  Bruno Haible  <bruno@clisp.org>
68664
68665         * tests/test-c-strcasecmp.c: Include c-strcase.h.
68666         * tests/test-c-strncasecmp.c: Likewise.
68667
68668 2007-03-17  Bruno Haible  <bruno@clisp.org>
68669
68670         * modules/stdlib (Depends-on): Add unistd.
68671         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
68672         Needed for MacOS X 10.3.
68673
68674 2007-03-17  Bruno Haible  <bruno@clisp.org>
68675
68676         * lib/unistr/u-strdup.h: Include <stdlib.h>.
68677
68678 2007-03-17  Bruno Haible  <bruno@clisp.org>
68679
68680         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
68681
68682 2007-03-17  Bruno Haible  <bruno@clisp.org>
68683
68684         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
68685         to reflect files copied from gnulib (with or without modifications).
68686         Suggested by Jim Meyering.
68687
68688 2007-03-17  Eric Blake  <ebb9@byu.net>
68689
68690         * NEWS: Document stdlib change from 2007-02-18.
68691
68692 2007-03-17  Jim Meyering  <jim@meyering.net>
68693
68694         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
68695         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
68696         someone uses a name containing shell meta-characters.
68697         Reported by Alfred M. Szmidt.
68698
68699         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
68700
68701 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68702
68703         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
68704         and copy gettext configuration files only if configure.ac contains
68705         a use of AM_GNU_GETTEXT_VERSION.
68706
68707 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68708
68709         * build-aux/bootstrap (gnulib_name): New variable.
68710         (gnulib_tool_options): Use it.
68711
68712 2007-03-13  Simon Josefsson  <simon@josefsson.org>
68713
68714         * tests/test-des.c: Use new namespace.
68715
68716 2007-03-15  Bruno Haible  <bruno@clisp.org>
68717
68718         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
68719         Reported by James Youngman <jay@gnu.org>.
68720
68721 2007-03-15  Bruno Haible  <bruno@clisp.org>
68722
68723         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
68724         declared prototype. Needed with cc on OSF/1 5.1.
68725
68726 2007-03-15  Bruno Haible  <bruno@clisp.org>
68727
68728         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
68729         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
68730         (struct gl_list_implementation): Add dispose_fn argument to the
68731         'create_empty', 'create' methods.
68732         (struct gl_list_impl_base): Add field 'dispose_fn'.
68733         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
68734         argument.
68735         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
68736         dispose_fn argument.
68737         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
68738         dispose_fn on the dropped values.
68739         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
68740         dispose_fn argument.
68741         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
68742         dropped values.
68743         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
68744         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68745         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
68746         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68747         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
68748         argument.
68749         (gl_tree_list_free): Call dispose_fn on the dropped values.
68750         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
68751         the dropped values.
68752         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68753         Add dispose_fn argument.
68754         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
68755         Call dispose_fn on the dropped values.
68756         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
68757         Add dispose_fn argument.
68758         (gl_sublist_create): Initialize the 'dispose_fn' field.
68759         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
68760         * tests/test-array_list.c (main): Update.
68761         * tests/test-carray_list.c (main): Update.
68762         * tests/test-avltree_list.c (main): Update.
68763         * tests/test-rbtree_list.c (main): Update.
68764         * tests/test-avltreehash_list.c (main): Update.
68765         * tests/test-rbtreehash_list.c (main): Update.
68766         * tests/test-linked_list.c (main): Update.
68767         * tests/test-linkedhash_list.c (main): Update.
68768         * tests/test-array_oset.c (main): Update.
68769
68770 2007-03-15  Bruno Haible  <bruno@clisp.org>
68771
68772         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
68773         (gl_oset_create_empty): Add dispose_fn argument.
68774         (struct gl_oset_implementation): Add dispose_fn argument to
68775         'create_empty' method.
68776         (struct gl_oset_impl_base): Add dispose_fn field.
68777         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
68778         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
68779         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
68780         values.
68781         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
68782         (gl_tree_oset_free): Call dispose_fn on the dropped values.
68783         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68784         dropped value.
68785         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68786         dropped value.
68787         * tests/test-array_oset.c (main): Update.
68788         * tests/test-avltree_oset.c (main): Update.
68789         * tests/test-rbtree_oset.c (main): Update.
68790         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
68791
68792 2007-03-13  Bruno Haible  <bruno@clisp.org>
68793
68794         * tests/test-stdbool.c (i): Update after last patch.
68795
68796 2007-03-12  Bruno Haible  <bruno@clisp.org>
68797
68798         * lib/quotearg.c: Include <wctype.h> early, before the definition of
68799         the iswprint macro. Needed on Solaris 2.5.1.
68800
68801 2007-03-12  Bruno Haible  <bruno@clisp.org>
68802
68803         * tests/test-printf-frexp.c (main): Declare x as volatile.
68804
68805 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68806
68807         * doc/gnulib.texi (Build robot for gnulib): New section.
68808
68809 2007-03-12  Jim Meyering  <jim@meyering.net>
68810
68811         * build-aux/bootstrap: New file.
68812         * build-aux/bootstrap.conf: New file, from coreutils.
68813
68814 2007-03-11  Bruno Haible  <bruno@clisp.org>
68815
68816         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
68817
68818 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68819
68820         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
68821         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
68822         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
68823
68824 2007-03-11  Bruno Haible  <bruno@clisp.org>
68825
68826         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
68827         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
68828
68829 2007-03-11  Bruno Haible  <bruno@clisp.org>
68830
68831         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
68832         formula. Needed for SunPRO C 5.0.
68833
68834 2007-03-11  Bruno Haible  <bruno@clisp.org>
68835
68836         * modules/long-options (Depends-on): Add getopt.
68837
68838 2007-03-11  Bruno Haible  <bruno@clisp.org>
68839
68840         * modules/modechange (Depends-on): Add stdbool.
68841
68842 2007-03-11  Bruno Haible  <bruno@clisp.org>
68843
68844         * modules/i-ring (Depends-on): Add stdbool.
68845
68846 2007-03-11  Bruno Haible  <bruno@clisp.org>
68847
68848         * modules/gc-des (Depends-on): Add stdbool.
68849
68850 2007-03-11  Bruno Haible  <bruno@clisp.org>
68851
68852         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
68853
68854 2007-03-11  Bruno Haible  <bruno@clisp.org>
68855
68856         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
68857
68858 2007-03-11  Bruno Haible  <bruno@clisp.org>
68859
68860         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
68861
68862 2007-03-11  Bruno Haible  <bruno@clisp.org>
68863
68864         * lib/vasnprintf.c (sprintf): Undefine.
68865
68866 2007-03-11  Bruno Haible  <bruno@clisp.org>
68867
68868         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
68869         initializers in SunPRO C and Compaq C compilers.
68870
68871 2007-03-11  Bruno Haible  <bruno@clisp.org>
68872
68873         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
68874         decrementing code ANSI C compliant.
68875
68876 2007-03-11  Bruno Haible  <bruno@clisp.org>
68877
68878         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
68879         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
68880
68881 2007-03-11  Bruno Haible  <bruno@clisp.org>
68882
68883         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
68884         <stdbool.h> substitute doesn't pass.
68885
68886 2007-03-11  Bruno Haible  <bruno@clisp.org>
68887
68888         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
68889
68890 2007-03-11  Bruno Haible  <bruno@clisp.org>
68891
68892         * gnulib-tool (func_create_megatestdir): Create also an autobuild
68893         script, for submission to autobuild.josefsson.org.
68894
68895 2007-03-10  Bruno Haible  <bruno@clisp.org>
68896
68897         * modules/canonicalize-lgpl-tests: New file.
68898         * tests/test-canonicalize-lgpl.sh: New file.
68899         * tests/test-canonicalize-lgpl.c: New file.
68900
68901         * modules/c-strcase-tests: New file.
68902         * tests/test-c-strcase.sh: New file.
68903         * tests/test-c-strcasecmp.c: New file.
68904         * tests/test-c-strncasecmp.c: New file.
68905
68906         * modules/atexit-tests: New file.
68907         * tests/test-atexit.sh: New file.
68908         * tests/test-atexit.c: New file.
68909
68910 2007-03-10  Bruno Haible  <bruno@clisp.org>
68911
68912         * tests/test-binary-io.sh: Use temporary filenames that are not so
68913         likely to clash with those of other tests (in a parallel make).
68914         * tests/test-binary-io.c: Likewise.
68915
68916 2007-03-10  Bruno Haible  <bruno@clisp.org>
68917
68918         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
68919         fallback; use #error instead.
68920         Suggested by Simon Josefsson.
68921
68922 2007-03-10  Bruno Haible  <bruno@clisp.org>
68923
68924         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
68925         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
68926         first and the last.
68927
68928 2007-03-10  Bruno Haible  <bruno@clisp.org>
68929
68930         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
68931
68932 2007-03-10  Bruno Haible  <bruno@clisp.org>
68933
68934         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
68935         "make distcheck".
68936         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
68937         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
68938         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
68939
68940 2007-03-10  Bruno Haible  <bruno@clisp.org>
68941
68942         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
68943         variable.
68944         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
68945         variable.
68946
68947 2007-03-09  Eric Blake  <ebb9@byu.net>
68948         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
68949
68950         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
68951         types are not being provided by gnulib.
68952         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
68953         types are supported.
68954
68955 2007-03-10  Bruno Haible  <bruno@clisp.org>
68956
68957         * lib/stdio_.h (__attribute__): New macro.
68958         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
68959         vsprintf): Specify __attribute__ __format__ for GCC.
68960         Suggested by Eric Blake.
68961
68962 2007-03-09  Bruno Haible  <bruno@clisp.org>
68963
68964         * modules/printf-posix-tests: New file.
68965         * tests/test-printf-posix.sh: New file.
68966         * tests/test-printf-posix.c: New file.
68967
68968         * modules/printf-posix: New file.
68969         * lib/printf.c: New file.
68970         * m4/printf-posix-rpl.m4: New file.
68971         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
68972         REPLACE_PRINTF.
68973         * lib/stdio_.h (printf): New declaration.
68974         (format, __format__, ____printf____, ____scanf____, ____strftime____,
68975         ____strfmon____): New macros.
68976         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
68977         REPLACE_PRINTF.
68978
68979 2007-03-09  Bruno Haible  <bruno@clisp.org>
68980
68981         * tests/test-vasnprintf-posix2.sh: New file.
68982         * tests/test-vasnprintf-posix2.c: New file.
68983         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
68984         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68985         (Makefile.am): Activate test-vasnprintf-posix2.sh.
68986
68987         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
68988         a locale dependent decimal point, rather than always '.'.
68989
68990 2007-03-09  Eric Blake  <ebb9@byu.net>
68991
68992         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
68993         spite of platforms like Tandem/NSK that define it to -1.
68994
68995 2007-03-08  Bruno Haible  <bruno@clisp.org>
68996
68997         * modules/vprintf-posix-tests: New file.
68998         * tests/test-vprintf-posix.sh: New file.
68999         * tests/test-vprintf-posix.c: New file.
69000         * tests/test-printf-posix.h: New file.
69001
69002         * modules/vprintf-posix: New file.
69003         * lib/vprintf.c: New file.
69004         * m4/vprintf-posix.m4: New file.
69005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
69006         REPLACE_VPRINTF.
69007         * lib/stdio_.h (vprintf): New declaration.
69008         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69009         REPLACE_VPRINTF.
69010
69011 2007-03-08  Bruno Haible  <bruno@clisp.org>
69012
69013         * modules/fprintf-posix-tests: New file.
69014         * tests/test-fprintf-posix.sh: New file.
69015         * tests/test-fprintf-posix.c: New file.
69016
69017         * modules/fprintf-posix: New file.
69018         * lib/fprintf.c: New file.
69019         * m4/fprintf-posix.m4: New file.
69020         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69021         REPLACE_FPRINTF.
69022         * lib/stdio_.h (fprintf): New declaration.
69023         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69024         REPLACE_FPRINTF.
69025
69026 2007-03-08  Bruno Haible  <bruno@clisp.org>
69027
69028         * modules/vfprintf-posix-tests: New file.
69029         * tests/test-vfprintf-posix.sh: New file.
69030         * tests/test-vfprintf-posix.c: New file.
69031         * tests/test-fprintf-posix.h: New file.
69032         * tests/test-fprintf-posix.out: New file.
69033
69034         * modules/vfprintf-posix: New file.
69035         * lib/vfprintf.c: New file.
69036         * m4/vfprintf-posix.m4: New file.
69037         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69038         REPLACE_VFPRINTF.
69039         * lib/stdio_.h (vfprintf): New declaration.
69040         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69041         REPLACE_VFPRINTF.
69042
69043 2007-03-08  Bruno Haible  <bruno@clisp.org>
69044
69045         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69046
69047 2007-03-08  Bruno Haible  <bruno@clisp.org>
69048
69049         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69050         instead of 'expr' invocations.
69051         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69052         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69053         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69054         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69055         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69056         Suggested by Paul Eggert.
69057
69058 2007-03-08  Bruno Haible  <bruno@clisp.org>
69059
69060         * modules/fseterr-tests: New file.
69061         * tests/test-fseterr.c: New file.
69062
69063         * modules/fseterr: New file.
69064         * lib/fseterr.h: New file.
69065         * lib/fseterr.c: New file.
69066
69067 2007-03-08  Bruno Haible  <bruno@clisp.org>
69068
69069         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
69070         * lib/getopt_.h: Likewise.
69071         * lib/mbswidth.h: Likewise.
69072         * lib/setenv.h: Likewise.
69073         * lib/vasnprintf.h: Likewise.
69074         * lib/vasprintf.h: Likewise.
69075         * lib/verror.h: Likewise.
69076         * lib/xsetenv.h: Likewise.
69077         * lib/xvasprintf.h: Likewise.
69078
69079 2007-03-08  Jim Meyering  <jim@meyering.net>
69080
69081         * users.txt: Add parted.
69082
69083         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
69084
69085 2007-03-07  Bruno Haible  <bruno@clisp.org>
69086
69087         * m4/printf.m4: Make the shell script snippets copy&pastable.
69088
69089 2007-03-02  Bruno Haible  <bruno@clisp.org>
69090
69091         * lib/netinet_in_.h: New file.
69092         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
69093         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
69094         * modules/netinet_in (Files): Add lib/netinet_in_.h.
69095         (Depends-on): Add absolute-header.
69096         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
69097         into netinet/in.h.
69098
69099 2007-03-03  Bruno Haible  <bruno@clisp.org>
69100
69101         * lib/sys_select_.h: New file.
69102         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
69103         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
69104         * modules/sys_select (Files): Add lib/sys_select_.h.
69105         (Depends-on): Add absolute-header.
69106         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
69107         into sys/select.h.
69108
69109 2007-03-02  Bruno Haible  <bruno@clisp.org>
69110
69111         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
69112         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
69113         values.
69114         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69115         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
69116         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
69117         * modules/sys_socket (Depends-on): Add absolute-header.
69118         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
69119         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
69120         (Include): Remove requirement of inclusion of <sys/types.h>.
69121
69122 2007-03-02  Bruno Haible  <bruno@clisp.org>
69123
69124         * lib/byteswap_.h (bswap_32): Fix formula.
69125
69126 2007-03-06  Bruno Haible  <bruno@clisp.org>
69127
69128         * modules/sprintf-posix-tests: New file.
69129         * tests/test-sprintf-posix.c: New file.
69130
69131         * modules/sprintf-posix: New file.
69132         * lib/sprintf.c: New file.
69133         * m4/sprintf-posix.m4: New file.
69134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
69135         REPLACE_SPRINTF.
69136         * lib/stdio_.h (sprintf): New declaration.
69137         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
69138         REPLACE_SPRINTF.
69139
69140 2007-03-06  Bruno Haible  <bruno@clisp.org>
69141
69142         * modules/vsprintf-posix-tests: New file.
69143         * tests/test-vsprintf-posix.c: New file.
69144         * tests/test-sprintf-posix.h: New file.
69145
69146         * modules/vsprintf-posix: New file.
69147         * lib/vsprintf.c: New file.
69148         * m4/vsprintf-posix.m4: New file.
69149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
69150         REPLACE_VSPRINTF.
69151         * lib/stdio_.h (vsprintf): New declaration.
69152         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
69153         REPLACE_VSPRINTF.
69154
69155 2007-03-06  Bruno Haible  <bruno@clisp.org>
69156
69157         * modules/vsnprintf (Depend-on): Remove minmax.
69158
69159 2007-03-06  Bruno Haible  <bruno@clisp.org>
69160
69161         * modules/snprintf-posix-tests: New file.
69162         * tests/test-snprintf-posix.c: New file.
69163
69164         * modules/snprintf-posix: New file.
69165         * m4/snprintf-posix.m4: New file.
69166         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
69167         gl_FUNC_SNPRINTF.
69168         (gl_FUNC_SNPRINTF): Invoke it.
69169         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
69170         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
69171         is set.
69172         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
69173
69174 2007-03-06  Bruno Haible  <bruno@clisp.org>
69175
69176         * modules/vsnprintf-posix-tests: New file.
69177         * tests/test-vsnprintf-posix.c: New file.
69178         * tests/test-snprintf-posix.h: New file.
69179
69180         * modules/vsnprintf-posix: New file.
69181         * m4/vsnprintf-posix.m4: New file.
69182         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
69183         gl_FUNC_VSNPRINTF.
69184         (gl_FUNC_VSNPRINTF): Invoke it.
69185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
69186         * lib/stdio_.h (vsnprintf): Define as a replacement if
69187         REPLACE_VSNPRINTF is set.
69188         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
69189
69190 2007-03-06  Bruno Haible  <bruno@clisp.org>
69191
69192         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
69193         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
69194
69195 2007-03-06  Bruno Haible  <bruno@clisp.org>
69196
69197         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
69198         (asinl): Declare also if HAVE_DECL_ASINL is set.
69199         (atanl): Declare also if HAVE_DECL_ATANL is set.
69200         (ceill): Declare also if HAVE_DECL_CEILL is set.
69201         (cosl): Declare also if HAVE_DECL_COSL is set.
69202         (expl): Declare also if HAVE_DECL_EXPL is set.
69203         (floorl): Declare also if HAVE_DECL_FLOORL is set.
69204         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
69205         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
69206         (logl): Declare also if HAVE_DECL_LOGL is set.
69207         (sinl): Declare also if HAVE_DECL_SINL is set.
69208         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
69209         (tanl): Declare also if HAVE_DECL_TANL is set.
69210         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
69211         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
69212         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
69213         declaration of frexpl, ldexpl.
69214         * modules/printf-frexpl (Depends-on): Add math.
69215         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
69216
69217 2007-03-05  Bruno Haible  <bruno@clisp.org>
69218
69219         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
69220         frexpl and ldexpl are declared.
69221         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
69222
69223 2007-03-05  Bruno Haible  <bruno@clisp.org>
69224
69225         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
69226         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69227
69228 2007-03-05  Bruno Haible  <bruno@clisp.org>
69229
69230         * lib/stdio_.h: Include <stddef.h>.
69231
69232 2007-03-05  Bruno Haible  <bruno@clisp.org>
69233
69234         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
69235
69236 2007-03-05  Bruno Haible  <bruno@clisp.org>
69237
69238         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
69239         NetBSD 4, from Ralf Wildenhues.
69240
69241 2007-03-04  Bruno Haible  <bruno@clisp.org>
69242
69243         * lib/vasprintf.h: Update #if logic for the case when the functions
69244         exist but are overridden.
69245
69246 2007-03-04  Bruno Haible  <bruno@clisp.org>
69247
69248         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
69249         implementations: glibc-2.4 and MacOS X 10.3.
69250         * tests/test-vasnprintf-posix.c (test_function): Test also the case
69251         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
69252         * tests/test-vasprintf-posix.c (test_function): Likewise.
69253
69254 2007-03-04  Bruno Haible  <bruno@clisp.org>
69255
69256         * modules/vasprintf-posix-tests: New file.
69257         * tests/test-vasprintf-posix.c: New file.
69258
69259         * modules/vasprintf-posix: New file.
69260         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
69261         defined.
69262         * m4/vasprintf-posix.m4: New file.
69263         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
69264         gl_FUNC_VASPRINTF.
69265         (gl_FUNC_VASPRINTF): Invoke it.
69266         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
69267         here.
69268         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
69269
69270 2007-03-04  Bruno Haible  <bruno@clisp.org>
69271
69272         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
69273         REPLACE_GETTIMEOFDAY.
69274         * modules/sys_time (Makefile.am): Likewise.
69275         * m4/sys_time_h.m4: Likewise.
69276         * m4/gettimeofday.m4: Likewise.
69277
69278 2007-03-04  Bruno Haible  <bruno@clisp.org>
69279
69280         * modules/vasnprintf-posix-tests: New file.
69281         * tests/test-vasnprintf-posix.c: New file.
69282
69283         * modules/vasnprintf-posix: New file.
69284         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
69285         printf-frexpl.h.
69286         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
69287         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
69288         REPLACE_VASNPRINTF is defined.
69289         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
69290         gl_FUNC_VASNPRINTF.
69291         (gl_FUNC_VASNPRINTF): Invoke it.
69292         * m4/vasnprintf-posix.m4: New file.
69293         * m4/printf.m4: New file.
69294
69295 2007-03-04  Bruno Haible  <bruno@clisp.org>
69296
69297         Compile progreloc.c only if --enable-relocatable is specified.
69298         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
69299         if --enable-relocatable was specified.
69300         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
69301         lib_SOURCES.
69302
69303 2007-03-04  Jim Meyering  <jim@meyering.net>
69304
69305         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
69306         Use it consistently, rather than enumerating errno constants.
69307
69308 2007-03-04  Bruno Haible  <bruno@clisp.org>
69309
69310         * modules/xvasprintf-tests: New file.
69311         * tests/test-xvasprintf.c: New file.
69312
69313         * modules/vasprintf-tests: New file.
69314         * tests/test-vasprintf.c: New file.
69315
69316         * modules/vasnprintf-tests: New file.
69317         * tests/test-vasnprintf.c: New file.
69318
69319         * modules/vsnprintf-tests: New file.
69320         * tests/test-vsnprintf.c: New file.
69321
69322         * modules/snprintf-tests: New file.
69323         * tests/test-snprintf.c: New file.
69324
69325 2007-03-04  Bruno Haible  <bruno@clisp.org>
69326
69327         Compile relocatable.c only if --enable-relocatable is specified.
69328         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
69329         gl_RELOCATABLE_LIBRARY.
69330         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
69331         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
69332         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
69333         gl_RELOCATABLE_LIBRARY.
69334         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
69335         (Makefile.am): Remove lib_SOURCES.
69336         * modules/relocatable-lib-lgpl (configure.ac): Invoke
69337         gl_RELOCATABLE_LIBRARY.
69338         (Makefile.am): Remove lib_SOURCES.
69339         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
69340         always.
69341         * modules/relocatable-prog-wrapper (configure.ac): Invoke
69342         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
69343
69344 2007-03-04  Bruno Haible  <bruno@clisp.org>
69345
69346         * modules/argmatch-tests: New file.
69347         * tests/test-argmatch.c: New file.
69348
69349         * tests/test-allocsa.c (main): Halve the number of loop runs.
69350
69351         * modules/alloca-opt-tests: New file.
69352         * tests/test-alloca-opt.c: New file.
69353
69354 2007-03-04  Jim Meyering  <jim@meyering.net>
69355
69356         Work around difference between Linux ACLs and Solaris 10 ZFS.
69357         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
69358         for EINVAL.
69359
69360 2007-03-03  Bruno Haible  <bruno@clisp.org>
69361
69362         * modules/relocatable-prog (Depends-on): Add back progreloc's
69363         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
69364
69365 2007-03-03  Bruno Haible  <bruno@clisp.org>
69366
69367         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
69368         * modules/relocatable-lib: New file.
69369
69370 2007-03-03  Bruno Haible  <bruno@clisp.org>
69371
69372         * modules/relocatable-prog: Renamed from modules/relocatable.
69373         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
69374
69375 2007-03-03  Bruno Haible  <bruno@clisp.org>
69376
69377         * modules/relocatable-script (Files): Add doc/relocatable.texi,
69378         m4/relocatable-lib.m4.
69379         (Depends-on): Remove 'relocatable'.
69380         (configure.ac): Add gl_RELOCATABLE_NOP.
69381
69382 2007-03-03  Bruno Haible  <bruno@clisp.org>
69383
69384         * modules/relocatable-prog-wrapper: New file.
69385         * modules/relocatable (Depends-on): Add it. Remove all other
69386         dependencies except progname.
69387         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
69388
69389         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
69390         (gl_FUNC_STRERROR): Nop.
69391         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
69392
69393         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
69394         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
69395
69396         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
69397         (gl_FUNC_READLINK): Update.
69398
69399         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
69400
69401 2007-03-03  Bruno Haible  <bruno@clisp.org>
69402
69403         * lib/xreadlink.c: Include <unistd.h> unconditionally.
69404         * modules/xreadlink (Depends-on): Add unistd.
69405         * modules/xreadlink-with-size (Depends-on): Likewise.
69406
69407 2007-03-03  Bruno Haible  <bruno@clisp.org>
69408
69409         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
69410         extracted from gt_FUNC_SETENV.
69411         (gt_FUNC_SETENV): Remove macro.
69412         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
69413         remove gt_FUNC_SETENV.
69414
69415 2007-03-03  Bruno Haible  <bruno@clisp.org>
69416
69417         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
69418         ENABLE_RELOCATABLE here.
69419         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
69420
69421 2007-03-03  Bruno Haible  <bruno@clisp.org>
69422
69423         * modules/rbtreehash-list-tests (Depends-on): Add progname.
69424         * tests/test-rbtreehash_list.c: Include progname.h.
69425         (main): Call set_program_name.
69426
69427         * modules/rbtree-oset-tests (Depends-on): Add progname.
69428         * tests/test-rbtree_oset.c: Include progname.h.
69429         (main): Call set_program_name.
69430
69431         * modules/rbtree-list-tests (Depends-on): Add progname.
69432         * tests/test-rbtree_list.c: Include progname.h.
69433         (main): Call set_program_name.
69434
69435         * modules/linked-list-tests (Depends-on): Add progname.
69436         * tests/test-linked_list.c: Include progname.h.
69437         (main): Call set_program_name.
69438
69439 2007-03-03  Bruno Haible  <bruno@clisp.org>
69440
69441         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69442         All uses of __restrict changed to _Restrict_.
69443         * lib/glob_.h (__restrict): Remove macro.
69444
69445 2007-03-02  Bruno Haible  <bruno@clisp.org>
69446
69447         * modules/gettext (configure.ac): Require gettext infrastructure
69448         from version 0.16.1.
69449
69450 2007-03-02  Bruno Haible  <bruno@clisp.org>
69451
69452         * modules/linkedhash-list-tests (Depends-on): Add progname.
69453         * tests/test-linkedhash_list.c: Include progname.h.
69454         (main): Call set_program_name.
69455
69456         * modules/carray-list-tests (Depends-on): Add progname.
69457         * tests/test-carray_list.c: Include progname.h.
69458         (main): Call set_program_name.
69459
69460         * modules/avltreehash-list-tests (Depends-on): Add progname.
69461         * tests/test-avltreehash_list.c: Include progname.h.
69462         (main): Call set_program_name.
69463
69464         * modules/avltree-oset-tests (Depends-on): Add progname.
69465         * tests/test-avltree_oset.c: Include progname.h.
69466         (main): Call set_program_name.
69467
69468         * modules/avltree-list-tests (Depends-on): Add progname.
69469         * tests/test-avltree_list.c: Include progname.h.
69470         (main): Call set_program_name.
69471
69472         * modules/array-oset-tests (Depends-on): Add progname.
69473         * tests/test-array_oset.c: Include progname.h.
69474         (main): Call set_program_name.
69475
69476         * modules/array-list-tests (Depends-on): Add progname.
69477         * tests/test-array_list.c: Include progname.h.
69478         (main): Call set_program_name.
69479
69480         * modules/argp-tests (Depends-on): Add progname.
69481         * tests/test-argp.c: Include argp.h first. Include progname.h.
69482         (main): Call set_program_name.
69483
69484 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69485
69486         * doc/gnulib-tool.texi (Initial import): Reword description of
69487         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69488         limited effect even if defined after the first system include.
69489
69490 2007-03-01  Bruno Haible  <bruno@clisp.org>
69491
69492         * build-aux/config.libpath: Update to libtool-1.5.22.
69493         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69494
69495 2007-03-01  Bruno Haible  <bruno@clisp.org>
69496
69497         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69498         foo_CFLAGS.
69499         Reported by Ralf Wildenhues.
69500
69501 2007-03-01  Bruno Haible  <bruno@clisp.org>
69502
69503         * build-aux/install-reloc: Remove object files left over by some
69504         compilers.
69505         Reported by Ralf Wildenhues.
69506
69507 2007-03-01  Bruno Haible  <bruno@clisp.org>
69508
69509         * build-aux/install-reloc: Break long lines.
69510
69511 2007-03-01  Bruno Haible  <bruno@clisp.org>
69512
69513         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69514         Reported by Ralf Wildenhues.
69515
69516 2007-03-01  Bruno Haible  <bruno@clisp.org>
69517
69518         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69519         include ordering constraints.
69520
69521 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69522
69523         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69524         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69525         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69526         as another example.
69527         * lib/time_.h: Fix misspelling.
69528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69529         Require gl_HEADER_TIME_H_DEFAULTS.
69530         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69531         * m4/time_r.m4 (gl_TIME_R): Likewise.
69532         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69533
69534 2007-03-01  Bruno Haible  <bruno@clisp.org>
69535
69536         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69537         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69538
69539 2007-03-01  Jim Meyering  <jim@meyering.net>
69540
69541         * modules/xreadlink (Maintainer): Add my name.
69542         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69543
69544 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69545             Bruno Haible  <bruno@clisp.org>
69546
69547         * build-aux/install-reloc: Compile also c-ctype.c.
69548         * build-aux/relocatable.sh.in: New file.
69549         * doc/relocatable.texi: New file.
69550         * doc/relocatable-maint.texi: New file.
69551         * doc/gnulib.texi: Include relocatable-maint.texi.
69552         * lib/progreloc.c: Include unistd.h unconditionally.
69553         * lib/relocwrapper.c: Include unistd.h unconditionally.
69554         Include c-ctype.h.
69555         (add_dotbin): Use c_tolower.
69556         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69557         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69558         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69559         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69560         to m4/relocatable-lib.m4.
69561         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69562         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69563         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69564         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69565         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69566         * modules/relocatable: New file.
69567         * modules/relocatable-lib: New file.
69568         * modules/relocatable-script: New file.
69569
69570 2007-02-28  Bruno Haible  <bruno@clisp.org>
69571
69572         Import --enable-relocatable infrastructure.
69573         * build-aux/config.libpath: New file, from GNU gettext.
69574         * build-aux/install-reloc: New file, from GNU gettext.
69575         * build-aux/reloc-ldflags: New file, from GNU gettext.
69576         * lib/relocatable.h: New file, from GNU gettext.
69577         * lib/relocatable.c: New file, from GNU gettext.
69578         * lib/relocwrapper.c: New file, from GNU gettext.
69579         * m4/relocatable.m4: New file, from GNU gettext.
69580
69581 2007-02-28  Bruno Haible  <bruno@clisp.org>
69582
69583         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69584
69585         * modules/xreadlink: New file, from GNU gettext with modifications.
69586         * lib/xreadlink.c: New file, from GNU gettext.
69587         * lib/xreadlink.h: Add comments.
69588         (xreadlink): New declaration.
69589
69590         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69591         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69592         lib/xreadlink-with-size.c.
69593         (configure.ac): Remove gl_XREADLINK invocation.
69594         (Makefile.am): Augment lib_SOURCES.
69595         * m4/xreadlink.m4: Remove file.
69596         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69597         (xreadlink_with_size): Renamed from xreadink.
69598         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69599         * modules/canonicalize (Depends-on): Replace xreadlink with
69600         xreadlink-with-size.
69601         * lib/canonicalize.c (canonicalize_filename_mode): Update.
69602
69603 2007-02-25  Jim Meyering  <jim@meyering.net>
69604
69605         * build-aux/announce-gen: When complaining about excess arguments,
69606         list them.
69607
69608 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69609
69610         * README: Document signed integer overflow situation more
69611         accurately.
69612
69613 2007-02-25  Bruno Haible  <bruno@clisp.org>
69614
69615         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
69616         'a' or 'A' conversion.
69617
69618 2007-02-25  Bruno Haible  <bruno@clisp.org>
69619
69620         * modules/filename: Renamed from modules/pathname.
69621         (Files): Replace lib/pathname.h with lib/filename.h. Replace
69622         lib/concatpath.c with lib/concat-filename.c.
69623         (Makefile.am): Update.
69624         (Include): Replace pathname.h with filename.h.
69625         * lib/filename.h: Renamed from lib/pathname.h.
69626         (concatenated_filename): Renamed from concatenated_pathname.
69627         * lib/concat-filename.c: Renamed from lib/concatpath.c.
69628         (concatenated_filename): Renamed from concatenated_pathname.
69629         * lib/findprog.c: Include filename.h instead of pathname.h.
69630         (find_in_path): Update.
69631         * lib/javacomp.c: Include filename.h instead of pathname.h.
69632         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
69633         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
69634         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
69635         is_oldgcj_14_13_usable, is_javac_usable): Update.
69636         * lib/javaexec.c: Include filename.h instead of pathname.h.
69637         (execute_java_class): Update.
69638         * modules/findprog: Update.
69639         * modules/javacomp: Update.
69640         * modules/javaexec: Update.
69641         * MODULES.html.sh (File system functions): Add 'filename', remove
69642         'pathname'.
69643
69644 2007-02-25  Bruno Haible  <bruno@clisp.org>
69645
69646         * modules/printf-frexpl-tests: New file.
69647         * tests/test-printf-frexpl.c: New file.
69648
69649         * modules/printf-frexpl: New file.
69650         * lib/printf-frexpl.h: New file.
69651         * lib/printf-frexpl.c: New file.
69652         * m4/printf-frexpl.m4: New file.
69653
69654 2007-02-25  Bruno Haible  <bruno@clisp.org>
69655
69656         * modules/printf-frexp-tests: New file.
69657         * tests/test-printf-frexp.c: New file.
69658
69659         * modules/printf-frexp: New file.
69660         * lib/printf-frexp.h: New file.
69661         * lib/printf-frexp.c: New file.
69662         * m4/printf-frexp.m4: New file.
69663
69664 2007-02-25  Bruno Haible  <bruno@clisp.org>
69665
69666         Assume automake >= 1.10 for the tests.
69667         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
69668         * modules/arctwo-tests: Likewise.
69669         * modules/argp-tests: Likewise.
69670         * modules/avltree-list-tests: Likewise.
69671         * modules/avltree-oset-tests: Likewise.
69672         * modules/avltreehash-list-tests: Likewise.
69673         * modules/carray-list-tests: Likewise.
69674         * modules/crc-tests: Likewise.
69675         * modules/des-tests: Likewise.
69676         * modules/gc-arcfour-tests: Likewise.
69677         * modules/gc-arctwo-tests: Likewise.
69678         * modules/gc-des-tests: Likewise.
69679         * modules/gc-hmac-md5-tests: Likewise.
69680         * modules/gc-hmac-sha1-tests: Likewise.
69681         * modules/gc-md2-tests: Likewise.
69682         * modules/gc-md4-tests: Likewise.
69683         * modules/gc-md5-tests: Likewise.
69684         * modules/gc-pbkdf2-sha1-tests: Likewise.
69685         * modules/gc-rijndael-tests: Likewise.
69686         * modules/gc-sha1-tests: Likewise.
69687         * modules/gc-tests: Likewise.
69688         * modules/getaddrinfo-tests: Likewise.
69689         * modules/hmac-md5-tests: Likewise.
69690         * modules/hmac-sha1-tests: Likewise.
69691         * modules/linked-list-tests: Likewise.
69692         * modules/linkedhash-list-tests: Likewise.
69693         * modules/lock-tests: Likewise.
69694         * modules/md2-tests: Likewise.
69695         * modules/md4-tests: Likewise.
69696         * modules/md5-tests: Likewise.
69697         * modules/rbtree-list-tests: Likewise.
69698         * modules/rbtree-oset-tests: Likewise.
69699         * modules/rbtreehash-list-tests: Likewise.
69700         * modules/read-file-tests: Likewise.
69701         * modules/rijndael-tests: Likewise.
69702         * modules/stdint-tests: Likewise.
69703         * modules/tls-tests: Likewise.
69704
69705 2007-02-24  Bruno Haible  <bruno@clisp.org>
69706
69707         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
69708         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
69709         function; instead check whether isnan with a double argument links.
69710         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
69711         function; instead check whether isnan with a 'long double' argument
69712         links.
69713         Reported by Eric Blake <ebb9@byu.net>.
69714
69715 2007-02-24  Bruno Haible  <bruno@clisp.org>
69716
69717         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
69718         defined.
69719         * lib/isnanl.c: Remove all code. Just include isnan.c.
69720         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
69721
69722 2007-02-25  Jim Meyering  <jim@meyering.net>
69723
69724         Avoid conflicting types for 'unsetenv' on FreeBSD.
69725         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
69726         conflicting with FreeBSD's (5.0 and 6.1) function declaration
69727         in stdlib.h.
69728
69729 2007-02-24  Bruno Haible  <bruno@clisp.org>
69730
69731         * modules/isnanl-nolibm-tests: New file.
69732         * tests/test-isnanl.c: New file.
69733
69734         * modules/isnanl-nolibm: New file.
69735         * lib/isnanl.h: New file.
69736         * lib/isnanl.c: New file.
69737         * m4/isnanl.m4: New file.
69738
69739 2007-02-24  Bruno Haible  <bruno@clisp.org>
69740
69741         * modules/isnan-nolibm-tests: New file.
69742         * tests/test-isnan.c: New file.
69743
69744         * modules/isnan-nolibm: New file.
69745         * lib/isnan.h: New file.
69746         * lib/isnan.c: New file.
69747         * m4/isnan.m4: New file.
69748
69749 2007-02-24  Bruno Haible  <bruno@clisp.org>
69750
69751         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
69752         assume that an exponent fits in 20 bits.
69753
69754 2007-02-24  Jim Meyering  <jim@meyering.net>
69755
69756         * m4/regex.m4: Update the description of the configure-time option,
69757         --without-included-regex, to state accurately what the defaults are,
69758         and perhaps to give people an idea why using this option is risky.
69759
69760 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69761
69762         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
69763         loops on small arguments.  This attempts to avoid the problem
69764         Bruno Haible reported for AIX 4.3.2 in
69765         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
69766
69767 2007-02-23  Bruno Haible  <bruno@clisp.org>
69768
69769         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
69770         Needed for help2man.
69771
69772 2007-02-23  Karl Berry  <karl@gnu.org>
69773
69774         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
69775         exists, foo.h should be cvs-ignored, not committed.
69776
69777 2007-02-23  Eric Blake  <ebb9@byu.net>
69778
69779         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
69780         * lib/stat-time.h (includes): Likewise.
69781         * lib/utimecmp.c (includes): Likewise.
69782         * lib/utimens.h (includes): Likewise.
69783         * lib/getdate.y (includes): Also include "timespec.h" for use
69784         internal to the module.
69785         * modules/utimens (Depends-on): Revert yesterday's patch.
69786         * modules/nanosleep (Depends-on): Add missing dependency.
69787
69788 2007-02-22  Bruno Haible  <bruno@clisp.org>
69789
69790         * lib/glob.c: Don't include getlogin_r.h.
69791
69792 2007-02-22  Jim Meyering  <jim@meyering.net>
69793
69794         * modules/utimens (Depends-on): Add timespec, required for
69795         utimens.h's inclusion of timespec.h.
69796
69797 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
69798
69799         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
69800         long unreadable paths in GNU/Linux.  Problem reported by Andreas
69801         Schwab in
69802         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
69803         I'll try to think of a better way to fix the Solaris problem.
69804
69805         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
69806         like glibc; on Solaris 10, it fails with errno == EINVAL.
69807         POSIX says the behavior is unspecified if the first argument is NULL,
69808         so play it safe and never pass NULL to the system getcwd.
69809
69810 2007-02-21  Jim Meyering  <jim@meyering.net>
69811
69812         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
69813         of gettimeofday.  It would conflict with the one now always
69814         provided via sys_time_.h.  Reported by Matthew Woehlke, as
69815         an IRIX 6.5 build failure.
69816
69817 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69818
69819         Minor fixups to port to Solaris 10 with Sun C 5.8.
69820         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
69821         * modules/getcwd (Depends-on): Add dirfd.
69822         * lib/putenv.c (putenv): #undef it.
69823         (rpl_putenv): New decl.
69824         (malloc, free): Include <stdlib.h> rather than prototyping separately.
69825
69826 2007-02-20  Bruno Haible  <bruno@clisp.org>
69827
69828         * modules/stdio-tests: New file.
69829         * tests/test-stdio.c: New file.
69830
69831         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
69832         (Depends-on): Add stdio.
69833         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69834         (Include): Use <stdio.h> instead of vsnprintf.h.
69835         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69836         HAVE_DECL_VSNPRINTF.
69837         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
69838
69839         * modules/snprintf (Files): Remove lib/snprintf.h.
69840         (Depends-on): Add stdio.
69841         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69842         (Include): Use <stdio.h> instead of snprintf.h.
69843         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69844         HAVE_DECL_SNPRINTF.
69845         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
69846         * lib/getaddrinfo.c: Likewise.
69847
69848         * modules/stdio: New file.
69849         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
69850         * lib/snprintf.h: Remove file.
69851         * lib/vsnprintf.h: Remove file.
69852         * lib/.cppi-disable: Remove snprintf.h.
69853         * m4/stdio_h.m4: New file.
69854         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
69855
69856 2007-02-20  Jim Meyering  <jim@meyering.net>
69857
69858         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
69859         used by e.g., mingw.  From Bruno Haible.
69860
69861 2007-02-19  Bruno Haible  <bruno@clisp.org>
69862
69863         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
69864         warnings.
69865         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69866
69867 2007-02-19  Bruno Haible  <bruno@clisp.org>
69868
69869         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
69870         from mingw users.
69871
69872 2007-02-19  Bruno Haible  <bruno@clisp.org>
69873
69874         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
69875         warnings.
69876         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
69877
69878 2007-02-19  Jim Meyering  <jim@meyering.net>
69879
69880         Don't use FD after a successful "fdopendir (fd)".
69881         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
69882         Reset it by calling dirfd on the just-obtained DIR*.
69883
69884         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
69885         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
69886
69887 2007-02-18  Bruno Haible  <bruno@clisp.org>
69888
69889         * lib/readlink.c: Include <unistd.h>.
69890         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
69891         HAVE_READLINK.
69892         * modules/readlink (Depends-on): Add unistd.
69893         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69894         (Include): Add <unistd.h>.
69895
69896         * lib/getlogin_r.h: Remove file.
69897         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
69898         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
69899         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
69900         HAVE_DECL_GETLOGIN_R.
69901         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
69902         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69903         (Include): Use <unistd.h> instead of getlogin_r.h.
69904
69905         * lib/getcwd.h: Remove file.
69906         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
69907         * lib/xgetcwd.c: Likewise.
69908         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
69909         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
69910         * modules/getcwd (Files): Remove lib/getcwd.h.
69911         (Depends-on): Add unistd.
69912         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69913         (Include): Use <unistd.h> instad of getcwd.h.
69914
69915         * lib/ftruncate.c: Include <unistd.h> first.
69916         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
69917         Set HAVE_FTRUNCATE.
69918         * modules/ftruncate (Depends-on): Add unistd.
69919         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69920
69921         * lib/fchdir.c: Include <unistd.h> first.
69922         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
69923         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
69924         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
69925         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69926         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
69927
69928         * lib/dup2.c: Include <unistd.h> first.
69929         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
69930         HAVE_DUP2.
69931         * modules/dup2 (Depends-on): Add unistd.
69932         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69933
69934         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
69935         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
69936         REPLACE_CHOWN. Don't define chown as a macro here.
69937         * modules/chown (Depends-on): Add unistd.
69938         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69939
69940         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
69941         Add definition for GL_LINK_WARNING.
69942         (chown, dup2): New declarations.
69943         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
69944         link warning.
69945         (ftruncate): New declaration.
69946         (getcwd): New declaration, taken from old getcwd.h.
69947         (getlogin_r): New declaration, taken from old getlogin_r.h.
69948         (readlink): New declaration.
69949         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
69950         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
69951         (gl_PREREQ_UNISTD): Remove macro.
69952         (gl_UNISTD_MODULE_INDICATOR): New macro.
69953         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
69954         many new variables. Don't set UNISTD_H.
69955         * modules/unistd (Description): Change.
69956         (Depends-on): Add link-warning.
69957         (configure.ac): Update.
69958         (Makefile.am): Create unistd.h always. Substitute many new variables
69959         into it.
69960
69961 2007-02-18  Bruno Haible  <bruno@clisp.org>
69962
69963         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
69964         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
69965         HAVE_GETSUBOPT.
69966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
69967         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
69968         * lib/getsubopt.h: Remove file.
69969         * modules/getsubopt (Files): Remove lib/getsubopt.h.
69970         (Depends-on): Add stdlib.
69971         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69972         (Includes): Use <stdlib.h> instead of getsubopt.h.
69973         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
69974         Set HAVE_GETSUBOPT.
69975         * lib/getsubopt.c: Don't include getsubopt.h.
69976
69977 2007-02-18  Bruno Haible  <bruno@clisp.org>
69978
69979         * modules/fchdir (Depends-on): Add dup2.
69980
69981 2007-02-18  Bruno Haible  <bruno@clisp.org>
69982
69983         * lib/stdlib_.h: Handle glibc's special invocation convention
69984         specially.
69985
69986 2007-02-18  Bruno Haible  <bruno@clisp.org>
69987
69988         * modules/stdlib-tests: New file.
69989         * tests/test-stdlib.c: New file.
69990
69991         * modules/mkstemp (Files): Remove lib/mkstemp.h.
69992         (Depends-on): Add stdlib.
69993         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69994         (Includes): Use <stdlib.h> instead of mkstemp.h.
69995         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69996         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
69997         * lib/mkstemp.c: Don't include mkstemp.h.
69998         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
69999         * lib/stdlib--.h: Don't include mkstemp.h.
70000
70001         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
70002         (Depends-on): Add stdlib.
70003         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70004         (Includes): Use <stdlib.h> instead of mkdtemp.h.
70005         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70006         HAVE_MKDTEMP.
70007         * lib/mkdtemp.c: Don't include mkdtemp.h.
70008         * lib/clean-temp.c: Don't include mkdtemp.h.
70009
70010         * modules/exit (Files): Remove lib/exit.h.
70011         (Depends-on): Add stdlib.
70012         (Makefile.am): Remove lib_SOURCES.
70013         (Include): Use <stdlib.h> instead of exit.h.
70014         * lib/argmatch.c: Don't include exit.h.
70015         * lib/execute.c: Likewise.
70016         * lib/pagealign_alloc.c: Likewise.
70017         * lib/pipe.c: Likewise.
70018         * lib/wait-process.c: Likewise.
70019         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70020         * lib/exitfail.c: Likewise.
70021         * lib/savewd.c: Likewise.
70022         * lib/xsetenv.c: Likewise.
70023
70024         * modules/stdlib: New file.
70025         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70026         and extra comments about mkstemp().
70027         * lib/exit.h: Remove file.
70028         * lib/mkdtemp.h: Remove file.
70029         * lib/mkstemp.h: Remove file.
70030         * m4/stdlib_h.m4: New file.
70031         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70032
70033 2007-02-18  Bruno Haible  <bruno@clisp.org>
70034
70035         * modules/math-tests: New file.
70036         * tests/test-math.c: New file.
70037
70038         * modules/math: New file.
70039         * modules/mathl (Files): Remove lib/mathl.h.
70040         (Depends-on): Add math.
70041         (Makefile.am): Don't mention mathl.h.
70042         (Include): Use <math.h> instead of mathl.h.
70043         * lib/math_.h: New file.
70044         * lib/mathl.h: Remove file.
70045         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70046         mathl.h.
70047         * lib/asinl.c: Likewise.
70048         * lib/atanl.c: Likewise.
70049         * lib/ceill.c: Likewise.
70050         * lib/cosl.c: Likewise.
70051         * lib/expl.c: Likewise.
70052         * lib/floorl.c: Likewise.
70053         * lib/frexpl.c: Likewise.
70054         * lib/ldexpl.c: Likewise.
70055         * lib/logl.c: Likewise.
70056         * lib/sincosl.c: Likewise.
70057         * lib/sinl.c: Likewise.
70058         * lib/sqrtl.c: Likewise.
70059         * lib/tanl.c: Likewise.
70060         * lib/trigl.c: Likewise.
70061         * m4/math_h.m4: New file.
70062         * MODULES.html.sh (Mathematics): Add math.
70063
70064 2007-02-17  Bruno Haible  <bruno@clisp.org>
70065
70066         * modules/wctype-tests: New file.
70067         * tests/test-wctype.c: New file.
70068
70069         * modules/wchar-tests: New file.
70070         * tests/test-wchar.c: New file.
70071
70072         * modules/unistd-tests: New file.
70073         * tests/test-unistd.c: New file.
70074
70075         * modules/time-tests: New file.
70076         * tests/test-time.c: New file.
70077
70078         * modules/sysexits-tests: New file.
70079         * tests/test-sysexits.c: New file.
70080
70081         * modules/sys_time-tests: New file.
70082         * tests/test-sys_time.c: New file.
70083
70084         * modules/sys_stat-tests: New file.
70085         * tests/test-sys_stat.c: New file.
70086
70087         * modules/sys_socket-tests: New file.
70088         * tests/test-sys_socket.c: New file.
70089
70090         * modules/sys_select-tests: New file.
70091         * tests/test-sys_select.c: New file.
70092
70093         * modules/string-tests: New file.
70094         * tests/test-string.c: New file.
70095
70096         * modules/stdbool-tests: New file.
70097         * tests/test-stdbool.c: New file.
70098
70099         * modules/netinet_in-tests: New file.
70100         * tests/test-netinet_in.c: New file.
70101
70102         * modules/inttypes-tests: New file.
70103         * tests/test-inttypes.c: New file.
70104
70105         * modules/fcntl-tests: New file.
70106         * tests/test-fcntl.c: New file.
70107
70108         * modules/byteswap-tests: New file.
70109         * tests/test-byteswap.c: New file.
70110
70111         * modules/arpa_inet-tests: New file.
70112         * tests/test-arpa_inet.c: New file.
70113
70114 2007-02-17  Bruno Haible  <bruno@clisp.org>
70115
70116         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
70117         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
70118         if the corresponding module is not enabled. Emit link warnings if
70119         the function is used nevertheless.
70120         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
70121         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
70122         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
70123         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
70124         * modules/inttypes (Depends-on): Add link-warning.
70125         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70126         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
70127         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
70128         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
70129         * modules/imaxdiv (configure.ac): Likewise.
70130         * modules/strtoimax (configure.ac): Likewise.
70131         * modules/strtoumax (configure.ac): Likewise.
70132
70133 2007-02-17  Bruno Haible  <bruno@clisp.org>
70134
70135         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
70136         gl_STRING_MODULE_INDICATOR_DEFAULTS.
70137         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
70138         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
70139
70140 2007-02-17  Bruno Haible  <bruno@clisp.org>
70141
70142         * modules/link-warning: New file.
70143         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
70144         * lib/string_.h (GL_LINK_WARNING): Remove definition.
70145         * modules/string (Depends-on): Add link-warning.
70146         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70147         string.h.
70148         * MODULES.html.sh (Support for building libraries and executables): Add
70149         link-warning.
70150
70151 2007-02-17  Bruno Haible  <bruno@clisp.org>
70152
70153         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
70154         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
70155         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
70156         long lines.
70157
70158 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
70159             Bruno Haible  <bruno@clisp.org>
70160
70161         * modules/tmpfile: New file.
70162         * lib/tmpfile.c: New file.
70163         * m4/tmpfile.m4: New file.
70164         * MODULES.html.sh (func_all_modules): New section "Input/output".
70165
70166 2007-02-15  Bruno Haible  <bruno@clisp.org>
70167
70168         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
70169         (supports_delete_on_close): New function.
70170         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
70171
70172 2007-02-14  Bruno Haible  <bruno@clisp.org>
70173
70174         * modules/mbspcasecmp-tests: New file.
70175         * tests/test-mbspcasecmp.sh: New file.
70176         * tests/test-mbspcasecmp.c: New file.
70177
70178         New module mbspcasecmp.
70179         * modules/mbspcasecmp: New file.
70180         * lib/mbspcasecmp.c: New file.
70181         * lib/string_.h (strncasecmp): Change warning message.
70182         (mbspcasecmp): New declaration.
70183         * m4/mbspcasecmp.m4: New file.
70184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70185         GNULIB_MBSPCASECMP.
70186         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
70187         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
70188
70189 2007-02-14  Bruno Haible  <bruno@clisp.org>
70190
70191         * modules/mbsncasecmp-tests: New file.
70192         * tests/test-mbsncasecmp.sh: New file.
70193         * tests/test-mbsncasecmp.c: New file.
70194
70195         New module mbsncasecmp.
70196         * modules/mbsncasecmp: New file.
70197         * lib/mbsncasecmp.c: New file.
70198         * lib/string_.h (mbsncasecmp): New declaration.
70199         * m4/mbsncasecmp.m4: New file.
70200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70201         GNULIB_MBSNCASECMP.
70202         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
70203         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
70204
70205 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70206
70207         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
70208         Verify that it doesn't overlap with our flags.
70209         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
70210         do not have the desired effect in multibyte locales; instead, use
70211         mbscasecmp.
70212         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
70213         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
70214         we don't require GNU fnmatch ourselves (if our users require it, they
70215         should do so explicitly).
70216
70217         Fix regex code so it doesn't rely on strcasecmp.
70218         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
70219         Otherwise, include gnulib's langinfo.h.
70220         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
70221         undesirable behavior in non-C locales.  Instead, rely on localecharset.
70222         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
70223         * modules/regex (FILES): Remove m4/codeset.m4.
70224         (Depends-on): Add localcharset.  Remove strcase.
70225
70226 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70227
70228         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
70229         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
70230
70231 2007-02-13  Bruno Haible  <bruno@clisp.org>
70232
70233         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
70234         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70235
70236 2007-02-12  Bruno Haible  <bruno@clisp.org>
70237
70238         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70239         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
70240         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
70241         time warning rather than a link error.
70242
70243 2007-02-12  Bruno Haible  <bruno@clisp.org>
70244
70245         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
70246         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70247         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70248
70249 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70250
70251         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
70252         args, not 2.
70253
70254 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70255
70256         New module 'time', so that apps can include <time.h> as per
70257         POSIX and GNU instead of separate include files like time_r.h
70258         and timegm.h.  This implementation tries out a simpler approach
70259         for replacing decls in standard include files (as compared to
70260         the string module), somewhat as an experiment.
70261
70262         * config/srclist.txt: Comment out mktime.c for now.
70263         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
70264         since it doesn't apply any more.  Use generic wording instead.
70265         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
70266         'time'.
70267         * lib/time_.h, m4/time_h.m4, modules/time: New files.
70268         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
70269         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
70270         Don't include <sys/types.h>; no longer needed since we assume C89.
70271         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
70272         * lib/strftime.c: Likewise.
70273         * lib/time_r.c: Likewise.
70274         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
70275         * lib/nanosleep.c: Include <time.h> first, to check interface.
70276         * lib/strptime.c: Likewise.
70277         * lib/time_r.c: Likewise.
70278         * lib/timegm.c: Likewise.
70279         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
70280         needed.
70281         * lib/timegm.c: Don't include timegm.h; no longer needed.
70282         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
70283         time.h now handles any problems in that area.
70284         (struct timespec, nanosleep): Remove; time.h now arranges for these.
70285         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
70286         that time.h defines struct timespec.
70287         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
70288         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
70289         handles that.
70290         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
70291         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
70292         needed.  Set REPLACE_LOCALTIME.
70293         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
70294         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
70295         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
70296         nanosleep; time_h.m4 now does that.  Don't require
70297         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
70298         module handles this now.
70299         * modules/getdate (Depends-on): Remove timespec.  Add time.
70300         * modules/nanosleep (Depends-on): Likewise.
70301         * modules/stat-time (Depends-on): Likewise.
70302         * modules/nanosleep (Include): Include time.h, not timespec.h.
70303         * modules/strptime (Files): Remove lib/strptime.h.
70304         (Depends-on): Add extensions, time.
70305         (Include): Include time.h, not strptime.h.
70306         * modules/time_r (Files): Remove lib/time_r.h.
70307         (Depends-on): Add time.
70308         (Include): Include time.h, not time_r.h.
70309         * modules/timegm: Likewise.
70310         * modules/timespec (Description): Now does timespec-related decls
70311         of our own, instead of struct timespec itself.
70312         (Depends-on): Add time; remove extensions.
70313         (Maintainer): Add self.
70314         * modules/utimecmp (Depends-on): Add time; remove timespec.
70315         * modules/utimens (Depends-on): Likewise.
70316         * modules/xnanosleep (Depends-on): Likewise.
70317
70318 2007-02-11  Bruno Haible  <bruno@clisp.org>
70319
70320         * lib/c-strstr.c: Include allocsa.h.
70321         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70322         * lib/c-strcasestr.c: Include allocsa.h.
70323         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70324         * lib/strcasestr.c: Include allocsa.h.
70325         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70326         * lib/mbsstr.c: Include allocsa.h.
70327         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70328         allocsa/freesa instead of malloc/free.
70329         * lib/mbscasestr.c: Include allocsa.h.
70330         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70331         allocsa/freesa instead of malloc/free.
70332         * modules/c-strstr (Depends-on): Add allocsa.
70333         * modules/c-strcasestr (Depends-on): Likewise.
70334         * modules/strcasestr (Depends-on): Likewise.
70335         * modules/mbsstr (Depends-on): Likewise.
70336         * modules/mbscasestr (Depends-on): Likewise.
70337
70338 2007-02-11  Bruno Haible  <bruno@clisp.org>
70339
70340         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
70341
70342         * modules/mbsspn-tests: New file.
70343         * tests/test-mbsspn.sh: New file.
70344         * tests/test-mbsspn.c: New file.
70345
70346 2007-02-11  Bruno Haible  <bruno@clisp.org>
70347
70348         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
70349
70350         * modules/mbspbrk-tests: New file.
70351         * tests/test-mbspbrk.sh: New file.
70352         * tests/test-mbspbrk.c: New file.
70353
70354 2007-02-11  Bruno Haible  <bruno@clisp.org>
70355
70356         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
70357         unneeded cast.
70358
70359         * modules/mbscspn-tests: New file.
70360         * tests/test-mbscspn.sh: New file.
70361         * tests/test-mbscspn.c: New file.
70362
70363 2007-02-11  Bruno Haible  <bruno@clisp.org>
70364
70365         * modules/mbscasecmp-tests: New file.
70366         * tests/test-mbscasecmp.sh: New file.
70367         * tests/test-mbscasecmp.c: New file.
70368
70369 2007-02-11  Bruno Haible  <bruno@clisp.org>
70370
70371         Ensure O(n) worst-case complexity of mbscasestr.
70372         * lib/mbscasestr.c: Include stdbool.h.
70373         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70374         functions.
70375         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
70376         the bookkeeping indicates that it's worth it.
70377         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
70378
70379         * modules/mbscasestr-tests: New file.
70380         * tests/test-mbscasestr1.c: New file.
70381         * tests/test-mbscasestr2.sh: New file.
70382         * tests/test-mbscasestr2.c: New file.
70383         * tests/test-mbscasestr3.sh: New file.
70384         * tests/test-mbscasestr3.c: New file.
70385         * tests/test-mbscasestr4.sh: New file.
70386         * tests/test-mbscasestr4.c: New file.
70387         * m4/locale-tr.m4: New file.
70388
70389 2007-02-11  Bruno Haible  <bruno@clisp.org>
70390
70391         Ensure O(n) worst-case complexity of mbsstr.
70392         * lib/mbsstr.c: Include stdbool.h.
70393         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70394         functions.
70395         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
70396         bookkeeping indicates that it's worth it.
70397         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
70398
70399         * modules/mbsstr-tests: New file.
70400         * tests/test-mbsstr1.c: New file.
70401         * tests/test-mbsstr2.sh: New file.
70402         * tests/test-mbsstr2.c: New file.
70403         * tests/test-mbsstr3.sh: New file.
70404         * tests/test-mbsstr3.c: New file.
70405         * m4/locale-fr.m4: New file.
70406
70407 2007-02-11  Bruno Haible  <bruno@clisp.org>
70408
70409         * lib/mbsrchr.c (mbsrchr): Fix bug.
70410
70411         * modules/mbsrchr-tests: New file.
70412         * tests/test-mbsrchr.sh: New file.
70413         * tests/test-mbsrchr.c: New file.
70414
70415 2007-02-11  Bruno Haible  <bruno@clisp.org>
70416
70417         * lib/mbschr.c (mbschr): Fix bug.
70418
70419         * modules/mbschr-tests: New file.
70420         * tests/test-mbschr.sh: New file.
70421         * tests/test-mbschr.c: New file.
70422         * m4/locale-zh.m4: New file.
70423
70424 2007-02-11  Bruno Haible  <bruno@clisp.org>
70425
70426         Support for copying multibyte string iterators.
70427         * lib/mbiter.h: Include <string.h>.
70428         (mbiter_multi_copy): New function.
70429         (mbi_copy): New macro.
70430         * lib/mbuiter.h: Include <string.h>.
70431         (mbuiter_multi_copy): New function.
70432         (mbui_copy): New macro.
70433
70434 2007-02-11  Bruno Haible  <bruno@clisp.org>
70435
70436         New module mbslen.
70437         * modules/mbslen: New file.
70438         * lib/mbslen.c: New file.
70439         * lib/string_.h (mbslen): New declaration.
70440         * m4/mbslen.m4: New file.
70441         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70442         GNULIB_MBSLEN.
70443         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70444         * MODULES.html.sh (Internationalization functions): Add mbslen.
70445
70446 2007-02-11  Bruno Haible  <bruno@clisp.org>
70447
70448         Ensure O(n) worst-case complexity of strcasestr substitute.
70449         * lib/strcasestr.c: Include stdbool.h.
70450         (knuth_morris_pratt): New function.
70451         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70452         bookkeeping indicates that it's worth it.
70453         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70454
70455         * modules/strcasestr-tests: New file.
70456         * tests/test-strcasestr.c: New file.
70457
70458 2007-02-11  Bruno Haible  <bruno@clisp.org>
70459
70460         Ensure O(n) worst-case complexity of c_strcasestr.
70461         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70462         (knuth_morris_pratt): New function.
70463         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70464         the bookkeeping indicates that it's worth it.
70465         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70466
70467         * modules/c-strcasestr-tests: New file.
70468         * tests/test-c-strcasestr.c: New file.
70469
70470 2007-02-11  Bruno Haible  <bruno@clisp.org>
70471
70472         Ensure O(n) worst-case complexity of c_strstr.
70473         * lib/c-strstr.c: Include stdbool.h, string.h.
70474         (knuth_morris_pratt): New function.
70475         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70476         bookkeeping indicates that it's worth it.
70477         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70478
70479         * lib/c-strstr.c: Complete rewrite for maintainability.
70480
70481         * modules/c-strstr-tests: New file.
70482         * tests/test-c-strstr.c: New file.
70483
70484 2007-02-11  Bruno Haible  <bruno@clisp.org>
70485
70486         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70487         5.2.1 and earlier, whereby \055 was treated just like the range
70488         delimiter '-'.
70489         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70490
70491 2007-02-08  Bruno Haible  <bruno@clisp.org>
70492
70493         * modules/regex (Depends-on): Add stdbool.
70494         Reported by Dalibor Topic <robilad@kaffe.org>.
70495
70496 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70497
70498         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70499         Prefer returning from main to exiting from it.
70500         Remove unnecessary parens after sizeof.
70501
70502 2007-02-05  Bruno Haible  <bruno@clisp.org>
70503
70504         New module mbssep.
70505         * modules/mbssep: New file.
70506         * lib/mbssep.c: New file.
70507         * lib/string_.h (strsep): Add a conditional link warning.
70508         (mbssep): New declaration.
70509         * m4/mbssep.m4: New file.
70510         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70511         GNULIB_MBSSEP.
70512         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70513         * MODULES.html.sh (Internationalization functions): Add mbssep.
70514
70515 2007-02-05  Bruno Haible  <bruno@clisp.org>
70516
70517         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70518         Optimize search in case of 1 delimiter.
70519
70520 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70521
70522         * lib/acl.h: Include sys/types.h before sys/acl.h.
70523
70524 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70525
70526         Merge upstream fix for glibc bugzilla #3957:
70527
70528         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70529
70530         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70531         bit for RE_HAT_LISTS_NOT_NEWLINE.
70532         (build_charclass_op): Remove bogus comment.
70533
70534 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70535
70536         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70537
70538 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70539
70540         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70541         * lib/memmem.c [!defined _LIBC]: Include config.h.
70542
70543 2007-02-04  Bruno Haible  <bruno@clisp.org>
70544
70545         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70546         warning message.
70547
70548 2007-02-04  Bruno Haible  <bruno@clisp.org>
70549
70550         New module mbstok_r.
70551         * modules/mbstok_r: New file.
70552         * lib/mbstok_r.c: New file.
70553         * lib/string_.h (strtok_r): Change argument names to match the
70554         comments. Add a conditional link warning.
70555         (mbstok_r): New declaration.
70556         * m4/mbstok_r.m4: New file.
70557         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70558         GNULIB_MBSTOK_R.
70559         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70560         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70561
70562 2007-02-04  Bruno Haible  <bruno@clisp.org>
70563
70564         New module mbsspn.
70565         * modules/mbsspn: New file.
70566         * lib/mbsspn.c: New file.
70567         * lib/string_.h (strspn): Add a conditional link warning.
70568         (mbsspn): New declaration.
70569         * m4/mbsspn.m4: New file.
70570         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70571         GNULIB_MBSSPN.
70572         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70573         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70574
70575 2007-02-04  Bruno Haible  <bruno@clisp.org>
70576
70577         New module mbspbrk.
70578         * modules/mbspbrk: New file.
70579         * lib/mbspbrk.c: New file.
70580         * lib/string_.h (strpbrk): Add a conditional link warning.
70581         (mbspbrk): New declaration.
70582         * m4/mbspbrk.m4: New file.
70583         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70584         GNULIB_MBSPBRK.
70585         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70586         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70587
70588 2007-02-04  Bruno Haible  <bruno@clisp.org>
70589
70590         New module mbscspn.
70591         * modules/mbscspn: New file.
70592         * lib/mbscspn.c: New file.
70593         * lib/string_.h (strcspn): Add a conditional link warning.
70594         (mbscspn): New declaration.
70595         * m4/mbscspn.m4: New file.
70596         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70597         GNULIB_MBSCSPN.
70598         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70599         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70600
70601 2007-02-04  Bruno Haible  <bruno@clisp.org>
70602
70603         New module mbscasestr, reduced goal of strcasestr.
70604         * modules/mbscasestr: New file.
70605         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
70606         (mbscasestr): Renamed from strcasestr.
70607         * lib/strcasestr.c: Don't include mbuiter.h.
70608         (strcasestr): Remove support for multibyte locales.
70609         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
70610         Change the conditional link warning.
70611         (mbscasestr): New declaration.
70612         * m4/mbscasestr.m4: New file.
70613         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
70614         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
70615         REPLACE_STRCASESTR.
70616         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
70617         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70618         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70619         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
70620         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
70621         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70622         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
70623         (Depends-on): Remove mbuiter.
70624         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
70625
70626 2007-02-04  Bruno Haible  <bruno@clisp.org>
70627
70628         Simplify handling of strncasecmp.
70629         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
70630         the conditional link warning.
70631         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70632         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
70633         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
70634         * modules/strcase (configure.ac): Don't invoke
70635         gl_STRING_MODULE_INDICATOR.
70636         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
70637
70638 2007-02-04  Bruno Haible  <bruno@clisp.org>
70639
70640         New module mbscasecmp, reduced goal of strcasecmp.
70641         * modules/mbscasecmp: New file.
70642         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70643         (mbscasecmp): Renamed from strcasecmp.
70644         * lib/strcasecmp.c: Don't include mbuiter.h.
70645         (strcasecmp): Remove support for multibyte locales.
70646         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70647         Change the conditional link warning.
70648         (mbscasecmp): New declaration.
70649         * m4/mbscasecmp.m4: New file.
70650         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70651         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70652         REPLACE_STRCASECMP.
70653         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70654         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70655         GNULIB_MBSCASECMP.
70656         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70657         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70658         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70659         (Depends-on): Remove mbuiter.
70660         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70661
70662 2007-02-04  Bruno Haible  <bruno@clisp.org>
70663
70664         New module mbsstr. Remove module strstr.
70665         * modules/mbsstr: New file.
70666         * modules/strstr: Remove file.
70667         * lib/mbsstr.c: Renamed from lib/strstr.c.
70668         (mbsstr): Renamed from strstr.
70669         * lib/string_.h (strstr): Remove declaration. Change the conditional
70670         link warning.
70671         (mbsstr): New declaration.
70672         * m4/mbsstr.m4: New file.
70673         * m4/strstr.m4: Remove file.
70674         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70675         REPLACE_STRSTR.
70676         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
70677         Don't initialize GNULIB_STRSTR.
70678         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
70679         substitute GNULIB_STRSTR and REPLACE_STRSTR.
70680         * MODULES.html.sh (Internationalization functions): Add mbsstr.
70681         (Support for systems lacking ANSI C 89): Remove strstr.
70682
70683 2007-02-04  Bruno Haible  <bruno@clisp.org>
70684
70685         New module mbsrchr.
70686         * modules/mbsrchr: New file.
70687         * lib/mbsrchr.c: New file.
70688         * lib/string_.h (strrchr): Add a conditional link warning.
70689         (mbsrchr): New declaration.
70690         * m4/mbsrchr.m4: New file.
70691         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70692         GNULIB_MBSRCHR.
70693         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
70694         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
70695
70696 2007-02-04  Bruno Haible  <bruno@clisp.org>
70697
70698         New module mbschr.
70699         * modules/mbschr: New file.
70700         * lib/mbschr.c: New file.
70701         * lib/string_.h (strchr): Add a conditional link warning.
70702         (mbschr): New declaration.
70703         * m4/mbschr.m4: New file.
70704         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70705         GNULIB_MBSCHR.
70706         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
70707         * MODULES.html.sh (Internationalization functions): Add mbschr.
70708
70709 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70710
70711         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
70712
70713         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
70714
70715 2007-02-04  Bruno Haible  <bruno@clisp.org>
70716
70717         New module description section 'configure.ac-early'.
70718         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
70719         (func_get_autoconf_early_snippet): New function.
70720         (func_import, func_create_testdir): Use it. Remove special cases for
70721         modules 'extensions' and 'lock'.
70722         * modules/extensions (configure.ac-early): Require
70723         gl_USE_SYSTEM_EXTENSIONS.
70724         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
70725
70726 2007-02-04  Bruno Haible  <bruno@clisp.org>
70727
70728         Make use of gcj-4.3's -fsource and -ftarget option.
70729         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
70730         and if so try the options -fsource and -ftarget.
70731         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
70732         source_version, ftarget_option, target_version arguments.
70733         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
70734         (is_envjavac_oldgcj_14_14_usable): Renamed from
70735         is_envjavac_gcj_14_14_usable.
70736         (is_envjavac_oldgcj_14_13_usable): Renamed from
70737         is_envjavac_gcj_14_13_usable.
70738         (is_gcj_present): Update.
70739         (is_gcj_43, is_gcj43_usable): New functions.
70740         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
70741         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
70742         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
70743         try the options -fsource and -ftarget.
70744
70745 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70746
70747         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
70748         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
70749         larger value.
70750
70751 2007-02-03  Jim Meyering  <jim@meyering.net>
70752
70753         Give tools a better chance to allocate space for very large buffers.
70754         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
70755
70756         Make pwd and readlink work also when run with an unreadable parent dir
70757         on systems with openat support.
70758         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
70759         provided getcwd function, even when we have openat support.
70760         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
70761
70762 2007-02-02  Bruno Haible  <bruno@clisp.org>
70763
70764         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70765         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
70766         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
70767         portability problems if one of these functions is only used on specific
70768         platforms.
70769         Reported by Paul Eggert.
70770
70771 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
70772
70773         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
70774         is causing more trouble than it's curing.
70775         * lib/regex_internal.h (__mempcpy): Remove.
70776         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
70777         (and make the code a tad smaller to boot).
70778         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
70779
70780 2007-02-02  Jim Meyering  <jim@meyering.net>
70781
70782         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
70783         section, not in the Makefile.am: one.
70784
70785 2007-02-02  Eric Blake  <ebb9@byu.net>
70786
70787         * lib/strchrnul.c: Always include config.h first.
70788
70789         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
70790         gnulib strstr is not necessary here.
70791
70792 2007-02-02  Simon Josefsson  <simon@josefsson.org>
70793
70794         * m4/socklen.m4: Fix typo.
70795
70796 2007-02-02  Eric Blake  <ebb9@byu.net>
70797
70798         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
70799         * modules/netinet_in (Makefile.am): Likewise.
70800
70801 2007-02-01  Bruno Haible  <bruno@clisp.org>
70802
70803         * lib/string_.h (GL_LINK_WARNING): New macro.
70804         (strcasecmp, strstr, strcasestr): If provided by the system,
70805         conditionally define as a macro that leads to a warning instead of to
70806         an error.
70807         (strncasecmp): Conditionally define as a macro that leads to a warning.
70808
70809 2007-02-01  Karl Berry  <karl@gnu.org>
70810
70811         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
70812
70813 2007-02-01  Bruno Haible  <bruno@clisp.org>
70814
70815         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
70816         renamings.
70817
70818 2007-02-01  Eric Blake  <ebb9@byu.net>
70819
70820         * modules/regex (Depends-on): Revert dependence on mempcpy.
70821         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
70822         module's definition of mempcpy.
70823         Reported by Paul Eggert.
70824
70825 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70826
70827         * lib/string_.h: If the gnulib module XYZ is not present, undefine
70828         the symbol XYZ before redefining it.  This fixes a problem with
70829         programs that don't use XYZ, when compiled on systems that define
70830         XYZ to something else.
70831
70832 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
70833
70834         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
70835         occurs when "mkdir -m foo" creates a setgid directory that is (1)
70836         writeable to group or other and (2) is intended to have a special
70837         mode bit that is set or cleared.  In such a case, the directory
70838         should be neither group- nor other-writeable until the special
70839         mode bits are right.
70840
70841 2007-01-31  Eric Blake  <ebb9@byu.net>
70842
70843         * modules/mountlist (Depends-on): Add strstr.
70844
70845         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
70846         bug.
70847         * modules/string (Makefile.am): Remove redundant replacement.
70848         * modules/regex (Depends-on): Add mempcpy.
70849
70850 2007-01-31  Bruno Haible  <bruno@clisp.org>
70851
70852         New module description field 'Link'.
70853         * gnulib-tool (func_usage): Document --extract-link-directive.
70854         (sed_extract_prog): Recognize 'Link' directive.
70855         (func_get_link_directive): New function.
70856         (func_import): Show summary of link directives.
70857         Handle --extract-link-directive option.
70858         * modules/acl (Link): New section.
70859         * modules/clock-time (Link): New section.
70860         * modules/euidaccess (Link): New section.
70861         * modules/gettext (Link): New section.
70862         * modules/iconv (Link): New section.
70863         * modules/lock (Link): New section.
70864         * modules/nanosleep (Link): New section.
70865         * modules/readline (Link): New section.
70866
70867 2007-01-27  Bruno Haible  <bruno@clisp.org>
70868
70869         Enforce the use of gnulib modules for unportable <string.h> functions.
70870         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
70871         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
70872         (gl_HEADER_STRING_H_BODY): Require it.
70873         * lib/string_.h: If the gnulib module XYZ is not present, redefine
70874         the symbol XYZ to one that gives a link error.
70875         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
70876         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
70877         * modules/mempcpy (configure.ac): Likewise.
70878         * modules/memrchr (configure.ac): Likewise.
70879         * modules/stpcpy (configure.ac): Likewise.
70880         * modules/stpncpy (configure.ac): Likewise.
70881         * modules/strcase (configure.ac): Likewise.
70882         * modules/strcasestr (configure.ac): Likewise.
70883         * modules/strchrnul (configure.ac): Likewise.
70884         * modules/strdup (configure.ac): Likewise.
70885         * modules/strndup (configure.ac): Likewise.
70886         * modules/strnlen (configure.ac): Likewise.
70887         * modules/strpbrk (configure.ac): Likewise.
70888         * modules/strsep (configure.ac): Likewise.
70889         * modules/strstr (configure.ac): Likewise.
70890         * modules/strtok_r (configure.ac): Likewise.
70891
70892 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
70893
70894         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
70895
70896 2007-01-30  Jim Meyering  <jim@meyering.net>
70897
70898         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
70899
70900 2007-01-29  Bruno Haible  <bruno@clisp.org>
70901
70902         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
70903         * lib/execute.c: Likewise.
70904         * lib/pipe.c: Likewise.
70905         * lib/printf-args.h: Likewise.
70906         * lib/printf-args.c: Likewise.
70907         * lib/printf-parse.c: Likewise.
70908         * lib/vasnprintf.c: Likewise.
70909
70910 2007-01-29  Eric Blake  <ebb9@byu.net>
70911
70912         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
70913         declaration.
70914
70915 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70916
70917         * lib/strptime.h (strptime): Use 'restrict' for args where
70918         POSIX requires this.
70919         * lib/strptime.c (strptime): Likewise.
70920         Change license notice from LGPL to GPL, since gnulib-tool will
70921         change this as needed.
70922         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
70923         defined.
70924         Include "strptime.h" first, to check interface.
70925         Do not #undef _LIBC and _NL_CURRENT.
70926         Do not include <stdlib.h>; no longer needed.
70927         Include "time_r.h" and declare ptime_locale_status
70928         only if _LIBC is not defined.
70929         (__P): Remove unused macro.
70930         (match_string): Bring back glibc version, but use it only if _LIBC
70931         is defined.
70932         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
70933         Remove unnecessary assertion and abort() call.
70934         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
70935         * m4/strptime.m4: Fix serial number comment.
70936         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
70937         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
70938         (Depends-on): Add time_r.
70939
70940 2007-01-29  Bruno Haible  <bruno@clisp.org>
70941
70942         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70943         strptime.
70944         * modules/strptime (Depends-on): Add stdbool.
70945         * lib/strptime.h: Include <time.h> always. Add comments.
70946
70947 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70948
70949         * modules/strptime: New file.
70950         * lib/strptime.h: New file.
70951         * lib/strptime.c: New file.
70952         * m4/strptime.m4: New file.
70953
70954 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70955
70956         * MODULES.html.sh: New module mpsort.
70957         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
70958
70959         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
70960         a circularity problem with HP-UX ia64 reported by Bob Proulx in
70961         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
70962         All uses changed.
70963         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
70964         All uses changed.
70965         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
70966         to _Restrict_.
70967         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
70968         the parameter matches the prototype.
70969
70970 2007-01-28  Jim Meyering  <jim@meyering.net>
70971
70972         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
70973         sys/time.h here, reverting that part of the previous patch:
70974         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
70975
70976 2007-01-28  Bruno Haible  <bruno@clisp.org>
70977
70978         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
70979         value of $(SYS_TIME_H).
70980         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
70981         remove it conditionally, too. [added by Jim Meyering]
70982         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
70983         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70984         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
70985         GETTIMEOFDAY_REPLACEMENT to 1.
70986
70987 2007-01-28  Bruno Haible  <bruno@clisp.org>
70988
70989         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
70990         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
70991         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
70992         Set UNISTD_H instead of UNISTD_H2.
70993         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
70994
70995 2007-01-28  Bruno Haible  <bruno@clisp.org>
70996
70997         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
70998         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
70999
71000 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71001
71002         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
71003         (func_create_testdir): Ensure C locale for `grep' and `tr'
71004         character ranges.
71005         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
71006         ACLOCAL_AMFLAGS parsing state machine.
71007
71008 2007-01-27  Bruno Haible  <bruno@clisp.org>
71009
71010         * modules/unistr/base: Update.
71011
71012 2007-01-27  Bruno Haible  <bruno@clisp.org>
71013
71014         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71015         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71016         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71017         modules/unistr/u32-mbtouc.
71018         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71019         * lib/unistr.h: Update.
71020         * lib/linebreak.c: Update.
71021         * modules/unistr/u32-mbtouc: Renamed from
71022         modules/unistr/u32-mbtouc-safe.
71023         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71024         * lib/unistr.h: Update.
71025         * lib/unistr/u32-to-u8.c: Update.
71026         * lib/unistr/u32-to-u16.c: Update.
71027
71028 2007-01-27  Bruno Haible  <bruno@clisp.org>
71029
71030         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71031         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71032         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71033         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71034         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71035         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71036         modules/unistr/u16-mbtouc.
71037         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71038         * lib/unistr.h: Update.
71039         * lib/linebreak.c: Update.
71040         * modules/linebreak: Update.
71041         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71042         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71043         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71044         * modules/unistr/u16-mbtouc: Renamed from
71045         modules/unistr/u16-mbtouc-safe.
71046         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71047         * lib/unistr.h: Update.
71048         * lib/unistr/u16-to-u8.c: Update.
71049         * modules/unistr/u16-to-u8: Update.
71050         * lib/unistr/u16-to-u32.c: Update.
71051         * modules/unistr/u16-to-u32: Update.
71052
71053 2007-01-27  Bruno Haible  <bruno@clisp.org>
71054
71055         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71056         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71057         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71058         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71059         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71060         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71061         modules/unistr/u8-mbtouc.
71062         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71063         * lib/unistr.h: Update.
71064         * lib/striconveh.c: Update.
71065         * modules/striconveh: Update.
71066         * lib/linebreak.c: Update.
71067         * modules/linebreak: Update.
71068         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
71069         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
71070         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
71071         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
71072         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
71073         * lib/unistr.h: Update.
71074         * lib/striconveh.c: Update.
71075         * modules/striconveh: Update.
71076         * lib/unistr/u8-to-u16.c: Update.
71077         * modules/unistr/u8-to-u16: Update.
71078         * lib/unistr/u8-to-u32.c: Update.
71079         * modules/unistr/u8-to-u32: Update.
71080
71081 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71082
71083         Sync from Libtool.
71084         * lib/argz.c: Do not include strings.h nor memory.h, include
71085         string.h unconditionally.  Patch by Simon Josefsson.
71086
71087 2007-01-27  Bruno Haible  <bruno@clisp.org>
71088
71089         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
71090         from gl_HEADER_STRING_H_BODY.
71091         (gl_HEADER_STRING_H_BODY): Require it.
71092         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
71093         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
71094         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
71095         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
71096         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
71097         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
71098         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
71099         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
71100         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
71101         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
71102         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
71103         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
71104         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
71105         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
71106         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71107
71108 2007-01-27  Bruno Haible  <bruno@clisp.org>
71109
71110         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
71111         check_PROGRAMS into noinst_PROGRAMS.
71112         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
71113         check_PROGRAMS in this case.
71114         (func_import): Set for_test to false.
71115         (func_create_testdir): Set for_test to true.
71116
71117 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71118             Bruno Haible  <bruno@clisp.org>
71119
71120         * modules/strcasestr (Files): Remove lib/strcasestr.h.
71121         (Depends-on): Add string.
71122         (Includes): Use <string.h> instead of strcasestr.h.
71123         * modules/string (Makefile.am): Also substitute the value of
71124         REPLACE_STRCASESTR.
71125         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
71126         assume strcasestr is declared in <string.h> not <strings.h>. Also
71127         set REPLACE_STRCASESTR.
71128         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
71129         REPLACE_STRCASESTR.
71130         * lib/strcasestr.h: Remove file.
71131         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
71132         * lib/string_.h (strcasestr): New declaration.
71133
71134 2007-01-27  Bruno Haible  <bruno@clisp.org>
71135
71136         * lib/string_.h: Use 'extern'.
71137
71138 2007-01-27  Jim Meyering  <jim@meyering.net>
71139
71140         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
71141         of set-but-not-used local, "q".
71142
71143         * lib/mempcpy.c: Include <config.h> before <string.h>.
71144         This fixes a compilation error on HP-UX, due to the system's
71145         "restrict"-using mempcpy prototype.
71146
71147 2007-01-26  Bruno Haible  <bruno@clisp.org>
71148
71149         Small optimization.
71150         * lib/javacomp.c: Include c-strstr.h.
71151          (is_envjavac_gcj): Use c_strstr instead of strstr.
71152         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
71153
71154 2007-01-26  Bruno Haible  <bruno@clisp.org>
71155
71156         * MODULES.html.sh (Unicode string functions): Add the new modules.
71157
71158         * modules/uniconv/u32-strconv-to-locale: New file.
71159         * lib/uniconv/u32-strconv-to-locale.c: New file.
71160
71161         * modules/uniconv/u16-strconv-to-locale: New file.
71162         * lib/uniconv/u16-strconv-to-locale.c: New file.
71163
71164         * modules/uniconv/u8-strconv-to-locale: New file.
71165         * lib/uniconv/u8-strconv-to-locale.c: New file.
71166
71167         * modules/uniconv/u32-strconv-from-locale: New file.
71168         * lib/uniconv/u32-strconv-from-locale.c: New file.
71169
71170         * modules/uniconv/u16-strconv-from-locale: New file.
71171         * lib/uniconv/u16-strconv-from-locale.c: New file.
71172
71173         * modules/uniconv/u8-strconv-from-locale: New file.
71174         * lib/uniconv/u8-strconv-from-locale.c: New file.
71175
71176         * modules/uniconv/u32-strconv-to-enc: New file.
71177         * lib/uniconv/u32-strconv-to-enc.c: New file.
71178         * modules/uniconv/u32-strconv-to-enc-tests: New file.
71179         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
71180
71181         * modules/uniconv/u16-strconv-to-enc: New file.
71182         * lib/uniconv/u16-strconv-to-enc.c: New file.
71183         * lib/uniconv/u-strconv-to-enc.h: New file.
71184         * modules/uniconv/u16-strconv-to-enc-tests: New file.
71185         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
71186
71187         * modules/uniconv/u8-strconv-to-enc: New file.
71188         * lib/uniconv/u8-strconv-to-enc.c: New file.
71189         * modules/uniconv/u8-strconv-to-enc-tests: New file.
71190         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
71191
71192         * modules/uniconv/u32-strconv-from-enc: New file.
71193         * lib/uniconv/u32-strconv-from-enc.c: New file.
71194         * modules/uniconv/u32-strconv-from-enc-tests: New file.
71195         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
71196
71197         * modules/uniconv/u16-strconv-from-enc: New file.
71198         * lib/uniconv/u16-strconv-from-enc.c: New file.
71199         * modules/uniconv/u16-strconv-from-enc-tests: New file.
71200         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
71201
71202         * modules/uniconv/u8-strconv-from-enc: New file.
71203         * lib/uniconv/u8-strconv-from-enc.c: New file.
71204         * lib/uniconv/u-strconv-from-enc.h: New file.
71205         * modules/uniconv/u8-strconv-from-enc-tests: New file.
71206         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
71207
71208         * modules/uniconv/u32-conv-from-enc: New file.
71209         * lib/uniconv/u32-conv-from-enc.c: New file.
71210         * modules/uniconv/u32-conv-from-enc-tests: New file.
71211         * tests/uniconv/test-u32-conv-from-enc.c: New file.
71212
71213         * modules/uniconv/u16-conv-from-enc: New file.
71214         * lib/uniconv/u16-conv-from-enc.c: New file.
71215         * lib/uniconv/u-conv-from-enc.h: New file.
71216         * modules/uniconv/u16-conv-from-enc-tests: New file.
71217         * tests/uniconv/test-u16-conv-from-enc.c: New file.
71218
71219         * modules/uniconv/u8-conv-from-enc: New file.
71220         * lib/uniconv/u8-conv-from-enc.c: New file.
71221         * modules/uniconv/u8-conv-from-enc-tests: New file.
71222         * tests/uniconv/test-u8-conv-from-enc.c: New file.
71223
71224         * modules/uniconv/base: New file.
71225         * lib/uniconv.h: New file.
71226
71227 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71228
71229         * doc/gnulib-tool.texi (Initial import): Update to match current
71230         behavior with strdup module.
71231         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
71232         * lib/memmem.h: Remove; all uses removed.  This is now done
71233         by <string.h>.
71234         * lib/mempcpy.h: Likewise.
71235         * lib/memrchr.h: Likewise.
71236         * lib/stpcpy.h: Likewise.
71237         * lib/stpncpy.h: Likewise.
71238         * lib/strcase.h: Likewise.
71239         * lib/strchrnul.h: Likewise.
71240         * lib/strdup.h: Likewise.
71241         * lib/strndup.h: Likewise.
71242         * lib/strnlen.h: Likewise.
71243         * lib/strpbrk.h: Likewise.
71244         * lib/strsep.h: Likewise.
71245         * lib/strstr.h: Likewise.
71246         * lib/strtok_r.h: Likewise.
71247         * lib/string_.h: New file.
71248         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
71249         Rely on <string.h> instead.
71250         * lib/canon-host.c: Likewise.
71251         * lib/chdir-long.c: Likewise.
71252         * lib/concatpath.c: Likewise.
71253         * lib/exclude.c: Likewise.
71254         * lib/fchdir.c: Likewise.
71255         * lib/getaddrinfo.c: Likewise.
71256         * lib/getcwd.c: Likewise.
71257         * lib/getsubopt.c: Likewise.
71258         * lib/glob.c: Likewise.
71259         * lib/hard-locale.c: Likewise.
71260         * lib/iconvme.c: Likewise.
71261         * lib/javacomp.c: Likewise.
71262         * lib/mempcpy.c: Likewise.
71263         * lib/memrchr.c: Likewise.
71264         * lib/regex_internal.h: Likewise.
71265         * lib/stpncpy.c: Likewise.
71266         * lib/strcasecmp.c: Likewise.
71267         * lib/strchrnul.c: Likewise.
71268         * lib/strdup.c: Likewise.
71269         * lib/striconv.c: Likewise.
71270         * lib/striconveh.c: Likewise.
71271         * lib/striconveha.c: Likewise.
71272         * lib/strncasecmp.c: Likewise.
71273         * lib/strndup.c: Likewise.
71274         * lib/strnlen.c: Likewise.
71275         * lib/strsep.c: Likewise.
71276         * lib/strstr.c: Likewise.
71277         * lib/strtok_r.c: Likewise.
71278         * lib/userspec.c: Likewise.
71279         * lib/w32spawn.h: Likewise.
71280         * lib/xstrndup.c: Likewise.
71281         * lib/mountlist.c (strstr): Remove decl.
71282         * m4/string_h.m4: New file.
71283         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
71284         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
71285         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
71286         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
71287         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
71288         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
71289         Set REPLACE_STRCASECMP if necessary.
71290         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
71291         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
71292         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
71293         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
71294         HAVE_DECL_STRDUP if necessary.
71295         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
71296         since gl_FUNC_STRNDUP does that now.
71297         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
71298         Check for decl here...
71299         (gl_PREREQ_STRNLEN): ... not here.
71300         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
71301         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
71302         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
71303         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
71304         necessary.
71305         * modules/string: New file.
71306         * modules/memmem (Files): Remove special-purpose include file.
71307         (Depends-on): Add string.
71308         (Include): Include <string.h>, not the removed file.
71309         * modules/mempcpy: Likewise.
71310         * modules/memrchr: Likewise.
71311         * modules/stpcpy: Likewise.
71312         * modules/stpncpy: Likewise.
71313         * modules/strcase: Likewise.
71314         * modules/strchrnul: Likewise.
71315         * modules/strdup: Likewise.
71316         * modules/strndup: Likewise.
71317         * modules/strnlen: Likewise.
71318         * modules/strpbrk: Likewise.
71319         * modules/strsep: Likewise.
71320         * modules/strstr: Likewise.
71321         * modules/strtok_r: Likewise.
71322         * tests/test-dirname.c: Don't include "strdup.h", since
71323         <string.h> now suffices.
71324         * tests/test-memmem.c: Don't include "memmem.h", since
71325         <string.h> now suffices.
71326
71327 2007-01-25  Bruno Haible  <bruno@clisp.org>
71328
71329         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
71330         *resultp is 0.
71331
71332         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
71333         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
71334         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
71335         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
71336
71337         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
71338         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
71339         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
71340         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
71341         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
71342         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
71343
71344 2007-01-24  Bruno Haible  <bruno@clisp.org>
71345
71346         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
71347         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
71348         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
71349         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
71350         gl_FUNC_FTS_CORE.
71351         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
71352         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
71353         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71354         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
71355         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
71356         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
71357         gl_FUNC_FCHOWNAT.
71358         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
71359         gl_FUNC_STRFTIME.
71360         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
71361         Reported by Ralf Wildenhues.
71362
71363 2007-01-24  Bruno Haible  <bruno@clisp.org>
71364
71365         Drop AC_REQUIRE calls that are redundant with the module dependencies.
71366         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
71367         gl_GETADDRINFO.
71368         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
71369         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
71370         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
71371
71372 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
71373
71374         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
71375         Don't use 'exit'; just return from 'main'.
71376         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
71377
71378         * lib/fnmatch_.h: Readjust white space and comments to match
71379         glibc, to avoid spurious diffs.
71380
71381 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71382
71383         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
71384         2004-12-01 change by Jakub Jelinek, since this code won't compile
71385         if !LIBC.  Problem reported by Bob Proulx.
71386
71387 2007-01-23  Bruno Haible  <bruno@clisp.org>
71388
71389         * lib/striconveh.c: Include c-strcaseeq.h.
71390         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
71391         * modules/striconveh (Depends-on): Add c-strcaseeq.
71392
71393 2007-01-23  Bruno Haible  <bruno@clisp.org>
71394
71395         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
71396
71397         * modules/c-strcaseeq: New file.
71398         * lib/c-strcaseeq.h: New file.
71399
71400         * modules/streq: New file.
71401         * lib/streq.h: New file.
71402
71403 2007-01-23  Bruno Haible  <bruno@clisp.org>
71404
71405         * modules/striconveha-tests: New file.
71406         * tests/test-striconveha.c: New file.
71407
71408         * lib/striconveha.h: Include <stdbool.h>.
71409         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
71410         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
71411         (mem_iconveha_notranslit): Renamed from mem_iconveha.
71412         (mem_iconveha): New function.
71413         (str_iconveha_notranslit): Renamed from str_iconveha.
71414         (str_iconveha): New function.
71415         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
71416         c-strcase.
71417
71418 2007-01-23  Bruno Haible  <bruno@clisp.org>
71419
71420         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
71421         encodings without forgiving before trying any encoding with handler.
71422         (str_iconveha): Try all encodings without forgiving before trying any
71423         encoding with handler.
71424
71425 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71426
71427         Import the following changes from libc.
71428
71429         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71430
71431         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71432
71433         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71434
71435         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71436         normal_bracket label.
71437
71438         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71439
71440         [BZ #361]
71441         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71442         to normal_bracket after fetching the next character.
71443
71444 2007-01-22  Bruno Haible  <bruno@clisp.org>
71445
71446         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71447         argument.
71448         * lib/striconveh.c (iconv_carefully_1): New function.
71449         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71450         argument.
71451         (str_cd_iconveh): Update.
71452         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71453         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71454         * tests/test-striconveh.c (MAGIC): New macro.
71455         (new_offsets): New function.
71456         (main): Test call with and without offsets.
71457
71458 2007-01-22  Bruno Haible  <bruno@clisp.org>
71459
71460         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71461         * modules/sys_select (Makefile.am): Likewise.
71462         * modules/sys_socket (Makefile.am): Likewise.
71463         * modules/sys_time (Makefile.am): Likewise.
71464
71465 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71466
71467         * modules/gettimeofday (License): Change from GPL to LGPL, since
71468         gettimeofday is a library function.
71469
71470 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71471
71472         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71473
71474 2007-01-21  Bruno Haible  <bruno@clisp.org>
71475
71476         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71477
71478 2007-01-21  Bruno Haible  <bruno@clisp.org>
71479
71480         * modules/striconveha: New file.
71481         * lib/striconveha.h: New file.
71482         * lib/striconveha.c: New file.
71483         * MODULES.html.sh (Internationalization functions): Add striconveha.
71484         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71485         string.
71486         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71487
71488 2007-01-21  Bruno Haible  <bruno@clisp.org>
71489
71490         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71491         * lib/striconveh.c (str_iconveh): Likewise.
71492
71493 2007-01-21  Bruno Haible  <bruno@clisp.org>
71494
71495         * lib/striconveh.h (mem_iconveh): New declaration.
71496         * lib/striconveh.c (mem_iconveh): New function.
71497         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71498
71499 2007-01-21  Bruno Haible  <bruno@clisp.org>
71500
71501         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71502
71503         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71504         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71505         original result buffer.
71506         (str_cd_iconveh): Update.
71507         * tests/test-striconveh.c (main): Update.
71508
71509         * lib/striconv.h (mem_cd_iconv): Change specification.
71510         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71511         result buffer.
71512         (str_cd_iconv): Update.
71513         * tests/test-striconv.c (main): Update.
71514
71515 2007-01-21  Bruno Haible  <bruno@clisp.org>
71516
71517         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71518
71519 2007-01-20  Jim Meyering  <jim@meyering.net>
71520
71521         * lib/userspec.c (parse_with_separator): If a user or group string
71522         starts with "+", skip the corresponding name-to-ID look-up, since
71523         such a look-up must fail: user and group names may not include "+".
71524
71525 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71526
71527         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71528         since we now assume the sys_time module.
71529         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71530         check for sys/time.h; no longer needed.
71531         * modules/poll (Depends-on): Depend on sys_time.
71532
71533 2007-01-18  Bruno Haible  <bruno@clisp.org>
71534
71535         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71536         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71537
71538         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71539         gettimeofday.
71540
71541         * tests/test-gettimeofday.c: Include <time.h>.
71542         (dummy): Remove variable.
71543
71544         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71545         gl_HEADER_SYS_TIME_H.
71546         (gl_HEADER_SYS_TIME_H): New macro.
71547
71548         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71549         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71550         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71551         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71552         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71553         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71554         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71555         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71556         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71557         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71558         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71559
71560         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71561         last change; it caused a compilation error when cross-compiling to
71562         Cygwin.
71563
71564 2007-01-18  Jim Meyering  <jim@meyering.net>
71565
71566         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71567         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71568         than the race-prone "test -d sys || mkdir sys".
71569         (configure.ac): Use AC_PROG_MKDIR_P.
71570         * modules/sys_select: Likewise.
71571         * modules/sys_socket: Likewise.
71572         * modules/sys_time: Likewise.
71573
71574 2007-01-18  Eric Blake  <ebb9@byu.net>
71575
71576         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71577         replace gettimeofday.
71578         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71579         name, to avoid infinite recursion.
71580
71581 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71582
71583         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71584         module sys_time.
71585         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71586         assume timespec.h defines struct timeval.
71587         * lib/settime.c: Likewise.
71588         * lib/utimens.c: Likewise.
71589         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71590         since we now assume the gettimeofday module.
71591         * lib/tempname.c (__gen_tempname): Likewise.
71592         * lib/gettimeofday.h: Remove.
71593         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71594         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71595         Include <time.h>, for 'time()'.
71596         (localtime_buffer_addr): Also use this workaround if
71597         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71598         to simplify the uses.  All uses changed.
71599         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71600         that #undef is inside {}, and 'const' follows type name consistently.
71601         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
71602         (gettimeofday): Do not use the maximum possible value for
71603         tv->tv_usec, since that might break usages other than ls.c.
71604         Instead, we'll leave ls.c alone.  This undoes today's patch
71605         by Bruno.  Add a compile-time warning for 1s-clock resolution;
71606         we've never observed the problem but might as well keep the
71607         canary.
71608         * lib/nanosleep.c: Include timespec.h first, for interface check.
71609         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
71610         now assume the sys_time module.
71611         * lib/tempname.c: Likewise.
71612         * lib/timespec.h: Likewise.
71613         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
71614         needed.
71615         * lib/strftime.c: Likewise.
71616         * lib/timespec.h: Likewise.
71617         * lib/posixtm.c: Include posixtm.h first, for interface check.
71618         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
71619         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
71620         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
71621         * lib/sys_time_.h: New file.
71622         * lib/timespec.h (struct timespec): Use long int, not long.
71623         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71624         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
71625         Remove obsolescent call to AC_HEADER_TIME.
71626         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
71627         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71628         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71629         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
71630         Likewise.
71631         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
71632         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
71633         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
71634         into the sys_time module.  Check for gettimeofday just once.
71635         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
71636         for gettimeofday signature to just check the signature.  Merely
71637         compile it, since linking doesn't test signature.  Improve test for
71638         whether gettimeofday.o is actually needed.
71639         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
71640         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
71641         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71642         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71643         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71644         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71645         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71646         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71647         than worrying about sys/time.h.
71648         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71649         Don't bother worrying about TIME_WITH_SYS_TIME.
71650         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71651         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71652         * m4/sys_time_h.m4: New file.
71653         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71654         Don't include sys/time.h.  Return from main rather than exiting.
71655         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71656         all uses changed.
71657         * modules/gethrxtime (Depends-on): Add sys_time.
71658         * modules/gettime (Depends-on): Likewise.
71659         * modules/gettimeofday (Depends-on): Likewise.
71660         * modules/nanosleep (Depends-on): Likewise.
71661         * modules/settime (Depends-on): Likewise.
71662         * modules/tempname (Depends-on): Likewise.
71663         * modules/utimens (Depends-on): Likewise.
71664         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
71665         (Include): Change back to <sys/time.h>.
71666         (Maintainer): Add self.
71667         * modules/sys_time: New file.
71668         * modules/tempname (Depends-on): Add gettimeofday.
71669         * tests/test-gettimeofday.c: Include <sys/time.h>
71670         rather than gettimeofday.h.
71671
71672 2007-01-17  Bruno Haible  <bruno@clisp.org>
71673
71674         * gnulib-tool (func_get_license): Revert last patch. Instead, let
71675         the license default to GPL.
71676         (func_create_testdir): Don't complain if a module is LGPL and its
71677         tests module depends on GPLed modules.
71678
71679 2007-01-17  Bruno Haible  <bruno@clisp.org>
71680
71681         * lib/gettimeofday.c (gettimeofday): Add code for the case
71682         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
71683         maximum possible value for tv->tv_usec, rather than the minimum one.
71684
71685 2005-10-08  Martin Lambers  <marlam@marlam.de>
71686 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71687 2007-01-16  Bruno Haible  <bruno@clisp.org>
71688
71689         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
71690         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
71691         gl_FUNC_GETTIMEOFDAY.
71692         (Include): Add gettimeofday.h.
71693         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
71694         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
71695         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
71696         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
71697         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
71698         * lib/gettimeofday.h: New file.
71699         * lib/gettimeofday.c: Include <sys/timeb.h>.
71700         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
71701         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71702         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
71703         fall back on time().
71704
71705         * tests/test-gettimeofday.c: New file.
71706         * modules/gettimeofday-tests: New file.
71707
71708 2007-01-16  Eric Blake  <ebb9@byu.net>
71709
71710         * modules/fnmatch (Depends-on): Depend on wchar.
71711         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
71712         * m4/fnmatch.m4: Likewise.
71713         * modules/mbchar (Makefile.am): Assume <wchar.h>.
71714         * m4/mbchar.m4: Likewise.
71715         * modules/mbswidth (Depends-on): Depend on wchar.
71716         * lib/mbswidth.c: Assume <wchar.h>.
71717         * m4/mbswidth.m4: Likewise.
71718         * modules/quotearg (Depends-on): Depend on wchar.
71719         * lib/quotearg.c: Assume <wchar.h>.
71720         * m4/quotearg.m4: Likewise.
71721         * modules/regex (Depends-on): Depend on wchar.
71722         * lib/regex_internal.h: Assume <wchar.h>.
71723         * m4/regex.m4: Likewise.
71724         * modules/stdint (Depends-on): Depend on wchar.
71725         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
71726         * m4/stdint.m4: Likewise.
71727         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
71728         * modules/strftime (Depends-on): Depend on wchar.
71729         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
71730         * modules/strtol (Depends-on): Depend on wchar.
71731         * lib/strtol.c: Assume <wchar.h>.
71732         * modules/wcwidth (Depends-on): Depend on wchar.
71733         * lib/wcwidth.h: Assume <wchar.h>.
71734         * m4/wcwidth.m4: Likewise.
71735
71736 2007-01-16  Bruno Haible  <bruno@clisp.org>
71737
71738         * modules/csharpexec-script: New, created from...
71739         * modules/csharpexec: ... this.
71740
71741 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
71742
71743         * modules/javaexec-script: New, created from...
71744         * modules/javaexec: ... this.
71745
71746 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71747
71748         * modules/poll (Dependencies): Add sys_select.
71749
71750 2007-01-15  Jim Meyering  <jim@meyering.net>
71751
71752         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
71753         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
71754         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
71755         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
71756
71757 2007-01-15  Bruno Haible  <bruno@clisp.org>
71758
71759         * modules/striconveh: New file.
71760         * lib/striconveh.h: New file.
71761         * lib/striconveh.c: New file.
71762         * MODULES.html.sh (Internationalization functions): Add striconveh.
71763
71764         * modules/striconveh-tests: New file.
71765         * tests/test-striconveh.c: New file.
71766
71767 2007-01-15  Bruno Haible  <bruno@clisp.org>
71768
71769         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
71770         not from GNU libiconv or GNU libc.
71771
71772 2007-01-15  Bruno Haible  <bruno@clisp.org>
71773
71774         * doc/gnulib-intro.texi (Copyright): Explain the different license
71775         terms for module descriptions, autoconf macros, tests, documentation.
71776
71777 2007-01-14  Bruno Haible  <bruno@clisp.org>
71778
71779         * modules/striconv-tests: New file.
71780         * tests/test-striconv.c: New file.
71781
71782 2007-01-14  Bruno Haible  <bruno@clisp.org>
71783
71784         * modules/iconv-tests: New file.
71785         * tests/test-iconv.c: New file.
71786
71787 2007-01-14  Bruno Haible  <bruno@clisp.org>
71788
71789         * gnulib-tool (func_get_license): For test modules, use the license of
71790         the main module.
71791
71792 2007-01-14  Bruno Haible  <bruno@clisp.org>
71793
71794         * modules/iconv (Include): Clarify that <iconv.h> can only be included
71795         if iconv is found to exist.
71796
71797 2007-01-14  Bruno Haible  <bruno@clisp.org>
71798
71799         * modules/c-ctype-tests: New file.
71800         * tests/test-c-ctype.c: New file.
71801
71802 2007-01-14  Bruno Haible  <bruno@clisp.org>
71803
71804         * modules/binary-io-tests: New file.
71805         * tests/test-binary-io.sh: New file.
71806         * tests/test-binary-io.c: New file.
71807
71808 2007-01-14  Bruno Haible  <bruno@clisp.org>
71809
71810         * modules/array-oset-tests: New file.
71811         * tests/test-array_oset.c: New file.
71812
71813 2007-01-14  Bruno Haible  <bruno@clisp.org>
71814
71815         * modules/array-list-tests: New file.
71816         * tests/test-array_list.c: New file.
71817
71818 2007-01-14  Bruno Haible  <bruno@clisp.org>
71819
71820         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
71821         and make.
71822         Reported by Simon Josefsson in
71823         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
71824
71825 2007-01-14  Bruno Haible  <bruno@clisp.org>
71826
71827         * modules/allocsa-tests: New file.
71828         * tests/test-allocsa.c: New file.
71829
71830 2007-01-14  Bruno Haible  <bruno@clisp.org>
71831
71832         * modules/fchdir (Depends-on): Add absolute-header.
71833         * modules/unistd (Depends-on): Likewise.
71834
71835 2006-12-30  Bruno Haible  <bruno@clisp.org>
71836
71837         * modules/fchdir: New file.
71838         * modules/unistd (Files): Add lib/unistd_.h.
71839         (Makefile.am): Generate unistd.h from unistd_.h.
71840         * lib/fchdir.c: New file.
71841         * lib/dirent_.h: New file.
71842         * lib/unistd_.h: New file.
71843         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
71844         * m4/fchdir.m4: New file.
71845         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
71846         (gl_HEADER_UNISTD): Invoke it.
71847         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
71848         function.
71849         * lib/backupfile.c (opendir, closedir): Undefine.
71850         * lib/chown.c (open, close): Undefine.
71851         * lib/clean-temp.c (open, close): Undefine.
71852         * lib/copy-file.c (open, close): Undefine.
71853         * lib/execute.c (open, close): Undefine.
71854         * lib/fsusage.c (open, close): Undefine.
71855         * lib/gc-gnulib.c (open, close): Undefine.
71856         * lib/getcwd.c (opendir, closedir): Undefine.
71857         * lib/glob.c (opendir, closedir): Undefine.
71858         * lib/javacomp.c (open, close): Undefine.
71859         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
71860         * lib/openat-proc.c (open, close): Undefine.
71861         * lib/pagealign_alloc.c (open, close): Undefine.
71862         * lib/pipe.c (open, close): Undefine.
71863         * lib/progreloc.c (open, close): Undefine.
71864         * lib/savedir.c (opendir, closedir): Undefine.
71865         * lib/utime.c (open, close): Undefine.
71866         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
71867
71868 2007-01-10  Bruno Haible  <bruno@clisp.org>
71869
71870         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
71871
71872 2007-01-12  Eric Blake  <ebb9@byu.net>
71873
71874         Provide a robust <wchar.h>.  Further simplifications are now
71875         possible in other modules, but not included here.
71876         * modules/wchar: New module.
71877         * m4/wchar.m4: New file.
71878         * lib/wchar_.h: Likewise.
71879         * modules/mbchar (Depends-on): Depend on wchar, as the first use
71880         of the new module.
71881         * MODULES.html.sh (Extended multibyte and wide character utilities):
71882         New section.
71883
71884 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
71885
71886         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
71887         to a reasonable default for memory allocation.
71888         (xreadlink): Don't allocate a huge buffer, to work around a buggy
71889         file system that reports garbage st_size values for symlinks.
71890         Problem reported by Liyang Hu.
71891
71892 2007-01-11  Simon Josefsson  <simon@josefsson.org>
71893
71894         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
71895         Emacs .#* auto-save files).
71896
71897 2007-01-11  Bruno Haible  <bruno@clisp.org>
71898
71899         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
71900         directory.
71901
71902 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
71903
71904         Use @...@ consistently in lib/wctype_.h.
71905         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
71906         on it being set to 1 or 0.
71907         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
71908         go back to AC_SUBSTing it.
71909         * modules/wctype (Makefile.am): Undo previous change.
71910
71911 2007-01-10  Eric Blake  <ebb9@byu.net>
71912
71913         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
71914         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
71915         * modules/wctype (Makefile.am): Likewise.
71916         Reported by Chris McGuire.
71917
71918 2007-01-10  Jim Meyering  <jim@meyering.net>
71919
71920         fts.c: a small readability/maintainability improvement
71921         * lib/fts.c (fts_read): Make this code slightly more readable and
71922         maintainable by hoisting the "sp->fts_cur = p" assignments to
71923         immediately follow the statements that set P.  Derived from
71924         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
71925
71926 2007-01-10  Eric Blake  <ebb9@byu.net>
71927
71928         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
71929         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
71930         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71931         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71932         Reported by Chris McGuire.
71933
71934 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71935
71936         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
71937         in sed script.
71938
71939 2007-01-09  Bruno Haible  <bruno@clisp.org>
71940
71941         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
71942         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
71943         variables.
71944         (func_module): Use them.
71945
71946 2007-01-09  Bruno Haible  <bruno@clisp.org>
71947
71948         * modules/unistr/base: New file.
71949         * lib/unistr.h: New file.
71950
71951         * modules/unistr/u8-to-u16: New file.
71952         * lib/unistr/u8-to-u16.c: New file.
71953
71954         * modules/unistr/u8-to-u32: New file.
71955         * lib/unistr/u8-to-u32.c: New file.
71956
71957         * modules/unistr/u16-to-u8: New file.
71958         * lib/unistr/u16-to-u8.c: New file.
71959
71960         * modules/unistr/u16-to-u32: New file.
71961         * lib/unistr/u16-to-u32.c: New file.
71962
71963         * modules/unistr/u32-to-u8: New file.
71964         * lib/unistr/u32-to-u8.c: New file.
71965
71966         * modules/unistr/u32-to-u16: New file.
71967         * lib/unistr/u32-to-u16.c: New file.
71968
71969         * modules/unistr/u8-check: New file.
71970         * modules/unistr/u16-check: New file.
71971         * modules/unistr/u32-check: New file.
71972         * lib/unistr/u8-check.c: New file.
71973         * lib/unistr/u16-check.c: New file.
71974         * lib/unistr/u32-check.c: New file.
71975
71976         * modules/unistr/u8-chr: New file.
71977         * modules/unistr/u16-chr: New file.
71978         * modules/unistr/u32-chr: New file.
71979         * lib/unistr/u8-chr.c: New file.
71980         * lib/unistr/u16-chr.c: New file.
71981         * lib/unistr/u32-chr.c: New file.
71982
71983         * modules/unistr/u8-cmp: New file.
71984         * modules/unistr/u16-cmp: New file.
71985         * modules/unistr/u32-cmp: New file.
71986         * lib/unistr/u8-cmp.c: New file.
71987         * lib/unistr/u16-cmp.c: New file.
71988         * lib/unistr/u32-cmp.c: New file.
71989
71990         * modules/unistr/u8-cpy: New file.
71991         * modules/unistr/u16-cpy: New file.
71992         * modules/unistr/u32-cpy: New file.
71993         * lib/unistr/u8-cpy.c: New file.
71994         * lib/unistr/u16-cpy.c: New file.
71995         * lib/unistr/u32-cpy.c: New file.
71996         * lib/unistr/u-cpy.h: New file.
71997
71998         * modules/unistr/u8-cpy-alloc: New file.
71999         * modules/unistr/u16-cpy-alloc: New file.
72000         * modules/unistr/u32-cpy-alloc: New file.
72001         * lib/unistr/u8-cpy-alloc.c: New file.
72002         * lib/unistr/u16-cpy-alloc.c: New file.
72003         * lib/unistr/u32-cpy-alloc.c: New file.
72004         * lib/unistr/u-cpy-alloc.h: New file.
72005
72006         * modules/unistr/u8-endswith: New file.
72007         * modules/unistr/u16-endswith: New file.
72008         * modules/unistr/u32-endswith: New file.
72009         * lib/unistr/u8-endswith.c: New file.
72010         * lib/unistr/u16-endswith.c: New file.
72011         * lib/unistr/u32-endswith.c: New file.
72012         * lib/unistr/u-endswith.h: New file.
72013
72014         * modules/unistr/u8-mblen: New file.
72015         * modules/unistr/u16-mblen: New file.
72016         * modules/unistr/u32-mblen: New file.
72017         * lib/unistr/u8-mblen.c: New file.
72018         * lib/unistr/u16-mblen.c: New file.
72019         * lib/unistr/u32-mblen.c: New file.
72020
72021         * modules/unistr/u8-mbtouc: New file.
72022         * modules/unistr/u16-mbtouc: New file.
72023         * modules/unistr/u32-mbtouc: New file.
72024         * lib/unistr/u8-mbtouc.c: New file.
72025         * lib/unistr/u16-mbtouc.c: New file.
72026         * lib/unistr/u32-mbtouc.c: New file.
72027
72028         * modules/unistr/u8-mbtouc-safe: New file.
72029         * modules/unistr/u16-mbtouc-safe: New file.
72030         * modules/unistr/u32-mbtouc-safe: New file.
72031         * lib/unistr/u8-mbtouc-safe.c: New file.
72032         * lib/unistr/u16-mbtouc-safe.c: New file.
72033         * lib/unistr/u32-mbtouc-safe.c: New file.
72034
72035         * modules/unistr/u8-move: New file.
72036         * modules/unistr/u16-move: New file.
72037         * modules/unistr/u32-move: New file.
72038         * lib/unistr/u8-move.c: New file.
72039         * lib/unistr/u16-move.c: New file.
72040         * lib/unistr/u32-move.c: New file.
72041         * lib/unistr/u-move.h: New file.
72042
72043         * modules/unistr/u8-next: New file.
72044         * modules/unistr/u16-next: New file.
72045         * modules/unistr/u32-next: New file.
72046         * lib/unistr/u8-next.c: New file.
72047         * lib/unistr/u16-next.c: New file.
72048         * lib/unistr/u32-next.c: New file.
72049
72050         * modules/unistr/u8-prev: New file.
72051         * modules/unistr/u16-prev: New file.
72052         * modules/unistr/u32-prev: New file.
72053         * lib/unistr/u8-prev.c: New file.
72054         * lib/unistr/u16-prev.c: New file.
72055         * lib/unistr/u32-prev.c: New file.
72056
72057         * modules/unistr/u8-set: New file.
72058         * modules/unistr/u16-set: New file.
72059         * modules/unistr/u32-set: New file.
72060         * lib/unistr/u8-set.c: New file.
72061         * lib/unistr/u16-set.c: New file.
72062         * lib/unistr/u32-set.c: New file.
72063         * lib/unistr/u-set.h: New file.
72064
72065         * modules/unistr/u8-startswith: New file.
72066         * modules/unistr/u16-startswith: New file.
72067         * modules/unistr/u32-startswith: New file.
72068         * lib/unistr/u8-startswith.c: New file.
72069         * lib/unistr/u16-startswith.c: New file.
72070         * lib/unistr/u32-startswith.c: New file.
72071         * lib/unistr/u-startswith.h: New file.
72072
72073         * modules/unistr/u8-stpcpy: New file.
72074         * modules/unistr/u16-stpcpy: New file.
72075         * modules/unistr/u32-stpcpy: New file.
72076         * lib/unistr/u8-stpcpy.c: New file.
72077         * lib/unistr/u16-stpcpy.c: New file.
72078         * lib/unistr/u32-stpcpy.c: New file.
72079         * lib/unistr/u-stpcpy.h: New file.
72080
72081         * modules/unistr/u8-stpncpy: New file.
72082         * modules/unistr/u16-stpncpy: New file.
72083         * modules/unistr/u32-stpncpy: New file.
72084         * lib/unistr/u8-stpncpy.c: New file.
72085         * lib/unistr/u16-stpncpy.c: New file.
72086         * lib/unistr/u32-stpncpy.c: New file.
72087         * lib/unistr/u-stpncpy.h: New file.
72088
72089         * modules/unistr/u8-strcat: New file.
72090         * modules/unistr/u16-strcat: New file.
72091         * modules/unistr/u32-strcat: New file.
72092         * lib/unistr/u8-strcat.c: New file.
72093         * lib/unistr/u16-strcat.c: New file.
72094         * lib/unistr/u32-strcat.c: New file.
72095         * lib/unistr/u-strcat.h: New file.
72096
72097         * modules/unistr/u8-strchr: New file.
72098         * modules/unistr/u16-strchr: New file.
72099         * modules/unistr/u32-strchr: New file.
72100         * lib/unistr/u8-strchr.c: New file.
72101         * lib/unistr/u16-strchr.c: New file.
72102         * lib/unistr/u32-strchr.c: New file.
72103
72104         * modules/unistr/u8-strcmp: New file.
72105         * modules/unistr/u16-strcmp: New file.
72106         * modules/unistr/u32-strcmp: New file.
72107         * lib/unistr/u8-strcmp.c: New file.
72108         * lib/unistr/u16-strcmp.c: New file.
72109         * lib/unistr/u32-strcmp.c: New file.
72110
72111         * modules/unistr/u8-strcpy: New file.
72112         * modules/unistr/u16-strcpy: New file.
72113         * modules/unistr/u32-strcpy: New file.
72114         * lib/unistr/u8-strcpy.c: New file.
72115         * lib/unistr/u16-strcpy.c: New file.
72116         * lib/unistr/u32-strcpy.c: New file.
72117         * lib/unistr/u-strcpy.h: New file.
72118
72119         * modules/unistr/u8-strcspn: New file.
72120         * modules/unistr/u16-strcspn: New file.
72121         * modules/unistr/u32-strcspn: New file.
72122         * lib/unistr/u8-strcspn.c: New file.
72123         * lib/unistr/u16-strcspn.c: New file.
72124         * lib/unistr/u32-strcspn.c: New file.
72125         * lib/unistr/u-strcspn.h: New file.
72126
72127         * modules/unistr/u8-strdup: New file.
72128         * modules/unistr/u16-strdup: New file.
72129         * modules/unistr/u32-strdup: New file.
72130         * lib/unistr/u8-strdup.c: New file.
72131         * lib/unistr/u16-strdup.c: New file.
72132         * lib/unistr/u32-strdup.c: New file.
72133         * lib/unistr/u-strdup.h: New file.
72134
72135         * modules/unistr/u8-strlen: New file.
72136         * modules/unistr/u16-strlen: New file.
72137         * modules/unistr/u32-strlen: New file.
72138         * lib/unistr/u8-strlen.c: New file.
72139         * lib/unistr/u16-strlen.c: New file.
72140         * lib/unistr/u32-strlen.c: New file.
72141         * lib/unistr/u-strlen.h: New file.
72142
72143         * modules/unistr/u8-strmblen: New file.
72144         * modules/unistr/u16-strmblen: New file.
72145         * modules/unistr/u32-strmblen: New file.
72146         * lib/unistr/u8-strmblen.c: New file.
72147         * lib/unistr/u16-strmblen.c: New file.
72148         * lib/unistr/u32-strmblen.c: New file.
72149
72150         * modules/unistr/u8-strmbtouc: New file.
72151         * modules/unistr/u16-strmbtouc: New file.
72152         * modules/unistr/u32-strmbtouc: New file.
72153         * lib/unistr/u8-strmbtouc.c: New file.
72154         * lib/unistr/u16-strmbtouc.c: New file.
72155         * lib/unistr/u32-strmbtouc.c: New file.
72156
72157         * modules/unistr/u8-strncat: New file.
72158         * modules/unistr/u16-strncat: New file.
72159         * modules/unistr/u32-strncat: New file.
72160         * lib/unistr/u8-strncat.c: New file.
72161         * lib/unistr/u16-strncat.c: New file.
72162         * lib/unistr/u32-strncat.c: New file.
72163         * lib/unistr/u-strncat.h: New file.
72164
72165         * modules/unistr/u8-strncmp: New file.
72166         * modules/unistr/u16-strncmp: New file.
72167         * modules/unistr/u32-strncmp: New file.
72168         * lib/unistr/u8-strncmp.c: New file.
72169         * lib/unistr/u16-strncmp.c: New file.
72170         * lib/unistr/u32-strncmp.c: New file.
72171
72172         * modules/unistr/u8-strncpy: New file.
72173         * modules/unistr/u16-strncpy: New file.
72174         * modules/unistr/u32-strncpy: New file.
72175         * lib/unistr/u8-strncpy.c: New file.
72176         * lib/unistr/u16-strncpy.c: New file.
72177         * lib/unistr/u32-strncpy.c: New file.
72178         * lib/unistr/u-strncpy.h: New file.
72179
72180         * modules/unistr/u8-strnlen: New file.
72181         * modules/unistr/u16-strnlen: New file.
72182         * modules/unistr/u32-strnlen: New file.
72183         * lib/unistr/u8-strnlen.c: New file.
72184         * lib/unistr/u16-strnlen.c: New file.
72185         * lib/unistr/u32-strnlen.c: New file.
72186         * lib/unistr/u-strnlen.h: New file.
72187
72188         * modules/unistr/u8-strpbrk: New file.
72189         * modules/unistr/u16-strpbrk: New file.
72190         * modules/unistr/u32-strpbrk: New file.
72191         * lib/unistr/u8-strpbrk.c: New file.
72192         * lib/unistr/u16-strpbrk.c: New file.
72193         * lib/unistr/u32-strpbrk.c: New file.
72194         * lib/unistr/u-strpbrk.h: New file.
72195
72196         * modules/unistr/u8-strrchr: New file.
72197         * modules/unistr/u16-strrchr: New file.
72198         * modules/unistr/u32-strrchr: New file.
72199         * lib/unistr/u8-strrchr.c: New file.
72200         * lib/unistr/u16-strrchr.c: New file.
72201         * lib/unistr/u32-strrchr.c: New file.
72202
72203         * modules/unistr/u8-strspn: New file.
72204         * modules/unistr/u16-strspn: New file.
72205         * modules/unistr/u32-strspn: New file.
72206         * lib/unistr/u8-strspn.c: New file.
72207         * lib/unistr/u16-strspn.c: New file.
72208         * lib/unistr/u32-strspn.c: New file.
72209         * lib/unistr/u-strspn.h: New file.
72210
72211         * modules/unistr/u8-strstr: New file.
72212         * modules/unistr/u16-strstr: New file.
72213         * modules/unistr/u32-strstr: New file.
72214         * lib/unistr/u8-strstr.c: New file.
72215         * lib/unistr/u16-strstr.c: New file.
72216         * lib/unistr/u32-strstr.c: New file.
72217         * lib/unistr/u-strstr.h: New file.
72218
72219         * modules/unistr/u8-strtok: New file.
72220         * modules/unistr/u16-strtok: New file.
72221         * modules/unistr/u32-strtok: New file.
72222         * lib/unistr/u8-strtok.c: New file.
72223         * lib/unistr/u16-strtok.c: New file.
72224         * lib/unistr/u32-strtok.c: New file.
72225         * lib/unistr/u-strtok.h: New file.
72226
72227         * modules/unistr/u8-uctomb: New file.
72228         * modules/unistr/u16-uctomb: New file.
72229         * modules/unistr/u32-uctomb: New file.
72230         * lib/unistr/u8-uctomb.c: New file.
72231         * lib/unistr/u16-uctomb.c: New file.
72232         * lib/unistr/u32-uctomb.c: New file.
72233
72234         * MODULES.html.sh (Unicode string functions): Add the new modules.
72235
72236 2007-01-08  Bruno Haible  <bruno@clisp.org>
72237
72238         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
72239         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
72240         subdirectories.
72241
72242 2007-01-08  Karl Berry  <karl@gnu.org>
72243
72244         * doc/error.texi: mention that main() fns must set program_name
72245         when progname is used.
72246
72247 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
72248
72249         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
72250         WCTYPE_H is empty, for the benefit of builds from non-distclean
72251         directories.  Problem reported by Eric Blake in
72252         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
72253
72254 2007-01-08  Bruno Haible  <bruno@clisp.org>
72255
72256         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
72257         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
72258         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
72259         PROVIDE_CANONICALIZE_FILENAME_MODE.
72260         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
72261
72262 2007-01-08  Bruno Haible  <bruno@clisp.org>
72263
72264         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
72265         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
72266         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
72267         * lib/fts.c: Likewise.
72268         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
72269
72270 2006-12-25  Bruno Haible  <bruno@clisp.org>
72271
72272         * modules/utf8-ucs4-safe: New file.
72273         * lib/utf8-ucs4-safe.h: New file.
72274         * lib/unistr/utf8-ucs4-safe.c: New file.
72275
72276         * modules/utf16-ucs4-safe: New file.
72277         * lib/utf16-ucs4-safe.h: New file.
72278         * lib/unistr/utf16-ucs4-safe.c: New file.
72279
72280         * MODULES.html.sh (Unicode string functions): Add the new modules.
72281
72282 2007-01-08  Bruno Haible  <bruno@clisp.org>
72283
72284         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
72285         (Depends-on): Add unitypes.
72286         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72287         (u8_mbtouc_aux): Move out to separate file.
72288         (u8_mbtouc): Use ucs4_t, uint8_t types.
72289         * lib/unistr/utf8-ucs4.c: New file.
72290
72291         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
72292         (Depends-on): Add unitypes.
72293         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72294         (u16_mbtouc_aux): Move out to separate file.
72295         (u16_mbtouc): Use ucs4_t, uint16_t types.
72296         * lib/unistr/utf16-ucs4.c: New file.
72297
72298         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
72299         (Depends-on): Add unitypes.
72300         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
72301         (u8_uctomb_aux): Move out to separate file.
72302         (u8_uctomb): Use ucs4_t, uint8_t types.
72303         * lib/unistr/ucs4-utf8.c: New file.
72304
72305         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
72306         (Depends-on): Add unitypes.
72307         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
72308         (u16_uctomb_aux): Move out to separate file.
72309         (u16_uctomb): Use ucs4_t, uint16_t types.
72310         * lib/unistr/ucs4-utf16.c: New file.
72311
72312 2006-12-25  Bruno Haible  <bruno@clisp.org>
72313
72314         * modules/unitypes: New file.
72315         * lib/unitypes.h: New file.
72316         * MODULES.html.sh (func_all_modules): New section "Unicode string
72317         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
72318         this section. Add unitypes.
72319
72320 2007-01-08  Bruno Haible  <bruno@clisp.org>
72321
72322         Avoid variable names that conflict with those from libtool.
72323         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
72324         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
72325         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
72326         library_names_spec to acl_library_names_spec, hardcode_* to
72327         acl_hardcode_*.
72328         Reported by Ralf Wildenhues.
72329
72330 2007-01-08  Bruno Haible  <bruno@clisp.org>
72331
72332         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
72333         definition.
72334         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
72335         definition.
72336         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
72337         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
72338         definition.
72339         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
72340         definition.
72341         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
72342         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
72343         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
72344         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
72345         definition.
72346         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
72347         definition.
72348         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
72349         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
72350         GC_USE_<algorithm>.
72351         * lib/gc-libgcrypt.c: Likewise.
72352         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
72353         * modules/gc-arctwo (configure.ac): Likewise.
72354         * modules/gc-des (configure.ac): Likewise.
72355         * modules/gc-hmac-md5 (configure.ac): Likewise.
72356         * modules/gc-hmac-sha1 (configure.ac): Likewise.
72357         * modules/gc-md2 (configure.ac): Likewise.
72358         * modules/gc-md4 (configure.ac): Likewise.
72359         * modules/gc-md5 (configure.ac): Likewise.
72360         * modules/gc-random (configure.ac): Likewise.
72361         * modules/gc-rijndael (configure.ac): Likewise.
72362         * modules/gc-sha1 (configure.ac): Likewise.
72363
72364 2007-01-08  Bruno Haible  <bruno@clisp.org>
72365
72366         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
72367         macro definition.
72368         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
72369         definition.
72370         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
72371         definition.
72372         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
72373         * modules/fcntl-safer (configure.ac): Likewise.
72374         * modules/fopen-safer (configure.ac): Likewise.
72375         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
72376         GNULIB_FWRITEERROR macro definition.
72377
72378 2007-01-08  Bruno Haible  <bruno@clisp.org>
72379
72380         * m4/gnulib-common.m4: New file.
72381         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
72382         (func_get_filelist): Add m4/gnulib-common.m4.
72383
72384 2007-01-08  Bruno Haible  <bruno@clisp.org>
72385
72386         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
72387         command.
72388
72389 2007-01-08  Jim Meyering  <jim@meyering.net>
72390
72391         Use a more robust test for a "can't happen" condition.
72392         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
72393         narrowed the st_size value.  Presuming the "can't happen" condition
72394         is true, that narrowing could conceivably convert an invalid st_size
72395         value into a valid one.  Instead, use a change based on Matthew
72396         Woehlke's original patch.
72397
72398         Slight readability improvement: use an assert-like macro
72399         in place of literal "abort ()" uses.
72400         * lib/fts.c (fts_assert): Define.
72401         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
72402         Use this macro instead of a bare 'abort'.
72403
72404 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
72405
72406         Don't worry about using IRIX 5.3's wctype.h broken definitions;
72407         simply work around them.
72408         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
72409         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
72410         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
72411         declaring.
72412         Don't bother to define as macros, since the standard doesn't require it.
72413         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
72414         longer worry about IRIX 5.3.
72415         (HAVE_WCTYPE_CTMP_BUG): Remove.
72416
72417 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72418
72419         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
72420         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
72421         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
72422         Problems reported by Georg Schwarz for IRIX 5.3.
72423
72424         * gnulib-tool (autoconf_minversion): Take the maximum version number
72425         found, not the minimum.  Problem reported by James Youngman.
72426
72427 2007-01-03  Karl Berry  <karl@gnu.org>
72428
72429         * doc/error.texi: new file, explaining interaction with progname.
72430         * doc/gnulib.texi: include it.  Update copyright.
72431
72432 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72433
72434         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72435         AC_CANONICAL_HOST, to improve autobuild outputs.
72436
72437 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72438             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72439
72440         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72441         sockets, server sockets, and other file descriptors.  Count errors
72442         to compute the return value.  Reorder the code a bit to be easier
72443         to follow.  Don't set event bits that were not requested (except
72444         POLLERR and POLLHUP).
72445
72446 2007-01-01  Bruno Haible  <bruno@clisp.org>
72447
72448         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72449
72450 2007-01-03  Jim Meyering  <jim@meyering.net>
72451
72452         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72453
72454 2007-01-02  Bruno Haible  <bruno@clisp.org>
72455
72456         * modules/settime (Include): Require timespec.h.
72457         * modules/nanosleep (Include): Likewise.
72458
72459 2007-01-01  Bruno Haible  <bruno@clisp.org>
72460
72461         * gnulib-tool (func_emit_copyright_notice): Bump year.
72462         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72463
72464 2007-01-01  Bruno Haible  <bruno@clisp.org>
72465
72466         Improve support for OpenBSD.
72467         * build-aux/config.rpath (libname_spec): Export.
72468         (library_names_spec): New variable. Export.
72469         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72470         library_names_spec from the config.rpath output. Locate shared library
72471         through the name pattern in library_names_spec.
72472
72473 2007-01-01  Eric Blake  <ebb9@byu.net>
72474
72475         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72476
72477 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72478
72479         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72480         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72481         assume the C locale, and avoid an "eval" that could cause trouble.
72482         Problem with SORT reported by Bob Proulx.
72483
72484         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72485         Define.  Trivial patch from Henning Nielsen Lund, originally
72486         sent to bug-grep@gnu.org today.
72487
72488 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72489
72490         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72491         struct stat.  Problem reported by Henning Nielsen Lund.
72492         * lib/acl.c: Include acl.h first, to check interface.  Don't
72493         bother to include sys/types.h and sys/stat.h again.
72494
72495 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72496
72497         Import the following change from libc; problem reported by
72498         Sven Verdoolaege.
72499
72500         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72501
72502         [BZ #1373]
72503         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72504
72505 2006-12-28  Jim Meyering  <jim@meyering.net>
72506
72507         * build-aux/announce-gen: Do not assume that the package
72508         builds any of tar.gz, tar.bz2, and .xdelta files.
72509         Suggestion from Simon Josefsson.
72510
72511 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72512
72513         * modules/announce-gen: New file.
72514
72515 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72516
72517         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72518         handles its gotchas now.
72519         * lib/mbswidth.c: Likewise.
72520         * lib/wcwidth.h: Likewise.
72521         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72522         and iswcntrl; the wctype module does this stuff now.
72523         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72524         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72525         * modules/mbchar (Depends-on): Add wctype.
72526         * modules/mbswidth (Depends-on): Likewise.
72527         * modules/wcwidth (Depends-on): Likewise.
72528
72529 2006-12-27  Eric Blake  <ebb9@byu.net>
72530
72531         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72532         module uses more than what <wctype.h> is required to provide.
72533
72534 2006-12-26  Eric Blake  <ebb9@byu.net>
72535
72536         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72537
72538 2006-12-26  Eric Blake  <ebb9@byu.net>
72539
72540         * modules/absolute-header: New module.
72541         * modules/fcntl (Depends-on): Depend on it.
72542         * modules/inttypes (Depends-on): Likewise.
72543         * modules/stdint (Depends-on): Likewise.
72544         * modules/sys_stat (Depends-on): Likewise.
72545         * modules/wctype (Depends-on): Likewise.
72546         * MODULES.html.sh (Support for building libraries and
72547         executables): Document it.
72548
72549 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72550
72551         * gnulib-tool (SED): Remove, undoing previous change.
72552         The problem was that it broke coreutils on Solaris, because
72553         "sed --posix" leaked into a makefile.
72554         (sed): New alias, if 'alias' and GNU sed.
72555
72556 2006-12-24  Jim Meyering  <jim@meyering.net>
72557
72558         Work around an fchownat bug in glibc-2.4:
72559         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72560         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72561         in spite of the -P option.
72562         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72563         New macros.
72564         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72565         * modules/openat (Files): Add lib/fchownat.c.
72566         * lib/openat.c (fchownat): Don't define here.  Move to...
72567         * lib/fchownat.c: ...this new file.
72568
72569 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72570
72571         Fix bug reported by Bruno Haible in
72572         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72573         where quotearg.c didn't compile on Mac OS X 10.2 because it
72574         lacks <wchar.h> and wint_t.
72575         * lib/wctype_.h (__wctype_wint_t): New type.
72576         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72577         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72578         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72579         Arg is now of type __wctype_wint_t, not wint_t.
72580         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72581         substitute HAVE_WINT_T.
72582         * modules/wctype (Files): Add m4/wint_t.m4.
72583         (wctype.h): Substitute HAVE_WINT_T.
72584
72585 2006-12-23  Bruno Haible  <bruno@clisp.org>
72586
72587         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72588
72589 2006-12-23  Bruno Haible  <bruno@clisp.org>
72590
72591         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72592         S_ISLNK.
72593         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72594         mingw.
72595
72596 2006-12-22  Bruno Haible  <bruno@clisp.org>
72597
72598         * lib/copy-file.c: Include acl.h.
72599         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72600         Close the file descriptors only after being done with copy_acl.
72601         * modules/copy-file (Depends-on): Add acl.
72602
72603 2006-12-22  Bruno Haible  <bruno@clisp.org>
72604
72605         * gnulib-tool (SED): New variable.
72606         Use $SED instead of sed everywhere.
72607
72608 2006-12-22  Bruno Haible  <bruno@clisp.org>
72609
72610         * modules/no-c++: New file.
72611         * m4/no-c++.m4: New file.
72612         * MODULES.html.sh (Support for building libraries and executables):
72613         Add no-c++.
72614
72615 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
72616
72617         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72618         Include <limits.h>, and use its INT_MAX to rewrite the
72619         j loop so that it does not overflow 'int'.  Problem reported by
72620         Ralf Wildenhues in
72621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
72622         Play it safe by shifting left by 1 rather than multiplying by 2,
72623         as GCC is less likely to optimize this away when the value
72624         is signed (when it assumes overflow leads to undefined behavior).
72625         Also, don't assume time_t uses two's complement.
72626
72627 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
72628
72629         * MODULES.html.sh: New module wctype.
72630         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
72631         * lib/fnmatch.c: Don't bother to include <wchar.h> before
72632         <wctype.h>, since the new wctype module should fix this.
72633         * lib/quotearg.c: Include <wctype.h> unconditionally, since
72634         the wctype module should arrange for it.
72635         * lib/regex_internal.h: Likewise.
72636         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
72637         since the wctype module should handle this now.
72638         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
72639         * modules/fnmatch (Depends-on): Add wctype.
72640         * modules/quotearg (Depends-on): Likewise.
72641         * modules/regex (Depends-on): Likewise.
72642
72643 2006-12-19  Bruno Haible  <bruno@clisp.org>
72644
72645         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72646         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72647
72648 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72649
72650         * modules/savewd (Depends-on): Fix dependency on fcntl.
72651
72652 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72653
72654         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72655         conforms to C99, rather than relying on the user's environment
72656         setting of STDINT_H.
72657
72658 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72659         and Eric Blake  <ebb9@byu.net>
72660
72661         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72662         This is more consistent with the other defines here.
72663         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
72664         Port to z/OS.  Problem reported by Paul Gilmartin.
72665         Change local vars to use gl_ prefix rather than ac_.
72666         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
72667         with other defines.
72668         * modules/double-slash-root: New module.
72669         * modules/dirname (Files): Remove m4/double-slash-root.m4.
72670         (Depends-on): Add double-slash-root.
72671         * MODULES.html.sh (File system functions): Mention new module.
72672
72673 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
72674
72675         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
72676         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
72677         This is for the benefit of gzip, which doesn't do i18n.
72678
72679 2006-12-12  Jim Meyering  <jim@meyering.net>
72680
72681         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
72682         Reported by Andreas Schwab <schwab@suse.de>.
72683
72684 2006-12-12  Bruno Haible  <bruno@clisp.org>
72685
72686         Merge these changes.
72687         2006-09-05  Bruno Haible  <bruno@clisp.org>
72688         * lib/iconvme.c (iconv_string): No need to save and restore errno when
72689         iconv_alloc succeeded.
72690         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
72691         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
72692         test for " && dest " at the end - dest is always != NULL there. Call
72693         iconv with 4xNULL arguments initially, to reset the state. Call iconv
72694         with 2xNULL arguments, also to flush the state storage. Handle the
72695         IRIX iconv behaviour. Realloc the final result, to throw away unused
72696         memory.
72697
72698 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
72699
72700         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
72701         and fchmodat unconditionally, since glibc 2.4 has them.
72702         Problem reported by Arkadiusz Miskiewicz.
72703
72704 2006-12-10  Bruno Haible  <bruno@clisp.org>
72705
72706         * gnulib-tool (func_import): Show the include files only for those
72707         modules that are copied and specified.
72708         Reported by Karl Berry.
72709
72710 2006-12-08  Jim Meyering  <jim@meyering.net>
72711
72712         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
72713         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
72714
72715         * build-aux/announce-gen: Add two new options, both optional:
72716         --bootstrap-tools=TOOL_LIST
72717               a comma-separated list of tools, e.g.,
72718               autoconf,automake,bison,gnulib
72719         --gnulib-snapshot-date=DATE
72720               if gnulib is in the bootstrap tool list,
72721               then report this as the snapshot date.
72722               If not specified, use the current date/time.
72723               If you specify a date here, be sure it's UTC.
72724
72725 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72726
72727         * tests/test-argp-2.sh: Fix test to match actual output.
72728         (func_compare): Fix sed script to be portable.
72729
72730 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
72731
72732         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
72733         workaround for this case.  It is not autoconfigured now; offhand
72734         it's hard to see how to autoconfigure it.
72735
72736 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
72737
72738         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
72739         a directory that is about to be chowned.  Such a directory's
72740         initial file permissions should permit the owner only and this
72741         should not be changed until after the chown, since the group and
72742         other bits would be incorrect if they granted permission before
72743         the chown.
72744
72745         Fix porting problem for iswctype reported by Georg Schwarz in:
72746         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
72747         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
72748         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
72749         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
72750         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72751
72752 2006-12-03  Jim Meyering  <jim@meyering.net>
72753
72754         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
72755         p->fts_statp may not yet be defined.
72756         (fts_read): Instead, set it in the caller, once p->fts_statp is
72757         sure to be defined, and corresponds to a top-level directory.
72758         This bug made du -x fail.  Here's the coreutils test case:
72759         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
72760         Reported by Mike Frysinger.
72761
72762 2006-12-01  Jim Meyering  <jim@meyering.net>
72763
72764         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
72765         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
72766         Reported by Simon Josefsson.
72767
72768 2006-11-30  Jim Meyering  <jim@meyering.net>
72769
72770         * m4/warning.m4: Use the all-permissive copyright notice
72771         recommended by RMS (rather than LGPL).
72772         * m4/vararrays.m4: Likewise.
72773         * m4/flexmember.m4: Likewise.
72774
72775 2006-11-29  Bruno Haible  <bruno@clisp.org>
72776
72777         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72778         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
72779         using +=.
72780         Reported by Simon Josefsson <simon@josefsson.org>.
72781
72782 2006-11-28  James Youngman <jay@gnu.org>
72783
72784         * README: Advise users that they might find the bug-gnulib@gnu.org
72785         and autotools-announce@gnu.org mailing lists useful.
72786
72787 2006-11-28  Bruno Haible  <bruno@clisp.org>
72788
72789         * m4/ptrdiff_max.m4: Remove file.
72790
72791 2006-11-21  Bruno Haible  <bruno@clisp.org>
72792
72793         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
72794         _AC_COMPUTE_INT.
72795         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72796         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
72797         _AC_COMPUTE_INT.
72798         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72799         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
72800         _AC_COMPUTE_INT.
72801         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72802
72803 2006-11-28  Jim Meyering  <jim@meyering.net>
72804
72805         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
72806         warning from "gcc -Wshadow" about shadowing the builtin.
72807
72808 2006-11-27  Bruno Haible  <bruno@clisp.org>
72809
72810         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
72811         _AC_COMPUTE_INT.
72812         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72813
72814 2006-11-27  Bruno Haible  <bruno@clisp.org>
72815             Paul Eggert  <eggert@cs.ucla.edu>
72816
72817         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
72818
72819 2006-11-26  Bruno Haible  <bruno@clisp.org>
72820
72821         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72822         noinst_LTLIBRARIES.
72823
72824 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72825             Bruno Haible  <bruno@clisp.org>
72826
72827         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
72828         if compiling with "gcc -ansi".
72829
72830 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72831
72832         Fix some incompatibilities with gcc -ansi -pedantic.
72833         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
72834         if compiling pedantically with GCC, unless it's C99 or later.
72835         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
72836         it mishandles gcc -ansi -pedantic as well.
72837         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
72838         if gcc -pedantic.
72839         * lib/regexec.c (check_node_accept_bytes): Don't use auto
72840         initializers for struct if -pedantic, unless it's C99 or later.
72841
72842 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
72843
72844         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
72845         Don't close an fd more than once. Identical atimes indicate
72846         success, not failure.
72847
72848 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
72849
72850         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
72851
72852 2006-11-23  Jim Meyering  <jim@meyering.net>
72853
72854         * build-aux/announce-gen: New file.  From coreutils.
72855
72856 2006-11-22  Jim Meyering  <jim@meyering.net>
72857
72858         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
72859         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
72860         (fts_read): Use a temporary to narrow the overused st_size member
72861         before using it in a switch statement.  Reported by Matthew Woehlke.
72862
72863         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
72864         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72865
72866 2006-11-20  Bruno Haible  <bruno@clisp.org>
72867
72868         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
72869         changequote instead of pairs of brackets.
72870         Reported by Andreas Schwab <schwab@suse.de>.
72871
72872 2006-11-21  Jim Meyering  <jim@meyering.net>
72873
72874         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
72875         so as to remain compatible with older compilers.
72876         Patch from Michael Deutschmann.
72877
72878 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72879
72880         * MODULES.html.sh (File system functions): Add openat.
72881
72882         * lib/openat.h (rpl_fstatat): New macro, if
72883         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
72884         (fstatat): Define to rpl_fstatat under the same conditions,
72885         unless COMPILING_FSTATAT.
72886         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
72887         seems to have the bug.
72888         * lib/fstatat.c: New file.
72889         * modules/openat (Files): Add it.
72890
72891 2006-11-20  Bruno Haible  <bruno@clisp.org>
72892
72893         * Makefile: New file.
72894
72895 2006-11-20  Jim Meyering  <jim@meyering.net>
72896
72897         The beginnings of syntax-related checks for gnulib.
72898         * lib/Makefile: New file.
72899         * lib/t-idcache: New script.  Ensure that the two halves of
72900         idcache.c stay in sync.
72901
72902         * lib/idcache.c: Adjust comments in user- and group- portions to
72903         be more accurate, and to be consistent with one another.
72904
72905 2006-11-20  Jim Meyering  <jim@meyering.net>
72906
72907         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
72908         continue using the flexible array member (thus, this module performs
72909         half as many malloc calls), with the addition that...
72910         (getgroup, getuser): Consistently record a non-match via an empty
72911         "name" string, and map an empty string match to a NULL return value.
72912         * modules/idcache (Depends-on): Re-add flexmember.
72913
72914         * lib/idcache.c (getuser): Remove all uses of the register keyword.
72915         (getuidbyname, getgroup, getgidbyname): Likewise.
72916
72917         Use cleaner syntax: NULL rather than 0.
72918         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
72919
72920 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72921
72922         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
72923         It mishandled the case where the group was missing.
72924         Problem reported by Greg Schafer.
72925         * modules/idcache: Likewise.
72926
72927 2006-11-18  Jim Meyering  <jim@meyering.net>
72928
72929         * check-module (%exempt_header): Add exception for some
72930         conditionally-included headers.
72931
72932         * modules/i-ring (Depends-on): Add verify.
72933         (License): Change to LGPL.
72934
72935 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72936
72937         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
72938         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
72939         and inttostr.h.  Use snprintf rather than uinttostr, so that
72940         LGPLed code doesn't depend on GPLed.
72941
72942 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72943
72944         * modules/inline (License): Change from GPL to LGPL.
72945
72946 2006-11-17  Jim Meyering  <jim@meyering.net>
72947
72948         * modules/d-type (License): Switch to LGPL.
72949
72950 2006-11-15  Bruno Haible  <bruno@clisp.org>
72951
72952         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
72953
72954 2006-11-15  Eric Blake  <ebb9@byu.net>
72955
72956         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
72957         the module dependency.
72958
72959 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72960             Bruno Haible  <bruno@clisp.org>
72961
72962         * gnulib-tool (func_create_testdir): Add license consistency check.
72963
72964 2006-11-15  Eric Blake  <ebb9@byu.net>
72965
72966         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
72967         random "(cached)" in configure output.
72968
72969 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72970
72971         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
72972         test for conforming inttypes.h is both announced and cached.
72973
72974         * MODULES.html.sh (seen_modules, seen_files): New variables.
72975         (func_module): Rewrite to use a few less gnulib-tool and sed
72976         invocations.  Avoid a couple of quadratic algorithms for ...
72977         (missed_modules, missed_files): ... these, with ...
72978         (func_append, func_tmpdir): ... these new functions, from
72979         gnulib-tool.  Analogously, install traps for cleanup.
72980
72981         * tests/test-gc.c (main): Remove unused variables.
72982         * tests/test-read-file.c: Include stdlib.h, for 'free'.
72983
72984 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
72985
72986         * modules/inttostr (License): Change to LGPL.
72987
72988 2006-11-14  Eric Blake  <ebb9@byu.net>
72989
72990         * modules/tempname (License): Change to LGPL.
72991
72992 2006-11-14  Eric Blake  <ebb9@byu.net>
72993
72994         * doc/functions.texi (Function Portability): *printf functions on
72995         Cygwin now understand all POSIX size specifiers.
72996
72997 2006-11-14  Bruno Haible  <bruno@clisp.org>
72998
72999         * modules/c-ctype (License): Change to LGPL.
73000
73001 2006-11-12  Bruno Haible  <bruno@clisp.org>
73002
73003         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
73004         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
73005         for GNOME libraries, for which the include files are installed in
73006         subdirectories of $prefix/include.
73007
73008 2006-11-12  Bruno Haible  <bruno@clisp.org>
73009
73010         * m4/lib-link.m4: Require at least autoconf-2.54.
73011         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73012         name to underscores for the --with option.
73013
73014 2006-11-13  Bruno Haible  <bruno@clisp.org>
73015
73016         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73017         the tests directory.
73018         Reported by Ralf Wildenhues.
73019
73020 2006-11-13  Bruno Haible  <bruno@clisp.org>
73021
73022         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73023         (func_emit_initmacro_end): Undo the override here.
73024         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73025         Works around the famous automake error in coreutils.
73026
73027 2006-11-13  Eric Blake  <ebb9@byu.net>
73028
73029         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73030         element, not its node.
73031
73032 2006-11-12  Bruno Haible  <bruno@clisp.org>
73033
73034         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73035         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73036
73037 2006-11-12  Bruno Haible  <bruno@clisp.org>
73038
73039         * gnulib-tool: New option --local-symlink.
73040         (func_usage): Document it.
73041         (lsymbolic): New variable.
73042         (func_import, func_create_testdir): If --symlink was not specified,
73043         test whether --local-symlink was specified and the file comes from
73044         the local_gnulib_dir.
73045
73046 2006-11-12  Bruno Haible  <bruno@clisp.org>
73047
73048         * gnulib-tool (func_ln): New function.
73049         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73050
73051 2006-11-12  Bruno Haible  <bruno@clisp.org>
73052
73053         Finish support for source files in subdirectories.
73054         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73055         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73056         AUTOMAKE_OPTIONS.
73057         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73058
73059 2006-11-12  Bruno Haible  <bruno@clisp.org>
73060
73061         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73062         EXTRA_lib_SOURCES augmentation.
73063         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73064
73065 2006-11-12  Jim Meyering  <jim@meyering.net>
73066
73067         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
73068         file descriptors.  This also averts a failure on systems with
73069         native openat support when a traversed directory lacks "x" access.
73070         * lib/fts_.h: Include "i-ring.h"
73071         (struct FTS) [fts_fd_ring]: New member.
73072         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
73073         (FCHDIR): Add parentheses.
73074         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
73075         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
73076         When descending, rather than simply closing the previous
73077         fts_cwd_fd value, push that file descriptor onto the ring.
73078         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
73079         (fts_open): Initialize the new fd_ring member.
73080         (fts_close): Clear the ring.
73081         (fts_safe_changedir): When possible, use our new fd_ring to skip
73082         the diropen and fstat and dev/ino comparison that would normally
73083         accompany a virtual `chdir ("..")'.
73084
73085         * modules/fts (Depends-on): Add i-ring.
73086         * modules/i-ring: New module.
73087         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
73088         * m4/i-ring.m4: New file.
73089
73090 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73091
73092         * gnulib-tool (func_create_testdir): Fix replacement of
73093         `build-aux' in configure.ac.  Run autotools in gltests
73094         subdirectory.
73095         (func_create_testdir, func_create_megatestdir, test): There is
73096         no need for '--force' in most autotool invocations in a new
73097         tree.  Actually fail the whole test if any of the tools, or the
73098         configure or make stages fail.
73099
73100         Sync from Automake.
73101         * build-aux/gnupload: Revert last change.  Add pointer to upload
73102         instructions of the GNU Maintenance Instructions.
73103         Suggestion by Karl Berry.
73104
73105 2006-11-10  Jim Meyering  <jim@meyering.net>
73106
73107         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
73108
73109 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73110
73111         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
73112         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
73113         (bind_textdomain_codeset) [! ENABLE_NLS]:
73114         Evaluate all the arguments.  That way, callers get compatible behavior
73115         if the arguments have side effects.  Also, it avoids some GCC
73116         diagnostics in some cases; Joel E. Denny reported problems when Bison
73117         was configured with --enable-gcc-warnigs.
73118
73119 2006-11-10  Jim Meyering  <jim@meyering.net>
73120
73121         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
73122         relevant options in CFLAGS (like -O, -fno-inline) are taken into
73123         account.
73124
73125 2006-11-10  Jim Meyering  <jim@meyering.net>
73126
73127         * modules/inline: New file/module.
73128         * modules/xalloc (Files): Remove m4/inline.m4.
73129         (Depends-on): Add inline, instead.
73130         * modules/oset: Likewise.
73131         * modules/list: Likewise.
73132
73133 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73134
73135         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
73136         Problem reported by Matthew Woehlke.
73137
73138 2006-11-09  Bruno Haible  <bruno@clisp.org>
73139
73140         * lib/tempname.c (gen_tempname): Remove variant that invokes
73141         __gen_tempname.
73142         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
73143         __gen_tempname.
73144
73145 2006-11-08  Bruno Haible  <bruno@clisp.org>
73146
73147         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
73148         to 'yes' instead of 'cross-compiling'.
73149
73150 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73151
73152         * lib/quotearg.h (quotearg_free): New decl.
73153         * lib/quotearg.c (quotearg_free): New function.
73154         (slot0, nslots, slotvec0, slotvec):
73155         Now file-scope so that quotearg_free can get at them.
73156
73157 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73158
73159         Sync from Automake.
73160         * build-aux/gnupload: Add missing 'gnu' to example URL.
73161         Report by Karl Berry.
73162
73163 2006-11-08  Bruno Haible  <bruno@clisp.org>
73164
73165         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
73166         Suggested by Paul Eggert.
73167
73168 2006-11-08  Jim Meyering  <jim@meyering.net>
73169
73170         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
73171         It's already included if !_LIBC.
73172         (fts_safe_changedir): Add a comment.
73173
73174 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73175
73176         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
73177         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
73178         Matthew Woehlke.
73179
73180         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
73181         definitions up, to avoid colliding with change below.
73182         (static_inline) [HAVE_INLINE]: New macro.
73183         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
73184         Provide extern decls when !HAVE_INLINE.  Do not define unless
73185         static_inline is defined, either by us or by xmalloc.c.  Use
73186         static_inline rather than static inline.
73187         (XCALLOC): Optimize sizeof(T) = 1 case.
73188         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
73189
73190 2006-11-07  Bruno Haible  <bruno@clisp.org>
73191
73192         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
73193         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
73194         AC_C_INLINE.
73195         * modules/xalloc (Files): Add m4/inline.m4.
73196
73197 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73198
73199         * README: Fix typo.
73200         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
73201         (Miscellanous Notes): ...from this.
73202
73203 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73204
73205         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
73206         Mention that offsetof should be used instead of sizeof.
73207         From Bruno Haible.
73208
73209 2006-11-07  Bruno Haible  <bruno@clisp.org>
73210
73211         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
73212
73213 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73214
73215         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73216         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
73217         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73218         (gl_tree_add_before, gl_tree_add_after):
73219         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
73220         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
73221         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
73222         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
73223         (gl_linked_add_after, gl_linked_add_at): Likewise.
73224         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
73225         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73226         (gl_tree_add_before, gl_tree_add_after): Likewise.
73227         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
73228         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
73229         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
73230
73231 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73232
73233         * lib/gl_oset.h: Use C comment style, not C++ comment style.
73234
73235 2006-11-06  Bruno Haible  <bruno@clisp.org>
73236
73237         * m4/inline.m4: New file.
73238         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
73239         * modules/list (Files): Add m4/inline.m4.
73240         * modules/oset (Files): Likewise.
73241
73242 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73243
73244         * lib/idcache.c: Include <stddef.h>, for offsetof.
73245         (struct userid.name): Change from char * to a flexible array member.
73246         All uses changed.
73247         * modules/idcache (Depends-on): Add flexmember.
73248
73249         * MODULES.html.sh (Core language properties): New module flexmember.
73250         * modules/flexmember, m4/flexmember.m4: New files.
73251
73252         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
73253         inline functions that are identical with the old xnmalloc_inline,
73254         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
73255         that we can avoid some unnecessary integer multiplications and
73256         divisions in the common case where the element size is known at
73257         compile time.
73258         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
73259         needed.
73260         (xnboundedmalloc): Remove.
73261         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
73262         arguments, for consistency with rest of this header.
73263         (xcharalloc): Rewrite using XNMALLOC.
73264         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
73265         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
73266         versions have been moved to lib/xalloc.h and renamed to be the
73267         non-*_inline versions.
73268         (xmalloc, xrealloc): Implement without reference to the xnmalloc
73269         and xnrealloc functions, since those functions are now inline and
73270         now call us.
73271         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
73272         renaming described above.
73273         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
73274         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
73275         captures the dependency in AC_C_INLINE.
73276
73277         New module canonicalize-lgpl, proposed by Charles Wilson in
73278         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
73279         with a few small changes afterwards.
73280         * MODULES.html.sh (File system functions): New module
73281         canonicalize-lgpl.
73282         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
73283         and canonicalize_file_name.
73284         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
73285         * modules/canonicalize-lgpl: New files.
73286
73287 2006-11-05  Bruno Haible  <bruno@clisp.org>
73288
73289         * gnulib-tool (func_import, func_create_testdir): Create directories
73290         also for files in subdirectories of lib/.
73291
73292 2006-11-05  Bruno Haible  <bruno@clisp.org>
73293
73294         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
73295         ANSI C compliant.
73296
73297 2006-11-03  Bruno Haible  <bruno@clisp.org>
73298
73299         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73300         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
73301         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
73302         (xnboundedmalloc): New inline function.
73303         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
73304         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
73305         xmalloc.
73306         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
73307         xmalloc.
73308         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
73309         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
73310         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
73311         xmalloc.
73312         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73313         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
73314         xmalloc.
73315         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
73316         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73317         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
73318         xmalloc.
73319         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73320         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
73321         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73322         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
73323         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
73324         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
73325         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
73326
73327 2006-11-03  Bruno Haible  <bruno@clisp.org>
73328
73329         * lib/c-ctype.h [C++]: Define functions without name mangling.
73330         * lib/fwriteerror.h [C++]: Likewise.
73331         * lib/gcd.h [C++]: Likewise.
73332         * lib/linebreak.h [C++]: Likewise.
73333
73334 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73335
73336         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
73337         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
73338         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
73339         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73340         Check for functions and headers just once.
73341         Check for declaration of canonicalize_file_name.
73342         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
73343
73344 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73345
73346         * gnulib-tool (func_import): Fix typo in actioncmd.
73347
73348 2006-11-02  Bruno Haible  <bruno@clisp.org>
73349
73350         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
73351         newline sequence in the Makefile.am snippet as a space, like "make"
73352         does.
73353         Reported by Roger Persson <perrog@gmail.com>.
73354
73355 2006-11-01  Bruno Haible  <bruno@clisp.org>
73356
73357         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
73358         already declared in <string.h>.
73359         * lib/strcase.h (strncasecmp): Don't declare it if yes.
73360
73361 2006-11-01  Bruno Haible  <bruno@clisp.org>
73362
73363         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
73364         * lib/strcase.h: Include <string.h>.
73365         (strcasecmp): Define to rpl_strcasecmp here.
73366
73367 2006-11-01  Bruno Haible  <bruno@clisp.org>
73368
73369         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
73370
73371 2006-11-01  Eric Blake  <ebb9@byu.net>
73372
73373         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
73374
73375         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
73376
73377 2006-10-29  Bruno Haible  <bruno@clisp.org>
73378
73379         Make it compile in C++ mode.
73380         * lib/full-write.c (full_rw): Add a cast.
73381
73382 2006-11-01  Bruno Haible  <bruno@clisp.org>
73383
73384         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
73385         be POSIX compliant.
73386         Reported by Roger Persson <perrog@gmail.com>.
73387
73388 2006-11-01  Eric Blake  <ebb9@byu.net>
73389
73390         * lib/getopt_.h: Fix comments.
73391
73392 2006-10-31  Eric Blake  <ebb9@byu.net>
73393
73394         * modules/tmpdir (Depends-on): Add sys_stat.
73395         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
73396         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
73397         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
73398         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
73399         tempname.
73400
73401 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
73402
73403         Avoid some C++ diagnostics reported by Bruno Haible.
73404         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
73405         xmalloc.
73406         (quotearg_alloc): Use xcharalloc rather than xmalloc.
73407         (struct slotvec): Move to top level.
73408         (quotearg_n_options): Rewrite to avoid xmalloc.
73409         * lib/xalloc.h (xcharalloc): New function.
73410         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
73411         [defined __cplusplus]: Add function template that provides result
73412         type propagation.  This part of the change is from Bruno Haible.
73413
73414 2006-10-29  Bruno Haible  <bruno@clisp.org>
73415
73416         Make it compile in C++ mode.
73417         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
73418         * lib/strnlen1.c (strnlen1): Cast memchr result.
73419         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
73420         * lib/clean-temp.c (string_equals, string_hash): Add casts.
73421         (create_temp_dir): Rename local variable 'template'.
73422         (compile_csharp_using_sscli): Add cast.
73423         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
73424         * lib/findprog.c (find_in_path): Likewise.
73425         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
73426         * lib/wait-process.c (register_slave_subprocess): Likewise.
73427
73428 2006-10-22  Bruno Haible  <bruno@clisp.org>
73429
73430         * modules/tsearch: New file.
73431         * lib/tsearch.h: New file.
73432         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73433         * m4/tsearch.m4: New file.
73434         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73435
73436 2006-10-29  Eric Blake  <ebb9@byu.net>
73437
73438         * lib/arcfour.c: Assume config.h.
73439         * lib/arctwo.c: Likewise.
73440         * lib/base64.c: Likewise.
73441         * lib/check-version.c: Likewise.
73442         * lib/crc.c: Likewise.
73443         * lib/des.c: Likewise.
73444         * lib/gc-gnulib.c: Likewise.
73445         * lib/gc-libgcrypt.c: Likewise.
73446         * lib/gc-pbkdf2-sha1.c: Likewise.
73447         * lib/getaddrinfo.c: Likewise.
73448         * lib/getdelim.c: Likewise.
73449         * lib/getline.c: Likewise.
73450         * lib/hmac-md5.c: Likewise.
73451         * lib/hmac-sha1.c: Likewise.
73452         * lib/iconvme.c: Likewise.
73453         * lib/md2.c: Likewise.
73454         * lib/md4.c: Likewise.
73455         * lib/memxor.c: Likewise.
73456         * lib/read-file.c: Likewise.
73457         * lib/readline.c: Likewise.
73458         * lib/rijndael-alg-fst.c: Likewise.
73459         * lib/rijndael-api-fst.c: Likewise.
73460         * lib/xgetdomainname.c: Likewise.
73461
73462 2006-10-28  Eric Blake  <ebb9@byu.net>
73463
73464         * lib/xstrndup.c: Assume config.h.
73465
73466 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73467
73468         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73469         stat-macros.h is now for our own macros, whereas stat_h is for
73470         macros in the <sys/stat.h> name space.
73471         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73472         (STAT_MACROS_H): Remove.
73473         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73474         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73475         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73476         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73477         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73478         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73479         Move these macros to ...
73480         * lib/stat_.h: here.  Don't include stat-macros.h.
73481         * lib/canonicalize.c: Don't include stat-macros.h.
73482         * lib/chown.c: Likewise.
73483         * lib/euidaccess.c: Likewise.
73484         * lib/file-type.c: Likewise.
73485         * lib/filemode.c: Likewise.
73486         * lib/glob.c: Likewise.
73487         * lib/isapipe.c: Likewise.
73488         * lib/lchown.c: Likewise.
73489         * lib/lstat.c: Likewise.
73490         * lib/mkdir-p.c: Likewise.
73491         * lib/rmdir.c: Likewise.
73492         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73493         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73494         unless mkdir isn't declared, to speed up 'configure'.
73495         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73496         would define all the S_* symbols.
73497         * modules/canonicalize (Depends-on):
73498         Depend on sys_stat, not stat-macros.
73499         * modules/chown: Likewise.
73500         * modules/euidaccess: Likewise.
73501         * modules/filemode: Likewise.
73502         * modules/file-type: Likewise.
73503         * modules/glob: Likewise.
73504         * modules/isapipe: Likewise.
73505         * modules/lchown: Likewise.
73506         * modules/lstat: Likewise.
73507         * modules/mkancesdirs: Likewise.
73508         * modules/rmdir: Likewise.
73509         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73510         * modules/modechange: Likewise.
73511         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73512         (configure.ac): Remove gl_STAT_MACROS.
73513         * modules/sys_stat (Depends-on): Remove stat-macros.
73514
73515 2006-10-27  Bruno Haible  <bruno@clisp.org>
73516
73517         * m4/signed.m4: Remove file.
73518         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73519         invocation.
73520         * modules/vasnprintf (Files): Remove m4/signed.m4.
73521
73522 2006-10-27  Bruno Haible  <bruno@clisp.org>
73523
73524         Update to GNU gettext 0.16.
73525         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73526         m4/inttypes-h.m4, m4/signed.m4.
73527         * m4/gettext.m4: Update to GNU gettext 0.16.
73528         * m4/intl.m4: New file, from GNU gettext.
73529         * m4/intldir.m4: New file, from GNU gettext.
73530         * config/srclist.txt: Update
73531
73532 2006-10-27  Eric Blake  <ebb9@byu.net>
73533
73534         * MODULES.html.sh: Document tempname.
73535         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73536         dependencies.
73537         (Files): Move lib/tempname.c...
73538         * modules/tempname: ...to this new module.
73539         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73540         (gl_PREREQ_TEMPNAME): Move...
73541         * m4/tempname.m4: ...to this new file.
73542         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73543         * modules/sys_stat (Depends-on): Add stat-macros.
73544         * lib/stat_.h (includes): Pick up stat macros.
73545         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73546         if stat macros are broken.
73547         * lib/tempname.c (includes): No need to include "stat-macros.h".
73548         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73549         (direxists, __path_search) [!_LIBC]: Don't compile these in
73550         gnulib; the tmpdir module covers that.
73551         * lib/tempname.h: New file.
73552
73553 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73554
73555         * COPYING: Explain how gnulib-tool converts licence headers.
73556         Almost all wording by Eric Blake.
73557
73558 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73559
73560         * lib/mbchar.h (is_basic_table): Make read-only.
73561         * lib/mbchar.c (is_basic_table): Likewise.
73562         Reported by John Darrington.
73563
73564 2006-10-25  Bruno Haible  <bruno@clisp.org>
73565
73566         * lib/progname.h (set_program_name): Undefine before defining.
73567
73568 2006-10-25  Bruno Haible  <bruno@clisp.org>
73569
73570         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73571         false for non-gcc C++ compilers.
73572         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73573
73574 2006-10-24  Bruno Haible  <bruno@clisp.org>
73575
73576         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73577         iconv implementations like Irix iconv.
73578
73579 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73580
73581         * modules/vararrays: New file.
73582         * m4/vararrays.m4: New file, taken from diffutils.
73583         * MODULES.html.sh: New module vararrays.
73584
73585 2006-10-24  Karl Berry  <karl@gnu.org>
73586
73587         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73588         Don't call GNU Unix.
73589
73590 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73591
73592         * users.txt: Add Libtool.
73593
73594         Sync from Libtool:
73595
73596         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73597
73598         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73599         to gnulib's policy of including config.h unconditionally.
73600
73601 2006-10-24  Bruno Haible  <bruno@clisp.org>
73602
73603         * modules/wcwidth (Files): Add m4/wint_t.m4.
73604         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
73605         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
73606
73607 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73608
73609         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
73610         to pacify GCC with some -W flags enabled.  Problem reported by
73611         Bruno Haible.
73612
73613 2006-10-24  Jim Meyering  <jim@meyering.net>
73614
73615         * MODULES.html.sh: Remove uinttostr.  It's not a module.
73616         Reported by Karl Berry.
73617
73618 2006-10-23  Bruno Haible  <bruno@clisp.org>
73619
73620         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
73621
73622 2006-10-24  Bruno Haible  <bruno@clisp.org>
73623
73624         * lib/gl_list.h: Use C comment style, not C++ comment style.
73625
73626 2006-10-23  Eric Blake  <ebb9@byu.net>
73627
73628         * lib/getaddrinfo.c (includes): Add missing include.
73629
73630 2006-10-23  Bruno Haible  <bruno@clisp.org>
73631             Paul Eggert  <eggert@cs.ucla.edu>
73632
73633         Ability to rename obstack_free.
73634         * lib/obstack.h (__obstack_free): New macro. Declare instead of
73635         obstack_free.
73636         (obstack_free): Invoke the __obstack_free macro.
73637         * lib/obstack.c (obstack_free): Use __obstack_free macro.
73638
73639 2006-10-23  Bruno Haible  <bruno@clisp.org>
73640             Paul Eggert  <eggert@cs.ucla.edu>
73641
73642         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73643         __argc, __argv from the declaration. (They are defined as macros on
73644         mingw.)
73645
73646 2006-10-22  Bruno Haible  <bruno@clisp.org>
73647
73648         * doc/gnulib-intro.texi: New file.
73649         * doc/gnulib.texi: Include it.
73650
73651 2006-10-21  Bruno Haible  <bruno@clisp.org>
73652
73653         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73654         "Introduction", "Miscellanous Notes", "Particular Modules".
73655
73656 2006-10-21  Bruno Haible  <bruno@clisp.org>
73657
73658         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73659         Change mostlyclean-local rule to avoid sh syntax error from bash
73660         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73661
73662 2006-10-23  Jim Meyering  <jim@meyering.net>
73663
73664         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
73665         in place of snprintf.
73666
73667         * modules/inttostr (Files): Add lib/uinttostr.c.
73668         * lib/uinttostr.c (inttostr): New file/function.
73669         * lib/inttostr.h (uinttostr): Declare.
73670         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
73671         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73672         Add uinttostr.
73673         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
73674
73675 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73676
73677         * lib/canonicalize.c (ELOOP): Define if not already defined.
73678         Problem reported by Bruno Haible in
73679         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
73680
73681 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73682
73683         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
73684         Problem reported by Perry Smith and Ville Laurikari.
73685
73686         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
73687         uses.
73688
73689 2006-10-19  Bruno Haible  <bruno@clisp.org>
73690
73691         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
73692         for mingw.
73693
73694 2006-10-19  Bruno Haible  <bruno@clisp.org>
73695
73696         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
73697         Needed for mingw.
73698
73699 2006-10-19  Bruno Haible  <bruno@clisp.org>
73700
73701         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
73702
73703 2006-10-19  Bruno Haible  <bruno@clisp.org>
73704
73705         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
73706         it.
73707
73708 2006-10-19  Bruno Haible  <bruno@clisp.org>
73709
73710         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
73711         invocation.
73712
73713 2006-10-19  Bruno Haible  <bruno@clisp.org>
73714
73715         * gnulib-tool (func_create_testdir): Don't include ftruncate and
73716         mountlist by default.
73717
73718 2006-10-16  Bruno Haible  <bruno@clisp.org>
73719
73720         * lib/c-strstr.c: Include c-strstr.h.
73721
73722 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73723
73724         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
73725         in a slash.
73726
73727 2006-10-18  Bruno Haible  <bruno@clisp.org>
73728
73729         * lib/lock.h [C++]: Wrap definitions in extern "C".
73730
73731 2006-10-18  Bruno Haible  <bruno@clisp.org>
73732
73733         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
73734         gl_LIBOBJS list.
73735
73736 2006-10-18  Bruno Haible  <bruno@clisp.org>
73737
73738         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
73739
73740 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
73741
73742         * lib/xstrtol.h: Include gettext.h.
73743         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
73744         Problem reported by Eric Blake.
73745         * modules/xstrtol (Depends-on): Add gettext-h.
73746
73747 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
73748
73749         * lib/strftime.c (advance): New macro.
73750         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
73751         incomplete type, so you can't add 0 to it.  Problem and patch
73752         reported by Eelco Dolstra for dietlibc.
73753
73754 2006-10-18  Jim Meyering  <jim@meyering.net>
73755
73756         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
73757         type for a local, and rename it: s/up/user_proc/.
73758
73759 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
73760
73761         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
73762         READ_UTMP_USER_PROCESS.
73763         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
73764
73765 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73766
73767         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
73768         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
73769
73770 2006-10-17  Eric Blake  <ebb9@byu.net>
73771
73772         * lib/sigprocmask.c (sigprocmask): Fix typo.
73773
73774         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
73775
73776         * modules/clean-temp (Makefile.am): Don't add to make output...
73777         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
73778         config.h.
73779
73780 2006-10-17  Bruno Haible  <bruno@clisp.org>
73781
73782         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
73783         differently if DEFAULT_TEXT_DOMAIN is set.
73784
73785 2006-10-16  Bruno Haible  <bruno@clisp.org>
73786
73787         * lib/clean-temp.c: Include fwriteerror.h.
73788
73789 2006-10-16  Bruno Haible  <bruno@clisp.org>
73790
73791         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
73792
73793 2006-10-16  Bruno Haible  <bruno@clisp.org>
73794
73795         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
73796         * lib/sigprocmask.h: Include <sys/types.h>.
73797         (sigset_t): Use the system's definition if present.
73798
73799 2006-10-17  Eric Blake  <ebb9@byu.net>
73800
73801         * lib/xvasprintf.c (includes): Assume config.h.
73802         * lib/xasprintf.c (includes): Likewise.
73803
73804 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73805
73806         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
73807         at least as wide as intmax_t.
73808
73809 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
73810
73811         (Imported from Automake.)
73812         * build-aux/gnupload: Update to version 1.1 of directive file.
73813
73814 2006-10-16  Eric Blake  <ebb9@byu.net>
73815
73816         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
73817         match Automake 1.10a.
73818
73819 2006-10-14  Bruno Haible  <bruno@clisp.org>
73820
73821         * modules/sigprocmask: New file.
73822         * lib/sigprocmask.h: New file.
73823         * lib/sigprocmask.c: New file.
73824         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
73825         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
73826         request sigprocmask.o.
73827         (gl_PREREQ_SIGPROCMASK): New macro.
73828         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
73829         (Depends-on): Add sigprocmask.
73830         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
73831         gt_SIGNALBLOCKING. Test for 'raise' only once.
73832         * lib/fatal-signal.c: Include sigprocmask.h.
73833         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
73834         unblock_fatal_signals): Define always.
73835         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73836         sigprocmask.
73837
73838 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73839
73840         Sync from Automake.
73841         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
73842         which incorrectly sets the mode of an existing destination
73843         directory.  In some cases the unpatched install-sh could do the
73844         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
73845         system.  We hope this is rare in practice, but it's clearly worth
73846         fixing.  Problem reported by Alex Unleashed in
73847         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
73848         Also, don't bother to check for -m bugs unless we're using -m;
73849         suggested by Stepan Kasal.
73850
73851 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73852
73853         Sync from Automake.
73854         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
73855         `-c' flag, so they appear at the same position as in %FASTDEP%
73856         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
73857         which ignores unknown options only after the first non-option.
73858         Bug report against M4 by Nelson H. F. Beebe.
73859
73860 2006-10-13  Jim Meyering  <jim@meyering.net>
73861
73862         Fix a bug in yesterday's change.
73863         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
73864         p->fts_statp->st_dev would be used uninitialized.
73865         Ensures that we always call fts_stat on the very first entry.
73866         Miklos Szeredi reported that find -xdev stopped working.
73867
73868 2006-10-12  Bruno Haible  <bruno@clisp.org>
73869
73870         * gnulib-tool (func_get_automake_snippet): Append an automatically
73871         computed EXTRA_DIST augmentation.
73872         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
73873         * modules/alloca-opt (Makefile.am): Likewise.
73874         * modules/allocsa (Makefile.am): Likewise.
73875         * modules/arcfour (Makefile.am): Likewise.
73876         * modules/arctwo (Makefile.am): Likewise.
73877         * modules/argmatch (Makefile.am): Likewise.
73878         * modules/argz (Makefile.am): Likewise.
73879         * modules/atexit (Makefile.am): Likewise.
73880         * modules/backupfile (Makefile.am): Likewise.
73881         * modules/byteswap (Makefile.am): Likewise.
73882         * modules/c-strtod (Makefile.am): Likewise.
73883         * modules/c-strtold (Makefile.am): Likewise.
73884         * modules/calloc (Makefile.am): Likewise.
73885         * modules/canon-host (Makefile.am): Likewise.
73886         * modules/canonicalize (Makefile.am): Likewise.
73887         * modules/chdir-long (Makefile.am): Likewise.
73888         * modules/chdir-safer (Makefile.am): Likewise.
73889         * modules/check-version (Makefile.am): Likewise.
73890         * modules/chown (Makefile.am): Likewise.
73891         * modules/cloexec (Makefile.am): Likewise.
73892         * modules/close-stream (Makefile.am): Likewise.
73893         * modules/closeout (Makefile.am): Likewise.
73894         * modules/crc (Makefile.am): Likewise.
73895         * modules/csharpexec (Makefile.am): Likewise.
73896         * modules/cycle-check (Makefile.am): Likewise.
73897         * modules/des (Makefile.am): Likewise.
73898         * modules/dev-ino (Makefile.am): Likewise.
73899         * modules/dirfd (Makefile.am): Likewise.
73900         * modules/dirname (Makefile.am): Likewise.
73901         * modules/dup2 (Makefile.am): Likewise.
73902         * modules/eealloc (Makefile.am): Likewise.
73903         * modules/error (Makefile.am): Likewise.
73904         * modules/euidaccess (Makefile.am): Likewise.
73905         * modules/exclude (Makefile.am): Likewise.
73906         * modules/exitfail (Makefile.am): Likewise.
73907         * modules/fcntl-safer (Makefile.am): Likewise.
73908         * modules/fcntl (Makefile.am): Likewise.
73909         * modules/file-type (Makefile.am): Likewise.
73910         * modules/fileblocks (Makefile.am): Likewise.
73911         * modules/filemode (Makefile.am): Likewise.
73912         * modules/filenamecat (Makefile.am): Likewise.
73913         * modules/fnmatch (Makefile.am): Likewise.
73914         * modules/fopen-safer (Makefile.am): Likewise.
73915         * modules/fpending (Makefile.am): Likewise.
73916         * modules/fprintftime (Makefile.am): Likewise.
73917         * modules/free (Makefile.am): Likewise.
73918         * modules/fsusage (Makefile.am): Likewise.
73919         * modules/ftruncate (Makefile.am): Likewise.
73920         * modules/fts (Makefile.am): Likewise.
73921         * modules/gc-arcfour (Makefile.am): Likewise.
73922         * modules/gc-des (Makefile.am): Likewise.
73923         * modules/gc-hmac-md5 (Makefile.am): Likewise.
73924         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
73925         * modules/gc-md4 (Makefile.am): Likewise.
73926         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73927         * modules/gc-sha1 (Makefile.am): Likewise.
73928         * modules/gc (Makefile.am): Likewise.
73929         * modules/getaddrinfo (Makefile.am): Likewise.
73930         * modules/getcwd (Makefile.am): Likewise.
73931         * modules/getdelim (Makefile.am): Likewise.
73932         * modules/getdomainname (Makefile.am): Likewise.
73933         * modules/getgroups (Makefile.am): Likewise.
73934         * modules/gethostname (Makefile.am): Likewise.
73935         * modules/gethrxtime (Makefile.am): Likewise.
73936         * modules/getline (Makefile.am): Likewise.
73937         * modules/getloadavg (Makefile.am): Likewise.
73938         * modules/getlogin_r (Makefile.am): Likewise.
73939         * modules/getndelim2 (Makefile.am): Likewise.
73940         * modules/getopt (Makefile.am): Likewise.
73941         * modules/getpagesize (Makefile.am): Likewise.
73942         * modules/getpass-gnu (Makefile.am): Likewise.
73943         * modules/getpass (Makefile.am): Likewise.
73944         * modules/getsubopt (Makefile.am): Likewise.
73945         * modules/gettime (Makefile.am): Likewise.
73946         * modules/gettimeofday (Makefile.am): Likewise.
73947         * modules/getugroups (Makefile.am): Likewise.
73948         * modules/getusershell (Makefile.am): Likewise.
73949         * modules/glob (Makefile.am): Likewise.
73950         * modules/group-member (Makefile.am): Likewise.
73951         * modules/hard-locale (Makefile.am): Likewise.
73952         * modules/hash (Makefile.am): Likewise.
73953         * modules/hmac-md5 (Makefile.am): Likewise.
73954         * modules/hmac-sha1 (Makefile.am): Likewise.
73955         * modules/human (Makefile.am): Likewise.
73956         * modules/idcache (Makefile.am): Likewise.
73957         * modules/imaxabs (Makefile.am): Likewise.
73958         * modules/imaxdiv (Makefile.am): Likewise.
73959         * modules/inet_ntop (Makefile.am): Likewise.
73960         * modules/inet_pton (Makefile.am): Likewise.
73961         * modules/intprops (Makefile.am): Likewise.
73962         * modules/inttostr (Makefile.am): Likewise.
73963         * modules/inttypes (Makefile.am): Likewise.
73964         * modules/isapipe (Makefile.am): Likewise.
73965         * modules/javaversion (Makefile.am): Likewise.
73966         * modules/lchmod (Makefile.am): Likewise.
73967         * modules/lchown (Makefile.am): Likewise.
73968         * modules/localcharset (Makefile.am): Likewise.
73969         * modules/long-options (Makefile.am): Likewise.
73970         * modules/lstat (Makefile.am): Likewise.
73971         * modules/malloc (Makefile.am): Likewise.
73972         * modules/mathl (Makefile.am): Likewise.
73973         * modules/mbchar (Makefile.am): Likewise.
73974         * modules/md2 (Makefile.am): Likewise.
73975         * modules/md4 (Makefile.am): Likewise.
73976         * modules/md5 (Makefile.am): Likewise.
73977         * modules/memcasecmp (Makefile.am): Likewise.
73978         * modules/memchr (Makefile.am): Likewise.
73979         * modules/memcmp (Makefile.am): Likewise.
73980         * modules/memcoll (Makefile.am): Likewise.
73981         * modules/memcpy (Makefile.am): Likewise.
73982         * modules/memmem (Makefile.am): Likewise.
73983         * modules/memmove (Makefile.am): Likewise.
73984         * modules/mempcpy (Makefile.am): Likewise.
73985         * modules/memrchr (Makefile.am): Likewise.
73986         * modules/memset (Makefile.am): Likewise.
73987         * modules/memxor (Makefile.am): Likewise.
73988         * modules/mkancesdirs (Makefile.am): Likewise.
73989         * modules/mkdir-p (Makefile.am): Likewise.
73990         * modules/mkdir (Makefile.am): Likewise.
73991         * modules/mkdtemp (Makefile.am): Likewise.
73992         * modules/mkstemp (Makefile.am): Likewise.
73993         * modules/mktime (Makefile.am): Likewise.
73994         * modules/modechange (Makefile.am): Likewise.
73995         * modules/mountlist (Makefile.am): Likewise.
73996         * modules/nanosleep (Makefile.am): Likewise.
73997         * modules/obstack (Makefile.am): Likewise.
73998         * modules/openat (Makefile.am): Likewise.
73999         * modules/pagealign_alloc (Makefile.am): Likewise.
74000         * modules/pathmax (Makefile.am): Likewise.
74001         * modules/physmem (Makefile.am): Likewise.
74002         * modules/poll (Makefile.am): Likewise.
74003         * modules/posixtm (Makefile.am): Likewise.
74004         * modules/posixver (Makefile.am): Likewise.
74005         * modules/putenv (Makefile.am): Likewise.
74006         * modules/quote (Makefile.am): Likewise.
74007         * modules/quotearg (Makefile.am): Likewise.
74008         * modules/raise (Makefile.am): Likewise.
74009         * modules/read-file (Makefile.am): Likewise.
74010         * modules/readline (Makefile.am): Likewise.
74011         * modules/readlink (Makefile.am): Likewise.
74012         * modules/readtokens (Makefile.am): Likewise.
74013         * modules/readutmp (Makefile.am): Likewise.
74014         * modules/realloc (Makefile.am): Likewise.
74015         * modules/regex (Makefile.am): Likewise.
74016         * modules/rename-dest-slash (Makefile.am): Likewise.
74017         * modules/rename (Makefile.am): Likewise.
74018         * modules/rijndael (Makefile.am): Likewise.
74019         * modules/rmdir (Makefile.am): Likewise.
74020         * modules/rpmatch (Makefile.am): Likewise.
74021         * modules/safe-read (Makefile.am): Likewise.
74022         * modules/safe-write (Makefile.am): Likewise.
74023         * modules/same-inode (Makefile.am): Likewise.
74024         * modules/same (Makefile.am): Likewise.
74025         * modules/save-cwd (Makefile.am): Likewise.
74026         * modules/savedir (Makefile.am): Likewise.
74027         * modules/setenv (Makefile.am): Likewise.
74028         * modules/settime (Makefile.am): Likewise.
74029         * modules/sha1 (Makefile.am): Likewise.
74030         * modules/sig2str (Makefile.am): Likewise.
74031         * modules/snprintf (Makefile.am): Likewise.
74032         * modules/stat-macros (Makefile.am): Likewise.
74033         * modules/stat-time (Makefile.am): Likewise.
74034         * modules/stdbool (Makefile.am): Likewise.
74035         * modules/stdint (Makefile.am): Likewise.
74036         * modules/stdlib-safer (Makefile.am): Likewise.
74037         * modules/stpcpy (Makefile.am): Likewise.
74038         * modules/stpncpy (Makefile.am): Likewise.
74039         * modules/strcase (Makefile.am): Likewise.
74040         * modules/strcasestr (Makefile.am): Likewise.
74041         * modules/strchrnul (Makefile.am): Likewise.
74042         * modules/strcspn (Makefile.am): Likewise.
74043         * modules/strdup (Makefile.am): Likewise.
74044         * modules/strerror (Makefile.am): Likewise.
74045         * modules/strftime (Makefile.am): Likewise.
74046         * modules/strndup (Makefile.am): Likewise.
74047         * modules/strnlen (Makefile.am): Likewise.
74048         * modules/strpbrk (Makefile.am): Likewise.
74049         * modules/strsep (Makefile.am): Likewise.
74050         * modules/strstr (Makefile.am): Likewise.
74051         * modules/strtod (Makefile.am): Likewise.
74052         * modules/strtoimax (Makefile.am): Likewise.
74053         * modules/strtok_r (Makefile.am): Likewise.
74054         * modules/strtol (Makefile.am): Likewise.
74055         * modules/strtoll (Makefile.am): Likewise.
74056         * modules/strtoul (Makefile.am): Likewise.
74057         * modules/strtoull (Makefile.am): Likewise.
74058         * modules/strtoumax (Makefile.am): Likewise.
74059         * modules/strverscmp (Makefile.am): Likewise.
74060         * modules/sys_socket (Makefile.am): Likewise.
74061         * modules/sys_stat (Makefile.am): Likewise.
74062         * modules/sysexits (Makefile.am): Likewise.
74063         * modules/time_r (Makefile.am): Likewise.
74064         * modules/timegm (Makefile.am): Likewise.
74065         * modules/timespec (Makefile.am): Likewise.
74066         * modules/tmpfile-safer (Makefile.am): Likewise.
74067         * modules/trim (Makefile.am): Likewise.
74068         * modules/unistd-safer (Makefile.am): Likewise.
74069         * modules/unlinkdir (Makefile.am): Likewise.
74070         * modules/unlocked-io (Makefile.am): Likewise.
74071         * modules/userspec (Makefile.am): Likewise.
74072         * modules/utime (Makefile.am): Likewise.
74073         * modules/utimecmp (Makefile.am): Likewise.
74074         * modules/utimens (Makefile.am): Likewise.
74075         * modules/vasnprintf (Makefile.am): Likewise.
74076         * modules/vasprintf (Makefile.am): Likewise.
74077         * modules/vsnprintf (Makefile.am): Likewise.
74078         * modules/xalloc (Makefile.am): Likewise.
74079         * modules/xgetcwd (Makefile.am): Likewise.
74080         * modules/xnanosleep (Makefile.am): Likewise.
74081         * modules/xreadlink (Makefile.am): Likewise.
74082         * modules/xstrtod (Makefile.am): Likewise.
74083         * modules/xstrtol (Makefile.am): Likewise.
74084         * modules/xstrtold (Makefile.am): Likewise.
74085         * modules/yesno (Makefile.am): Likewise.
74086         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
74087
74088 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74089
74090         * modules/error (Makefile.am): Distribute files through
74091         EXTRA_DIST, not lib_SOURCES.
74092
74093 2006-10-12  Eric Blake  <ebb9@byu.net>
74094
74095         * modules/error (Makefile.am): Distribute files in /lib.
74096         * modules/obstack (Makefile.am): Likewise.
74097
74098 2006-10-12  Bruno Haible  <bruno@clisp.org>
74099
74100         * modules/acl (Makefile.am): Distribute all files in lib/ through
74101         EXTRA_DIST.
74102         * modules/arcfour (Makefile.am): Likewise.
74103         * modules/arctwo (Makefile.am): Likewise.
74104         * modules/argmatch (Makefile.am): Likewise.
74105         * modules/argz (Makefile.am): Likewise.
74106         * modules/atexit (Makefile.am): Likewise.
74107         * modules/backupfile (Makefile.am): Likewise.
74108         * modules/c-strtod (Makefile.am): Likewise.
74109         * modules/c-strtold (Makefile.am): Likewise.
74110         * modules/calloc (Makefile.am): Likewise.
74111         * modules/canon-host (Makefile.am): Likewise.
74112         * modules/canonicalize (Makefile.am): Likewise.
74113         * modules/chdir-long (Makefile.am): Likewise.
74114         * modules/chdir-safer (Makefile.am): Likewise.
74115         * modules/check-version (Makefile.am): Likewise.
74116         * modules/chown (Makefile.am): Likewise.
74117         * modules/cloexec (Makefile.am): Likewise.
74118         * modules/close-stream (Makefile.am): Likewise.
74119         * modules/closeout (Makefile.am): Likewise.
74120         * modules/crc (Makefile.am): Likewise.
74121         * modules/cycle-check (Makefile.am): Likewise.
74122         * modules/des (Makefile.am): Likewise.
74123         * modules/dirfd (Makefile.am): Likewise.
74124         * modules/dirname (Makefile.am): Likewise.
74125         * modules/dup2 (Makefile.am): Likewise.
74126         * modules/euidaccess (Makefile.am): Likewise.
74127         * modules/exclude (Makefile.am): Likewise.
74128         * modules/exitfail (Makefile.am): Likewise.
74129         * modules/fcntl-safer (Makefile.am): Likewise.
74130         * modules/file-type (Makefile.am): Likewise.
74131         * modules/fileblocks (Makefile.am): Likewise.
74132         * modules/filemode (Makefile.am): Likewise.
74133         * modules/filenamecat (Makefile.am): Likewise.
74134         * modules/fnmatch (Makefile.am): Likewise.
74135         * modules/fopen-safer (Makefile.am): Likewise.
74136         * modules/fpending (Makefile.am): Likewise.
74137         * modules/fprintftime (Makefile.am): Likewise.
74138         * modules/free (Makefile.am): Likewise.
74139         * modules/fsusage (Makefile.am): Likewise.
74140         * modules/ftruncate (Makefile.am): Likewise.
74141         * modules/fts (Makefile.am): Likewise.
74142         * modules/gc (Makefile.am): Likewise.
74143         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74144         * modules/getaddrinfo (Makefile.am): Likewise.
74145         * modules/getcwd (Makefile.am): Likewise.
74146         * modules/getdelim (Makefile.am): Likewise.
74147         * modules/getdomainname (Makefile.am): Likewise.
74148         * modules/getgroups (Makefile.am): Likewise.
74149         * modules/gethostname (Makefile.am): Likewise.
74150         * modules/gethrxtime (Makefile.am): Likewise.
74151         * modules/getline (Makefile.am): Likewise.
74152         * modules/getloadavg (Makefile.am): Likewise.
74153         * modules/getlogin_r (Makefile.am): Likewise.
74154         * modules/getopt (Makefile.am): Likewise.
74155         * modules/getpass (Makefile.am): Likewise.
74156         * modules/getpass-gnu (Makefile.am): Likewise.
74157         * modules/getsubopt (Makefile.am): Likewise.
74158         * modules/gettime (Makefile.am): Likewise.
74159         * modules/gettimeofday (Makefile.am): Likewise.
74160         * modules/getugroups (Makefile.am): Likewise.
74161         * modules/getusershell (Makefile.am): Likewise.
74162         * modules/glob (Makefile.am): Likewise.
74163         * modules/group-member (Makefile.am): Likewise.
74164         * modules/hard-locale (Makefile.am): Likewise.
74165         * modules/hash (Makefile.am): Likewise.
74166         * modules/hmac-md5 (Makefile.am): Likewise.
74167         * modules/hmac-sha1 (Makefile.am): Likewise.
74168         * modules/human (Makefile.am): Likewise.
74169         * modules/idcache (Makefile.am): Likewise.
74170         * modules/imaxabs (Makefile.am): Likewise.
74171         * modules/imaxdiv (Makefile.am): Likewise.
74172         * modules/inet_ntop (Makefile.am): Likewise.
74173         * modules/inet_pton (Makefile.am): Likewise.
74174         * modules/inttostr (Makefile.am): Likewise.
74175         * modules/isapipe (Makefile.am): Likewise.
74176         * modules/lchown (Makefile.am): Likewise.
74177         * modules/long-options (Makefile.am): Likewise.
74178         * modules/lstat (Makefile.am): Likewise.
74179         * modules/malloc (Makefile.am): Likewise.
74180         * modules/mathl (Makefile.am): Likewise.
74181         * modules/mbchar (Makefile.am): Likewise.
74182         * modules/md2 (Makefile.am): Likewise.
74183         * modules/md4 (Makefile.am): Likewise.
74184         * modules/md5 (Makefile.am): Likewise.
74185         * modules/memcasecmp (Makefile.am): Likewise.
74186         * modules/memchr (Makefile.am): Likewise.
74187         * modules/memcmp (Makefile.am): Likewise.
74188         * modules/memcoll (Makefile.am): Likewise.
74189         * modules/memcpy (Makefile.am): Likewise.
74190         * modules/memmem (Makefile.am): Likewise.
74191         * modules/memmove (Makefile.am): Likewise.
74192         * modules/mempcpy (Makefile.am): Likewise.
74193         * modules/memrchr (Makefile.am): Likewise.
74194         * modules/memset (Makefile.am): Likewise.
74195         * modules/memxor (Makefile.am): Likewise.
74196         * modules/mkancesdirs (Makefile.am): Likewise.
74197         * modules/mkdir (Makefile.am): Likewise.
74198         * modules/mkdir-p (Makefile.am): Likewise.
74199         * modules/mkdtemp (Makefile.am): Likewise.
74200         * modules/mkstemp (Makefile.am): Likewise.
74201         * modules/mktime (Makefile.am): Likewise.
74202         * modules/modechange (Makefile.am): Likewise.
74203         * modules/mountlist (Makefile.am): Likewise.
74204         * modules/nanosleep (Makefile.am): Likewise.
74205         * modules/openat (Makefile.am): Likewise.
74206         * modules/pagealign_alloc (Makefile.am): Likewise.
74207         * modules/physmem (Makefile.am): Likewise.
74208         * modules/poll (Makefile.am): Likewise.
74209         * modules/posixtm (Makefile.am): Likewise.
74210         * modules/posixver (Makefile.am): Likewise.
74211         * modules/putenv (Makefile.am): Likewise.
74212         * modules/quote (Makefile.am): Likewise.
74213         * modules/quotearg (Makefile.am): Likewise.
74214         * modules/raise (Makefile.am): Likewise.
74215         * modules/read-file (Makefile.am): Likewise.
74216         * modules/readline (Makefile.am): Likewise.
74217         * modules/readlink (Makefile.am): Likewise.
74218         * modules/readtokens (Makefile.am): Likewise.
74219         * modules/readutmp (Makefile.am): Likewise.
74220         * modules/realloc (Makefile.am): Likewise.
74221         * modules/regex (Makefile.am): Likewise.
74222         * modules/rename (Makefile.am): Likewise.
74223         * modules/rename-dest-slash (Makefile.am): Likewise.
74224         * modules/rijndael (Makefile.am): Likewise.
74225         * modules/rmdir (Makefile.am): Likewise.
74226         * modules/rpmatch (Makefile.am): Likewise.
74227         * modules/safe-read (Makefile.am): Likewise.
74228         * modules/safe-write (Makefile.am): Likewise.
74229         * modules/same (Makefile.am): Likewise.
74230         * modules/save-cwd (Makefile.am): Likewise.
74231         * modules/savedir (Makefile.am): Likewise.
74232         * modules/setenv (Makefile.am): Likewise.
74233         * modules/settime (Makefile.am): Likewise.
74234         * modules/sha1 (Makefile.am): Likewise.
74235         * modules/sig2str (Makefile.am): Likewise.
74236         * modules/snprintf (Makefile.am): Likewise.
74237         * modules/stdlib-safer (Makefile.am): Likewise.
74238         * modules/stpcpy (Makefile.am): Likewise.
74239         * modules/stpncpy (Makefile.am): Likewise.
74240         * modules/strcase (Makefile.am): Likewise.
74241         * modules/strcasestr (Makefile.am): Likewise.
74242         * modules/strchrnul (Makefile.am): Likewise.
74243         * modules/strcspn (Makefile.am): Likewise.
74244         * modules/strdup (Makefile.am): Likewise.
74245         * modules/strerror (Makefile.am): Likewise.
74246         * modules/strftime (Makefile.am): Likewise.
74247         * modules/strndup (Makefile.am): Likewise.
74248         * modules/strnlen (Makefile.am): Likewise.
74249         * modules/strpbrk (Makefile.am): Likewise.
74250         * modules/strsep (Makefile.am): Likewise.
74251         * modules/strstr (Makefile.am): Likewise.
74252         * modules/strtod (Makefile.am): Likewise.
74253         * modules/strtoimax (Makefile.am): Likewise.
74254         * modules/strtok_r (Makefile.am): Likewise.
74255         * modules/strtol (Makefile.am): Likewise.
74256         * modules/strtoll (Makefile.am): Likewise.
74257         * modules/strtoul (Makefile.am): Likewise.
74258         * modules/strtoull (Makefile.am): Likewise.
74259         * modules/strtoumax (Makefile.am): Likewise.
74260         * modules/strverscmp (Makefile.am): Likewise.
74261         * modules/time_r (Makefile.am): Likewise.
74262         * modules/timegm (Makefile.am): Likewise.
74263         * modules/tmpfile-safer (Makefile.am): Likewise.
74264         * modules/unistd-safer (Makefile.am): Likewise.
74265         * modules/unlinkdir (Makefile.am): Likewise.
74266         * modules/userspec (Makefile.am): Likewise.
74267         * modules/utime (Makefile.am): Likewise.
74268         * modules/utimecmp (Makefile.am): Likewise.
74269         * modules/utimens (Makefile.am): Likewise.
74270         * modules/vasnprintf (Makefile.am): Likewise.
74271         * modules/vasprintf (Makefile.am): Likewise.
74272         * modules/vsnprintf (Makefile.am): Likewise.
74273         * modules/xalloc (Makefile.am): Likewise.
74274         * modules/xgetcwd (Makefile.am): Likewise.
74275         * modules/xnanosleep (Makefile.am): Likewise.
74276         * modules/xreadlink (Makefile.am): Likewise.
74277         * modules/xstrtod (Makefile.am): Likewise.
74278         * modules/xstrtol (Makefile.am): Likewise.
74279         * modules/xstrtold (Makefile.am): Likewise.
74280         * modules/yesno (Makefile.am): Likewise.
74281
74282 2006-10-12  Jim Meyering  <jim@meyering.net>
74283
74284         * m4/getloadavg.m4: Revert the change below.
74285
74286         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
74287         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
74288         fail with a symlink, which is what coreutils' ./bootstrap now
74289         creates by default.
74290
74291 2006-10-12  Bruno Haible  <bruno@clisp.org>
74292
74293         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
74294         mingw.
74295         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
74296         MSVC and mingw explicitly.
74297
74298 2006-10-11  Simon Josefsson  <jas@extundo.com>
74299             Bruno Haible  <bruno@clisp.org>
74300
74301         Add support for multiple gnulib-tool invocations in the scope of a
74302         single configure.ac file.
74303         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
74304         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
74305         with the same contents as the _LIBADD variable.
74306         (func_emit_initmacro_start, func_emit_initmacro_end,
74307         func_emit_initmacro_done): New functions.
74308         (func_import, func_create_testdir): Invoke them. Allow the identifiers
74309         gl_LIBOBJS and gl_LTLIBOBJS.
74310
74311 2006-10-11  Bruno Haible  <bruno@clisp.org>
74312
74313         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
74314         (func_create_testdir): Don't create po/Makefile.am, don't invoke
74315         autoreconf. Instead, invoke autopoint explicitly but move back the
74316         *.m4 files from gnulib.
74317
74318 2006-10-11  Bruno Haible  <bruno@clisp.org>
74319
74320         * gnulib-tool (func_usage): Make module names after --create-testdir
74321         optional.
74322         (func_create_testdir): If no module was specified, use nearly all
74323         modules.
74324
74325 2006-10-12  Jim Meyering  <jim@meyering.net>
74326
74327         Big performance improvement for fts-based tools that use FTS_NOSTAT.
74328         Avoid spurious inode-mismatch problems on non-POSIX file systems.
74329         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
74330         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
74331         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
74332         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
74333         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
74334         (fts_set_stat_required): New function.
74335         (fts_open): Defer the calls to fts_stat, if possible or requested.
74336         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
74337         into fts_stat itself.
74338         (fts_read): Perform any required (deferred) fts_stat call.
74339         (fts_build): Likewise, for the directory we're about to open and read.
74340         In the readdir loop, carefully decide whether each entry will require
74341         an eventual call to fts_stat, using dirent.d_type info if available.
74342         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
74343         a command line argument into this function.  Update all callers.
74344         Map a return value of FTS_DOT to FTS_D for a command line argument.
74345         * modules/fts (Depends-on): Add d-type.  Alphabetize.
74346         Thanks to Miklos Szeredi for his tenacity and for the initial
74347         bug report about "find" failing on a FUSE-based file system.
74348
74349         * lib/fts.c (fts_open): Use consistent indentation.
74350
74351 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74352
74353         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
74354         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
74355         reported by Jim Meyering.  All uses of cache variables renamed
74356         to match Autoconf's.
74357         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
74358         the other one.
74359
74360         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74361         Fix misspelling in diagnostic.
74362
74363 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74364
74365         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
74366         defined.  Problem reported by Matthew Woehlke.
74367
74368         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
74369         Add support for Tandem NonStop R series.
74370         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
74371         Use new macro.
74372
74373         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
74374         (has_trailing_slash): Omit size arg; all callers changed.
74375         Omit 'inline', since it doesn't help performance and we'd
74376         need to configure it.
74377         Don't count //, ///, etc. as having a trailing slash.
74378         As a side effect, this removes a C99ism reported by Matthew Woehlke.
74379         (rpl_rename_dest_slash): On failure, use rename's errno rather
74380         than (in some cases) an incorrect or junk errno.
74381         Simplify code by removing need to compute length; this does
74382         cause it to make two passes instead of one over the file name,
74383         but it's worth it.
74384
74385         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
74386         change, since Autoconf's version may no longer be appropriate now
74387         that we are using CVS Autoconf's version.  Add support for Tandem.
74388
74389 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74390             Bruno Haible  <bruno@clisp.org>
74391
74392         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
74393         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
74394         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
74395         gl_AC_TYPE_LONG_LONG.
74396
74397         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
74398         instead of HAVE_LONG_LONG.
74399         * lib/printf-args.c (printf_fetchargs): Likewise.
74400         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
74401         * lib/vasnprintf.c (VASNPRINTF): Likewise.
74402         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
74403         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
74404         gl_AC_TYPE_LONG_LONG.
74405
74406 2006-10-11  Bruno Haible  <bruno@clisp.org>
74407
74408         * m4/longlong.m4: Add comments.
74409         * m4/ulonglong.m4: Likewise.
74410
74411 2006-10-10  Bruno Haible  <bruno@clisp.org>
74412
74413         Make it possible to #define stpcpy, strdup to aliases.
74414         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
74415         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
74416
74417 2006-10-10  Bruno Haible  <bruno@clisp.org>
74418
74419         Make it possible to #define gcd to an alias.
74420         * lib/gcd.c: Include config.h.
74421
74422 2006-10-10  Bruno Haible  <bruno@clisp.org>
74423
74424         Make it possible to #define c_isascii to an alias.
74425         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
74426         defined. Undefine the macros before defining them, to avoid gcc
74427         warnings.
74428         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
74429         define NO_C_CTYPE_MACROS early.
74430
74431 2006-10-10  Bruno Haible  <bruno@clisp.org>
74432
74433         Make it possible to #define set_program_name to an alias.
74434         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74435         ENABLE_RELOCATABLE early.
74436
74437 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74438
74439         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74440         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74441         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74442         More generally, don't assume that 64-bit signed int is available
74443         if unsigned int is, and vice versa.
74444         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74445         unsigned symbols, not on their signed counterparts.
74446         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74447         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74448         (UINT64_C, UINTMAX_C):
74449         Likewise.
74450         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74451         unsigned counterparts.
74452         (Have_long_long, Unsigned): New macros.
74453         (Int): Renamed from INT.
74454         (strtoimax): Use the new macros.
74455         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74456         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74457         * modules/inttypes (inttypes.h): Substitute
74458         HAVE_UNSIGNED_LONG_LONG_INT.
74459         * modules/stdint (stdint.h): Likewise.
74460         (Files): Add m4/ulonglong.m4.
74461
74462 2006-10-10  Bruno Haible  <bruno@clisp.org>
74463
74464         Fix a gcc -Wshadow warning.
74465         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74466         to 'bucket'.
74467         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74468         gl_linked_indexof_from_to): Likewise.
74469         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74470         Likewise.
74471         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74472         Likewise.
74473         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74474         Reported by Eric Blake.
74475
74476 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74477
74478         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74479         for NetBSD.  Problem reported by Bruno Haible.
74480
74481 2006-10-09  Jim Meyering  <jim@meyering.net>
74482
74483         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74484         Patch from Bruno Haible.
74485
74486 2006-10-09  Jim Meyering  <jim@meyering.net>
74487
74488         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74489         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74490         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74491
74492 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74493
74494         Don't include <config.h> twice; this doesn't work in some cases,
74495         e.g., when config.h has "#define intmax_t long long int" and
74496         we include <config.h>, <inttypes.h>, <config.h> in that order.
74497         Problem reported by Matthew Woehlke in:
74498         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74499         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74500         * lib/fts-cycle.c: Don't include config.h.
74501         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74502         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74503         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74504         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74505         inttypes.h.
74506         * lib/xstrtoumax.c: Likewise.
74507         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74508         __strtol and the like, so that this module is more like its siblings.
74509         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74510         Remove; no longer needed now that we assume gnulib inttypes.h.
74511
74512 2006-10-08  Bruno Haible  <bruno@clisp.org>
74513
74514         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74515         option.
74516
74517 2006-10-07  Jim Meyering  <jim@meyering.net>
74518
74519         * modules/inttypes (inttypes.h): Revert what seems to have been
74520         an inadvertent part of today's change: use "|", not "/" in the
74521         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74522
74523 2006-10-07  Bruno Haible  <bruno@clisp.org>
74524
74525         * modules/sublist: New file.
74526
74527 2006-10-07  Bruno Haible  <bruno@clisp.org>
74528
74529         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74530         * modules/argz (argz.h): Likewise.
74531         * modules/arpa_inet (arpa/inet.h): Likewise.
74532         * modules/byteswap (byteswap.h): Likewise.
74533         * modules/configmake (configmake.h): Likewise.
74534         * modules/fcntl (fcntl.h): Likewise.
74535         * modules/fnmatch (fnmatch.h): Likewise.
74536         * modules/getopt (getopt.h): Likewise.
74537         * modules/glob (glob.h): Likewise.
74538         * modules/inttypes (inttypes.h): Likewise.
74539         * modules/netinet_in (netinet/in.h): Likewise.
74540         * modules/poll (poll.h): Likewise.
74541         * modules/stdbool (stdbool.h): Likewise.
74542         * modules/stdint (stdint.h): Likewise.
74543         * modules/sys_select (sys/select.h): Likewise.
74544         * modules/sys_socket (sys/socket.h): Likewise.
74545         * modules/sys_stat (sys/stat.h): Likewise.
74546         * modules/sysexits (sysexits.h): Likewise.
74547         * modules/unistd (unistd.h): Likewise.
74548         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74549         Add a "DO NOT EDIT" comment to the generated file.
74550         (func_import): Likewise for gnulib-comp.m4.
74551
74552 2006-10-07  Bruno Haible  <bruno@clisp.org>
74553
74554         * lib/gl_sublist.h: New file.
74555         * lib/gl_sublist.c: New file.
74556
74557 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74558
74559         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74560         name (relative to the original working directory) and the file
74561         name component (relative to the temporary working directory).  All
74562         callers changed.
74563         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74564         * lib/mkdir-p.c (make_dir_parents): Likewise.
74565         * lib/mkdir-p.h (make_dir_parents): Likewise.
74566
74567 2006-10-06  Eric Blake  <ebb9@byu.net>
74568
74569         Define several macros for use by the clean-temp module.
74570         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74571         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74572         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74573
74574         * lib/clean-temp.h (close_stream_temp): New declaration.
74575         * lib/clean-temp.c (includes): Pull in headers according to what
74576         other modules are in use.
74577         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74578
74579 2006-10-06  Bruno Haible  <bruno@clisp.org>
74580
74581         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74582         instead of fopen, fwriteerror.
74583
74584 2006-10-06  Bruno Haible  <bruno@clisp.org>
74585
74586         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74587         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74588         int.
74589         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74590         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74591         Return an error indicator.
74592         Suggested by Eric Blake.
74593
74594 2006-10-06  Bruno Haible  <bruno@clisp.org>
74595
74596         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74597         Reported by Eric Blake.
74598
74599 2006-10-06  Bruno Haible  <bruno@clisp.org>
74600
74601         * modules/closeout (Description): Mention stderr too.
74602
74603 2006-10-06  Bruno Haible  <bruno@clisp.org>
74604         and Paul Eggert  <eggert@cs.ucla.edu>
74605
74606         * lib/closeout.c (close_stdout): Also close stderr.
74607         * lib/closeout.h: Update comment.
74608
74609 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74610
74611         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
74612         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
74613         * lib/dirchownmod.c: Include lchown.h.
74614         * lib/lchown.c: Don't include files that lchown.h now includes.
74615         Don't declare chown, since lchown.h now does that.
74616         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
74617         (lchown): Define to rpl_chown if lchown is declared but
74618         does not exist.  Declare using a prototype if lchown is not
74619         declared.  Add a copyright notice.
74620         * lib/mkstemp.h: Include <unistd.h>.
74621         * lib/openat.c: Include lchown.h.
74622
74623         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
74624         we now test for that separately.
74625         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
74626         rather than O_NOFOLLOW, when testing whether it's possible to
74627         avoid a race condition reliably.
74628         * lib/savewd.c (savewd_chdir): Likewise.
74629
74630         Remove macros that are no longer needed now that stdint.h is
74631         reliable.
74632         * lib/fsusage.c (UINTMAX_MAX): Remove.
74633         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
74634         * lib/utimecmp.c (SIZE_MAX): Remove.
74635
74636         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
74637
74638         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
74639         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
74640         O_NOATIME works.
74641
74642 2006-10-05  Bruno Haible  <bruno@clisp.org>
74643
74644         * lib/gl_list.h (gl_sortedlist_search_from_to,
74645         gl_sortedlist_indexof_from_to): New declarations.
74646         (gl_list_implementation): New fields sortedlist_search_from_to,
74647         sortedlist_indexof_from_to.
74648         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74649         inline functions.
74650         * lib/gl_list.c (gl_sortedlist_search_from_to,
74651         gl_sortedlist_indexof_from_to): New functions.
74652         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74653         function.
74654         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74655         (gl_array_sortedlist_search_from_to): New function.
74656         (gl_array_list_implementation): Update.
74657         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74658         function.
74659         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74660         (gl_carray_sortedlist_search_from_to): New function.
74661         (gl_carray_list_implementation): Update.
74662         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
74663         gl_linked_sortedlist_indexof_from_to): New functions.
74664         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74665         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74666         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
74667         gl_tree_sortedlist_indexof_from_to): New functions.
74668         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74669         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74670         Update.
74671         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74672         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
74673         Update.
74674
74675 2006-10-05  Bruno Haible  <bruno@clisp.org>
74676
74677         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
74678         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
74679         (struct gl_list_implementation): Add fields search_from_to,
74680         indexof_from_to. Remove fields search, indexof.
74681         (gl_list_search): Use the search_from_to method.
74682         (gl_list_search_from, gl_list_search_from_to): New functions.
74683         (gl_list_indexof): Use the indexof_from_to method.
74684         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74685         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
74686         (gl_list_search_from, gl_list_search_from_to): New functions.
74687         (gl_list_indexof): Use the indexof_from_to method.
74688         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74689         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
74690         gl_array_indexof. Add start_index, end_index arguments.
74691         (gl_array_search_from_to): Renamed from gl_array_search. Add
74692         start_index, end_index arguments.
74693         (gl_array_remove, gl_array_list_implementation): Update.
74694         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
74695         gl_carray_indexof. Add start_index, end_index arguments.
74696         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
74697         start_index, end_index arguments.
74698         (gl_carray_remove, gl_carray_list_implementation): Update.
74699         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
74700         gl_linked_search. Add start_index, end_index arguments.
74701         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
74702         start_index, end_index arguments.
74703         (gl_linked_remove): Update.
74704         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74705         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74706         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
74707         field to 'size_t'.
74708         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
74709         gl_tree_search. Add start_index, end_index arguments.
74710         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74711         start_index, end_index arguments.
74712         (gl_tree_remove): Update.
74713         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74714         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74715         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
74716         function.
74717         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
74718         gl_tree_search. Add start_index, end_index arguments.
74719         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74720         start_index, end_index arguments.
74721         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74722         Update.
74723         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
74724
74725 2006-10-05  Bruno Haible  <bruno@clisp.org>
74726
74727         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
74728
74729         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
74730         fwriteerror_temp): New declarations.
74731         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
74732         (descriptors): New variable.
74733         (cleanup): First, close the descriptors.
74734         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
74735         fclose_temp, fwriteerror_temp): New functions.
74736
74737 2006-10-04  Jim Meyering  <jim@meyering.net>
74738
74739         * lib/fts.c (fts_open): Tiny comment change.
74740
74741 2006-10-04  Bruno Haible  <bruno@clisp.org>
74742
74743         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
74744         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
74745         gl_LOCK_BODY.
74746         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
74747         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
74748         gl_LOCK_EARLY_BODY.
74749         (gl_LOCK): Require gl_LOCK_BODY.
74750
74751 2006-10-04  Bruno Haible  <bruno@clisp.org>
74752
74753         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
74754         (gl_oset_search_atleast): New declaration.
74755         (struct gl_oset_implementation): Add field 'search_atleast'.
74756         (gl_oset_search_atleast): New inline function.
74757         * lib/gl_oset.c (gl_oset_search_atleast): New function.
74758         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
74759         (gl_array_oset_implementation): Update.
74760         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
74761         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
74762         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
74763
74764 2006-10-04  Bruno Haible  <bruno@clisp.org>
74765
74766         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
74767
74768 2006-10-03  Bruno Haible  <bruno@clisp.org>
74769
74770         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
74771         from gl_avltreehash_list_implementation.
74772
74773 2006-10-03  Bruno Haible  <bruno@clisp.org>
74774
74775         * lib/gl_oset.c (gl_oset_add): Fix return type.
74776
74777 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
74778
74779         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
74780
74781 2006-10-02  Eric Blake  <ebb9@byu.net>
74782
74783         * modules/strnlen (Depends-on): Add extensions.
74784
74785 2006-10-02  Eric Blake  <ebb9@byu.net>
74786
74787         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
74788         definition in 2.60+.
74789
74790 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
74791
74792         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
74793         checks.
74794
74795 2006-10-02  Bruno Haible  <bruno@clisp.org>
74796
74797         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
74798         to the AUTOMAKE_OPTIONS.
74799         Reported by Jim Meyering.
74800
74801 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74802
74803         Work around bug in Solaris 10 /proc file system:
74804         /proc/self/fd/NNN/.. isn't the parent directory of
74805         the directory whose file descriptor is NNN.  This needs to
74806         be worked around at run time, not compile time, since a
74807         program might be built on Solaris 8, where things work, and
74808         run on Solaris 10.
74809         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
74810         to use the following interface instead:
74811         (OPENAT_BUFFER_SIZE): New macro.
74812         (openat_proc_name): New function.
74813         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
74814         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
74815         Likewise.
74816         * lib/openat-proc.c: New file.
74817         * modules/openat (Files): Add lib/openat-proc.c.
74818         (Depends-on): Add same-inode, stdbool.
74819         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
74820
74821 2006-09-29  Bruno Haible  <bruno@clisp.org>
74822
74823         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
74824         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
74825         argument. Set stdout_closed before testing for ferror, not after.
74826         (fwriteerror, fwriteerror_no_ebadf): New functions.
74827
74828 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74829
74830         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
74831
74832 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
74833
74834         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
74835         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
74836
74837 2006-09-28  Jim Meyering  <jim@meyering.net>
74838
74839         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
74840         Include <unistd.h>.
74841
74842 2006-09-28  Bruno Haible  <bruno@clisp.org>
74843
74844         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
74845         * modules/linkedhash-list (Depends-on): Likewise.
74846         * modules/rbtreehash-list (Depends-on): Likewise.
74847
74848 2006-09-28  Bruno Haible  <bruno@clisp.org>
74849
74850         * lib/strndup.h: Simplify the redefinition of strndup.
74851         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
74852         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
74853
74854 2006-09-28  Bruno Haible  <bruno@clisp.org>
74855
74856         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
74857         * lib/gl_linkedhash_list.c: Likewise.
74858         * lib/gl_rbtreehash_list.c: Likewise.
74859
74860 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74861
74862         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
74863         getaddrinfo.
74864
74865         * lib/__fpending.h: Don't include <stdio_ext.h> unless
74866         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
74867         it causes <stdio_ext.h> to cause a compile-time error.
74868         Problem reported by Nelson H. F. Beebe.
74869         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
74870         of HAVE_DECL___PENDING.
74871
74872         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
74873         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
74874         declaration.
74875
74876 2006-09-27  Jim Meyering  <jim@meyering.net>
74877
74878         This file could end up with a definition for a function
74879         named __strndup, rather than rpl_strndup on a system with
74880         incomplete weak_alias support.
74881         * lib/strndup.c (strndup): Rename from __strndup.
74882         Remove #defines that used to map __strndup to strndup.
74883         Don't use K&R prototypes.
74884         Remove LIBC-related code, since this file is not sync'd with glibc.
74885         * lib/strndup.h: Revamp, accordingly.
74886         * m4/strndup.m4: Modernize.
74887
74888 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74889
74890         * modules/savewd (Depends-on): Add 'raise'.
74891         * lib/savewd.c: Include <signal.h>, for 'raise'.
74892
74893 2006-09-26  Jim Meyering  <jim@meyering.net>
74894
74895         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
74896         when we detect Darwin 8.7.0's acl_get_file bug.
74897         Rearrange to perform the new (below) run-test while $LIBS
74898         contains any acl-related library.  Set USE_ACL at the end.
74899         (gl_ACL_GET_FILE): New function.
74900
74901 2006-09-26  Eric Blake  <ebb9@byu.net>
74902
74903         * lib/verror.c: Include <config.h> unconditionally.
74904
74905 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
74906
74907         * modules/clock-time (Maintainer): Add self.
74908         * modules/getlogin_r (Depends-on): Add extensions.
74909
74910 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74911
74912         * modules/clock-time: New module.
74913         * modules/nanosleep (Depends-on): Add clock-time.
74914         * modules/gethrxtime (Depends-on): Likewise.
74915         * modules/gettime (Depends-on): Likewise.
74916         * modules/settime (Depends-on): Likewise.
74917
74918         * modules/fts-lgpl: Depend on openat.
74919         * modules/mkancesdirs: Depend on savewd.
74920         * modules/mkdir-p: Likewise.
74921
74922 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74923
74924         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
74925
74926         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
74927         `gl_have_arbitrary_file_name_length_limit' to
74928         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
74929         actually works between configure runs.
74930
74931 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74932             Bruno Haible  <bruno@clisp.org>
74933
74934         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
74935
74936 2006-09-25  Jim Meyering  <jim@meyering.net>
74937
74938         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
74939         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
74940
74941 2006-09-25  Eric Blake  <ebb9@byu.net>
74942
74943         * gnulib-tool (func_import, func_create_testdir): Fix typos in
74944         exec's in 2006-09-18 patch when shuffling fds.
74945
74946 2006-09-25  Bruno Haible  <bruno@clisp.org>
74947
74948         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
74949         Reported by Jim Meyering.
74950
74951 2006-09-24  Jim Meyering  <jim@meyering.net>
74952
74953         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
74954         compare a pointer against a literal "0".  That caused failures with
74955         at least HP-UX's hpcc.
74956
74957 2006-09-22  Simon Josefsson  <jas@extundo.com>
74958
74959         * modules/gc-sha1:
74960         * modules/gc-md4:
74961         * modules/gc-hmac-sha1:
74962         * modules/gc-hmac-md5:
74963         * modules/gc-des:
74964         * modules/gc-arcfour: Distribute more files.
74965
74966 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74967
74968         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
74969         (gl_linked_iterator_from_to): Initialize struct completely.
74970         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
74971         (gl_tree_iterator_from_to): Likewise
74972         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
74973         * lib/gl_array_list.c [lint] (gl_array_iterator)
74974         (gl_array_iterator_from_to): Likewise.
74975         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
74976         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
74977         (gl_carray_iterator_from_to): Likewise.
74978
74979         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
74980         * lib/md4.c (md4_process_block): Remove unused variable.
74981         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
74982         parentheses for clarity.
74983
74984 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74985
74986         * modules/bison-i18n (Depends-on): Add gettext.
74987
74988 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74989
74990         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
74991         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74992         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
74993         also add missing comma that caused broken test.
74994         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
74995         stdlib.h, for `abort'.
74996         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
74997         variables.
74998         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
74999         include unistd.h if present, for `rmdir'.
75000         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
75001         variables.
75002         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
75003         in the process include standard headers for prototypes.
75004         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
75005         gets declared on GNU/Linux.
75006         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75007         unistd.h, for `rmdir'.
75008         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75009
75010         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75011         always true.
75012         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75013
75014         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75015
75016 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75017
75018         * gnulib-tool (func_version): Create output all at once.  This
75019         may help avoid triggering unnecessary SIGPIPEs, and at any
75020         rate it doesn't hurt.
75021
75022 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75023             Bruno Haible  <bruno@clisp.org>
75024
75025         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75026         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75027         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75028
75029         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75030         (gl_FUNC_VASPRINTF): Invoke it.
75031
75032 2006-09-22  Bruno Haible  <bruno@clisp.org>
75033
75034         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75035         getloadavg.c as first argument.
75036
75037 2006-09-22  Bruno Haible  <bruno@clisp.org>
75038
75039         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75040         at the beginning of the gl_INIT macro.
75041         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75042         gl_GETLOADAVG.
75043
75044 2006-09-22  Bruno Haible  <bruno@clisp.org>
75045
75046         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75047         module.
75048         Suggested by Ralf Wildenhues.
75049
75050 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75051
75052         Import this patch from libc:
75053
75054         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75055
75056         * lib/regex_internal.c (re_string_reconstruct): Handle
75057         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75058         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75059         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75060         re_string_context_at.
75061
75062         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75063         now requires it.
75064         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
75065         gl_REGEX now does it for us.
75066         (gl_REGEX): Add test taken from
75067         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
75068
75069         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
75070         Check that large offsets work.  Modernize Autoconf usages.
75071         Prefer "yes" to mean a good thing rather than a bad.
75072         Don't put "#define mkstemp" in config.h, as this might interfere
75073         with standard system headers that "#define mkstemp mkstemp64".
75074
75075         * modules/mkstemp (Depends-on): Add extensions, so that
75076         mkstemp is visible on some platforms.
75077         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
75078         (Include): Change to "mkstemp.h" from <stdlib.h>.
75079         (Files): Add mkstemp.h.
75080
75081         * lib/mkstemp.h: New file, since some standard headers
75082         #define mkstemp.
75083         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
75084         Include "mkstemp.h".
75085         Make the _LIBC code resemble glibc original more,
75086         e.g., use K&R style.
75087         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
75088         (mkstemp): Remove, since mkstemp.h does this for us.
75089         * lib/stdlib--.h: Include mkstemp.h.
75090
75091         Import this patch from libc:
75092
75093         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75094
75095         * lib/tempname.c (__gen_tempname): Change attempts_min
75096         into a macro.  Use preprocessor to decide how to initialize
75097         attempts [Coverity CID 67].
75098
75099 2006-09-20  Bruno Haible  <bruno@clisp.org>
75100
75101         * lib/mkdtemp.c: Import from libc.
75102         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75103                 * sysdeps/posix/tempname.c (__gen_tempname): Change
75104                 attempts_min into a macro.  Use preprocessor to decide how to
75105                 initialize attempts [Coverity CID 67].
75106         2001-11-27  Paul Eggert  <eggert@twinsun.com>
75107                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
75108                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
75109
75110 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75111
75112         * gnulib-tool (func_exit): New function, to allow to pass the
75113         exit status portably through the trap.  Use everywhere.
75114         (--help, --version): Signal a write error.
75115         (trap): catch SIGPIPE, for write errors.
75116         Exit at the end of the trap, with the correct exit status.
75117
75118 2006-09-19  Karl Berry  <karl@gnu.org>
75119
75120         * doc/gnulib.texi: note about the license texinfo files.
75121
75122 2006-09-19  Eric Blake  <ebb9@byu.net>
75123
75124         * gnulib-tool: Avoid space-tab.
75125
75126 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75127
75128         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
75129         that prevented coreutils 6.1 from building.  Problem reported
75130         by Petter Reinholdtsen.
75131
75132 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75133
75134         * gnulib-tool (avoidlist): Fix typo that broke options like
75135         --avoid=lock that are used by coreutils bootstrap.
75136
75137 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
75138
75139         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
75140         more systematically.
75141
75142 2006-09-18  Jim Meyering  <jim@meyering.net>
75143
75144         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
75145
75146 2006-09-18  Bruno Haible  <bruno@clisp.org>
75147
75148         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
75149
75150 2006-09-18  Bruno Haible  <bruno@clisp.org>
75151
75152         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
75153         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
75154         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
75155         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
75156         * m4/gettext.m4: Require autoconf >= 2.52.
75157         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
75158         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
75159         of gl_cv_header_inttypes_h.
75160
75161 2006-09-18  Bruno Haible  <bruno@clisp.org>
75162
75163         * lib/javaversion.c: Include configmake.h.
75164
75165 2006-09-18  Bruno Haible  <bruno@clisp.org>
75166
75167         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
75168         avoid that the while loops be executed in a subshell.
75169
75170 2006-09-18  Bruno Haible  <bruno@clisp.org>
75171
75172         * MODULES.html.sh (func_module): Break long lines.
75173         Suggested by Bruce Korb <bkorb@gnu.org>.
75174
75175 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75176
75177         Speed up by a factor of 1.12.
75178         * gnulib-tool (nl): New variable.
75179         (func_import): Rewrite include directive extraction to only read each
75180         directive once.
75181
75182 2006-09-17  Bruno Haible  <bruno@clisp.org>
75183
75184         * modules/javaversion (Makefile.am): Remove DEFS setting.
75185         (Depends-on): Add configmake, for PKGDATADIR definition.
75186
75187 2006-09-17  Bruno Haible  <bruno@clisp.org>
75188
75189         * gnulib-tool (func_create_testdir): Rewrite all files at once.
75190
75191 2006-09-17  Bruno Haible  <bruno@clisp.org>
75192
75193         * gnulib-tool (func_append): New function, stolen from libtool.m4.
75194         (func_modules_transitive_closure, func_modules_add_dummy,
75195         func_modules_to_filelist, func_import, func_create_testdir,
75196         func_create_megatestdir, ...): Use it wherever possible.
75197         Suggested by Ralf Wildenhues.
75198
75199 2006-09-16  Karl Berry  <karl@gnu.org>
75200
75201         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
75202         to avoid sectioning errors.
75203         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
75204         [ifinfo]: blank line after @center-ed titles.
75205         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
75206         Spell FSF address consistently with others.
75207         (These changes approved by rms.)
75208
75209 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75210
75211         Speed up by a factor of 1.61.
75212         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
75213         already checked module names again.
75214
75215 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75216
75217         Speed up by a factor of 1.13.
75218         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
75219         for new_files, and the input to func_add_or_update.
75220
75221 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75222
75223         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
75224         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
75225
75226 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75227
75228         * modules/mkancesdirs (Depends-on): Add fcntl.
75229         * modules/savewd: New file.
75230         * MODULES.html.sh (File system functions): Add savewd.
75231
75232         * modules/configmake (Makefile.am): Add support for the
75233         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
75234
75235 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75236
75237         * m4/savewd.m4: New file.
75238
75239 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75240
75241         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
75242         (dirchownmod): New arg FD.  All callers changed.
75243         Use FD rather than opening the directory ourself, as opening is
75244         now the caller's responsibility.
75245         * lib/dirchownmod.h: Likewise.
75246         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
75247         hosts that require <sys/types.h> before <sys/stat.h>.  Include
75248         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
75249         (test_dir): Remove.
75250         (mkancesdirs): Return length of prefix of FILE that has already
75251         been made, or -2 if there is a child doing the work.  Redo
75252         algorithm so that it is O(N) rather than O(N**2).  Optimize away
75253         ".", and treat ".." specially since it might stray back into
75254         already-created areas.  Use a subprocess if necessary.  New arg
75255         WD; all users changed.  MAKE_DIR function should now return 1
75256         if it creates a directory that is not readable.  Return -2 if
75257         a child process is spun off.
75258         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
75259         Adjust signature to match code.
75260         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
75261         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
75262         all users changed.
75263         * lib/savewd.c, lib/savewd.h: New files.
75264
75265 2006-09-15  Jim Meyering  <jim@meyering.net>
75266
75267         * modules/rename-dest-slash: New module.
75268         * MODULES.html.sh (posix_compat): Add it here.
75269
75270         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
75271
75272 2006-09-15  Jim Meyering  <jim@meyering.net>
75273
75274         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
75275         file.
75276
75277         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
75278
75279 2006-09-15  Jim Meyering  <jim@meyering.net>
75280
75281         * lib/rename-dest-slash.c (has_trailing_slash): Use
75282         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
75283         (rpl_rename_dest_slash): Perform the cheaper trailing slash
75284         test before testing whether SRC is a directory.
75285         Suggestions from Bruno Haible.
75286
75287         Avoid a warning about an unused variable.
75288         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
75289         into the #ifdef block where it's used.
75290
75291         * lib/rename-dest-slash.c: New file.
75292
75293 2006-09-14  Bruno Haible  <bruno@clisp.org>
75294
75295         * lib/allocsa.c: Include <config.h> unconditionally.
75296         * lib/asnprintf.c: Likewise.
75297         * lib/asprintf.c: Likewise.
75298         * lib/c-strcasecmp.c: Likewise.
75299         * lib/c-strcasestr.c: Likewise.
75300         * lib/c-strncasecmp.c: Likewise.
75301         * lib/c-strstr.c: Likewise.
75302         * lib/classpath.c: Likewise.
75303         * lib/clean-temp.c: Likewise.
75304         * lib/concatpath.c: Likewise.
75305         * lib/copy-file.c: Likewise.
75306         * lib/csharpcomp.c: Likewise.
75307         * lib/csharpexec.c: Likewise.
75308         * lib/execute.c: Likewise.
75309         * lib/fatal-signal.c: Likewise.
75310         * lib/findprog.c: Likewise.
75311         * lib/fwriteerror.c: Likewise.
75312         * lib/gl_array_list.c: Likewise.
75313         * lib/gl_array_oset.c: Likewise.
75314         * lib/gl_avltree_list.c: Likewise.
75315         * lib/gl_avltree_oset.c: Likewise.
75316         * lib/gl_avltreehash_list.c: Likewise.
75317         * lib/gl_carray_list.c: Likewise.
75318         * lib/gl_linked_list.c: Likewise.
75319         * lib/gl_linkedhash_list.c: Likewise.
75320         * lib/gl_list.c: Likewise.
75321         * lib/gl_oset.c: Likewise.
75322         * lib/gl_rbtree_list.c: Likewise.
75323         * lib/gl_rbtree_oset.c: Likewise.
75324         * lib/gl_rbtreehash_list.c: Likewise.
75325         * lib/imaxabs.c: Likewise.
75326         * lib/imaxdiv.c: Likewise.
75327         * lib/javacomp.c: Likewise.
75328         * lib/javaexec.c: Likewise.
75329         * lib/javaversion.c: Likewise.
75330         * lib/linebreak.c: Likewise.
75331         * lib/localcharset.c: Likewise.
75332         * lib/lock.c: Likewise.
75333         * lib/mbchar.c: Likewise.
75334         * lib/mbswidth.c: Likewise.
75335         * lib/mkdtemp.c: Likewise.
75336         * lib/pipe.c: Likewise.
75337         * lib/printf-args.c: Likewise.
75338         * lib/printf-parse.c: Likewise.
75339         * lib/progname.c: Likewise.
75340         * lib/progreloc.c: Likewise.
75341         * lib/readlink.c: Likewise.
75342         * lib/sh-quote.c: Likewise.
75343         * lib/stpcpy.c: Likewise.
75344         * lib/stpncpy.c: Likewise.
75345         * lib/strcasecmp.c: Likewise.
75346         * lib/strcasestr.c: Likewise.
75347         * lib/strcspn.c: Likewise.
75348         * lib/striconv.c: Likewise.
75349         * lib/strncasecmp.c: Likewise.
75350         * lib/strnlen1.c: Likewise.
75351         * lib/strstr.c: Likewise.
75352         * lib/strtok_r.c: Likewise.
75353         * lib/tls.c: Likewise.
75354         * lib/tmpdir.c: Likewise.
75355         * lib/unicodeio.c: Likewise.
75356         * lib/unsetenv.c: Likewise.
75357         * lib/vasnprintf.c: Likewise.
75358         * lib/vasprintf.c: Likewise.
75359         * lib/wait-process.c: Likewise.
75360         * lib/xallocsa.c: Likewise.
75361         * lib/xsetenv.c: Likewise.
75362         * lib/xstriconv.c: Likewise.
75363
75364 2006-09-13  Simon Josefsson  <jas@extundo.com>
75365
75366         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
75367         that internally, suggested by Ralf Wildenhues
75368         <Ralf.Wildenhues@gmx.de>.
75369
75370 2006-09-13  Simon Josefsson  <jas@extundo.com>
75371
75372         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
75373         @LIBOBJS@.
75374         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75375
75376 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75377
75378         * lib/_fpending.c: Include <config.h> unconditionally, since we no
75379         longer worry about uses that don't define HAVE_CONFIG_H.
75380         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
75381         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
75382         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
75383         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
75384         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
75385         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
75386         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
75387         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
75388         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
75389         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
75390         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
75391         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
75392         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
75393         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
75394         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
75395         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
75396         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
75397         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
75398         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
75399         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
75400         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
75401         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
75402         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
75403         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
75404         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
75405         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
75406         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
75407         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
75408         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
75409         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
75410         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
75411         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
75412         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
75413         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
75414         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
75415         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
75416         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
75417         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
75418         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
75419         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
75420         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
75421         Likewise.
75422
75423 2006-09-13  Eric Blake  <ebb9@byu.net>
75424
75425         * lib/getopt.c: Fix typo in last commit.
75426
75427 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75428
75429         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75430         dgettext.
75431
75432 2006-09-12  Jim Meyering  <jim@meyering.net>
75433
75434         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75435         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75436         Reported by Nelson H. F. Beebe.
75437
75438 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75439
75440         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75441         program_invocation_name and program_invocation_short_name are
75442         initialized.
75443         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75444         and program_invocation_short_name to argp.h, so they are visible
75445         to user programs.
75446         * lib/argp.h: Likewise
75447
75448 2006-09-10  Bruno Haible  <bruno@clisp.org>
75449
75450         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75451         m4/inttypes_h.m4, m4/uintmax_t.m4.
75452
75453 2006-09-10  Bruno Haible  <bruno@clisp.org>
75454
75455         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75456         gl_AC_TYPE_UINTMAX_T.
75457
75458 2006-09-10  Bruno Haible  <bruno@clisp.org>
75459
75460         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75461
75462 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75463
75464         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75465         convention.  Text proposed by Bruno Haible.
75466         (struct argp_option): Document the use of N_() wrappers.
75467
75468         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75469         '\v', and translate the two parts separately, instead of feeding
75470         the whole string to gettext.  This allows to exclude
75471         '\v' from the strings visible to the translator by writing doc
75472         strings as N_("..") "\v" N_("..").
75473
75474 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75475
75476         * config/srclist.txt: Undo latest change; the bug was fixed.
75477
75478 2006-09-09  Bruno Haible  <bruno@clisp.org>
75479
75480         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75481         assignments if building a library without libtool.
75482         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75483         in func_emit_lib_Makefile_am.
75484         (func_import): When building a static library libfoo.a, arrange to
75485         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75486         (func_create_testdir): Likewise.
75487         * modules/gc (configure.ac, Makefile.am): If building statically,
75488         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75489         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75490         * modules/striconv (configure.ac, Makefile.am): Likewise.
75491         Based on a suggestion by Ralf Wildenhues.
75492
75493 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75494
75495         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75496         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75497         Also:
75498
75499         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75500         Add year_2050_test to catch glibc bug 2821
75501         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75502
75503         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75504         Prefer #ifdef to #if.
75505
75506         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75507         Return from 'main' instead of calling 'exit'.
75508
75509 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75510
75511         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75512         returned the maximum time_t value rather than (time_t) -1.
75513         Problem originally reported by William Bardwell
75514         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75515
75516         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75517         Moved to here ...
75518         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75519         ... from here.
75520
75521 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75522
75523         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75524         2821 is fixed.
75525
75526 2006-09-08  Jim Meyering  <jim@meyering.net>
75527
75528         Don't make generated files read-only.  That would bother too many
75529         people.  However, do retain the ability to work when targets are
75530         read-only: remove the destination and temporary files before writing
75531         them (when generated via sed or echo), or by using the -f option for
75532         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75533         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75534         * modules/byteswap, modules/configmake, modules/fcntl:
75535         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75536         * modules/localcharset, modules/netinet_in, modules/poll:
75537         * modules/stdbool, modules/stdint, modules/sys_select:
75538         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75539
75540 2006-09-08  Jim Meyering  <jim@meyering.net>
75541
75542         Avoid new build failure on FreeBSD 6.0.
75543         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75544         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75545         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75546
75547 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75548
75549         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75550
75551 2006-09-07  Jim Meyering  <jim@meyering.net>
75552
75553         Fix global typo in last change: use chmod u-w, not chmod u-x.
75554         Spotted by Paul Eggert and Bruce Korb.
75555         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75556         * modules/byteswap, modules/configmake, modules/fcntl:
75557         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75558         * modules/localcharset, modules/netinet_in, modules/poll:
75559         * modules/stdbool, modules/stdint, modules/sys_select:
75560         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75561
75562 2006-09-06  Jim Meyering  <jim@meyering.net>
75563
75564         Make generated files be read-only.
75565         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75566         Ensure that each generated file is now read-only.
75567         * modules/argz: Likewise.
75568         * modules/arpa_inet: Likewise.
75569         * modules/byteswap: Likewise.
75570         * modules/configmake: Likewise.
75571         * modules/fcntl: Likewise.
75572         * modules/fnmatch: Likewise.
75573         * modules/getopt: Likewise.
75574         * modules/glob: Likewise.
75575         * modules/inttypes: Likewise.
75576         * modules/netinet_in: Likewise.
75577         * modules/poll: Likewise.
75578         * modules/stdbool: Likewise.
75579         * modules/stdint: Likewise.
75580         * modules/sys_select: Likewise.
75581         * modules/sys_socket: Likewise.
75582         * modules/sys_stat: Likewise.
75583         * modules/sysexits: Likewise.
75584         * modules/localcharset: Same as above, but continue using temporary
75585         file named "t-$@" (why different?) rather than the "$@-t" used
75586         everywhere else.
75587
75588         * modules/sysexits (Makefile.am): Replace literal occurrences
75589         of "sysexit.h" more readable, and more consistent, "$@".
75590
75591 2006-09-06  Bruno Haible  <bruno@clisp.org>
75592
75593         * modules/striconv: New file.
75594         * modules/xstriconv: New file.
75595         * MODULES.html.sh (Internationalization functions): Add striconv,
75596         xstriconv.
75597
75598 2006-09-06  Bruno Haible  <bruno@clisp.org>
75599
75600         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
75601         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
75602         not using libtool correctly.
75603
75604 2006-09-06  Bruno Haible  <bruno@clisp.org>
75605
75606         * lib/striconv.h: New file.
75607         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
75608         iconvstring.c.
75609         * lib/xstriconv.h: New file.
75610         * lib/xstriconv.c: New file.
75611
75612 2006-09-06  Bruno Haible  <bruno@clisp.org>
75613
75614         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75615         lib_..._LDFLAGS.
75616
75617 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75618
75619         * lib/argz_.h: Sync from Libtool.
75620
75621         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
75622                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75623
75624         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
75625
75626 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75627
75628         * modules/trim: New file.
75629
75630 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75631
75632         * lib/trim.h: New file.
75633         * lib/trim.c: New file.
75634
75635 2006-09-05  Bruno Haible  <bruno@clisp.org>
75636
75637         * MODULES.html.sh (String handling): Add trim.
75638
75639 2006-09-04  Karl Berry  <karl@gnu.org>
75640
75641         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75642         until next release.
75643
75644 2006-09-03  Bruno Haible  <bruno@clisp.org>
75645
75646         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75647         correctly.
75648
75649 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75652         not gl_GETLOADAVG.  Omit unneeded semicolons.
75653         Problems reported by Ralf Wildenhues in
75654         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75655         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75656         at the end, which is the usual gnulib style.
75657
75658         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75659         of doing all the work ourselves.
75660         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75661         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75662
75663 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75664
75665         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
75666         Problem reported by Ralf Wildenhues in
75667         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75668
75669         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
75670         HAVE_STRUCT_STATFS_F_FSTYPENAME.
75671
75672 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75673
75674         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
75675         yesterday's patch by changing test -n to test -z.
75676
75677 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75678
75679         * modules/getloadavg (Files): Add m4/getloadavg.m4.
75680         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
75681         the former is now obsolescent.
75682
75683         * modules/chdir-long (Depends-on): Add fcntl.
75684
75685 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75686
75687         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
75688         obsolescent, and programs should use gnulib instead.
75689         * m4/getloadavg.m4: New file, with contents taken from Autoconf
75690         but with prefixes changed.
75691
75692 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75693
75694         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
75695         or stdbool.h, because they might not exist while configuring.
75696
75697         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
75698         Don't include unistd.h or limits.h; not needed, since chdir-long.h
75699         does that for us.
75700         (O_DIRECTORY): Remove.
75701
75702 2006-08-31  Eric Blake  <ebb9@byu.net>
75703
75704         * gnulib-tool: Don't let emacs change spaces to TAB.
75705
75706 2006-08-31  Bruno Haible  <bruno@clisp.org>
75707
75708         * gnulib-tool: When calling func_import more than once, do it in a
75709         subshell.
75710         Reported by Eric Blake <ebb9@byu.net>.
75711
75712 2006-08-31  Bruno Haible  <bruno@clisp.org>
75713
75714         * gnulib-tool (nl): Remove variable.
75715         (sed_transform_lib_file): Use more robust test for config-h module.
75716         (func_import): Fix typo in 2006-08-25 patch.
75717
75718 2006-08-31  Bruno Haible  <bruno@clisp.org>
75719
75720         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
75721         specified, augment Makefile.am variables instead of assigning them.
75722
75723 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75724
75725         Work around a bug in both the Linux and SunOS 64-bit kernels:
75726         nanosleep mishandles sleeps for longer than 2**31 seconds.
75727         Problem reported by Frank v Waveren in
75728         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75729         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
75730         Check for nanosleep bug.
75731         (LIB_NANOSLEEP): Append clock_gettime library if needed.
75732
75733 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75734
75735         Work around a bug in both the Linux and SunOS 64-bit kernels:
75736         nanosleep mishandles sleeps for longer than 2**31 seconds.
75737         Problem reported by Frank v Waveren in
75738         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75739         * lib/nanosleep.c (BILLION): New constant.
75740         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
75741         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
75742         implementation.
75743
75744 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75745
75746         * modules/nanosleep (Depends-on): Add gettime.
75747
75748 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75749         and Simon Josefsson  <jas@extundo.com>
75750         and Oskar Liljeblad  <oskar@osk.mine.nu>
75751
75752         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
75753         * gnulib-tool (func_import): New license type 'unmodifiable license
75754         text'.
75755         * modules/fdl: Use it.  Longer description.
75756         * module/gpl, module/lgpl: New files.
75757
75758 2006-08-30  Jim Meyering  <jim@meyering.net>
75759
75760         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
75761         shadowing the parameter.
75762
75763 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75764
75765         Sync from Libtool:
75766
75767         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75768
75769         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
75770         sharing with gnulib.  Report by Eric Blake.
75771
75772 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75773
75774         * modules/isapipe: New file.
75775         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
75776
75777 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75778
75779         * modules/configmake (Makefile.am): Add a comment, and omit
75780         the CONFIGMAKE_ prefix from generated macro names.  Suggested
75781         by Bruno Haible.
75782
75783 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75784
75785         * m4/isapipe.m4: New file.
75786
75787 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75788
75789         * lib/isapipe.c, lib/isapipe.h: New files.
75790
75791 2006-08-29  Jim Meyering  <jim@meyering.net>
75792
75793         * modules/configmake (Makefile.am): Make configmake.h depend on
75794         Makefile.  Otherwise, a stale configmake.h could hang around.
75795
75796 2006-08-29  Eric Blake  <ebb9@byu.net>
75797
75798         * lib/error.c (error_at_line, print_errno_message): Match libc, after
75799         resolution of upstream bug 3044.
75800
75801 2006-08-29  Bruno Haible  <bruno@clisp.org>
75802
75803         * modules/localcharset (Depends-on): Add configmake.
75804         (Makefile.am): Remove setting of LIBDIR through DEFS.
75805
75806 2006-08-29  Bruno Haible  <bruno@clisp.org>
75807
75808         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
75809         defined.
75810
75811 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75812
75813         * modules/fcntl: New file.
75814         * modules/chdir-safer (Depends-on): Add fcntl.
75815         * modules/fts: Likewise.
75816         * modules/mkdir-p: Likewise.
75817
75818         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
75819         This undoes the most recent change, since we're now addressing the
75820         problem in a different way.
75821
75822         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
75823         into output, since the output might be called Makefile.am even
75824         if $makefile_name is something different.
75825         (func_import): Use $makefile_am rather than
75826         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
75827         empty.
75828
75829         * modules/inttypes (Files): Add m4/inttypes-h.m4.
75830
75831 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75832
75833         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
75834         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
75835         recent change to stdint.m4, since we're now addressing the problem in a
75836         different way.
75837
75838 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75839
75840         * m4/fcntl_h.m4: New file.
75841
75842 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75843
75844         * lib/fcntl_.h: New file.
75845         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
75846         the fcntl module.
75847         * lib/dirchownmod.c: Likewise.
75848         * lib/fts.c: Likewise.
75849
75850         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
75851         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
75852         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
75853         just before including <inttypes.h>, to avoid circular inclusion.
75854
75855 2006-08-28  Jim Meyering  <jim@meyering.net>
75856
75857         * doc/visibility.texi: Actually read and correct the grammar of the
75858         sentence affected by yesterday's change.
75859
75860 2006-08-28  Eric Blake  <ebb9@byu.net>
75861
75862         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
75863         needs wrapper.
75864
75865 2006-08-28  Eric Blake  <ebb9@byu.net>
75866
75867         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
75868
75869 2006-08-28  Eric Blake  <ebb9@byu.net>
75870
75871         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
75872
75873 2006-08-28  Bruno Haible  <bruno@clisp.org>
75874
75875         * modules/c-strstr: New file, from GNU gettext.
75876         * MODULES.html.sh (String handling): Add c-strstr.
75877
75878 2006-08-28  Bruno Haible  <bruno@clisp.org>
75879
75880         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
75881         macros.
75882         Reported by Eric Blake.
75883
75884 2006-08-28  Bruno Haible  <bruno@clisp.org>
75885
75886         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
75887         (VASNPRINTF): Return a string of length > INT_MAX without failing.
75888         * lib/vasprintf.c: Include errno.h, limits.h.
75889         (EOVERFLOW): New fallback definition.
75890         (vasprintf): Test here whether the string length is > INT_MAX.
75891         * lib/vsnprintf.c: Include errno.h, limits.h.
75892         (EOVERFLOW): New fallback definition.
75893         (vsnprintf): Fix bug when generated string was too long for the buffer.
75894         Test here whether the string length is > INT_MAX.
75895
75896 2006-08-28  Bruno Haible  <bruno@clisp.org>
75897
75898         * lib/inttypes_.h (SCNX*): Remove definitions.
75899         Reported by Eric Blake.
75900
75901 2006-08-28  Bruno Haible  <bruno@clisp.org>
75902
75903         * lib/c-strstr.h: New file, from GNU gettext.
75904         * lib/c-strstr.c: New file, from GNU gettext.
75905
75906 2006-08-28  Bruno Haible  <bruno@clisp.org>
75907
75908         * gnulib-tool: Reorder some statements.
75909
75910 2006-08-28  Bruno Haible  <bruno@clisp.org>
75911
75912         * gnulib-tool: New option --makefile-name.
75913         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
75914         $makefile_name.
75915         (func_import): Write $makefile_name to the cache file, and read it from
75916         there unless explicitly specified. Use $makefile_name as file name
75917         instead of Makefile.am. Adjust the recommendations accordingly.
75918
75919 2006-08-28  Bruno Haible  <bruno@clisp.org>
75920
75921         * gnulib-tool (func_verify_module): Check against misapplying patch.
75922
75923 2006-08-28  Bruno Haible  <bruno@clisp.org>
75924
75925         * gnulib-tool (func_relativize, func_relconcat): New functions.
75926         Give an error if --local-dir is given with --update.
75927         Remove trailing slashes from $local_gnulib_dir.
75928         (func_import): Store the relativized $local_gnulib_dir in
75929         gnulib-cache.m4, and read it from there if not specified explicitly.
75930
75931 2006-08-28  Bruno Haible  <bruno@clisp.org>
75932
75933         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
75934         is the current directory. Respect also $local_gnulib_dir.
75935
75936 2006-08-28  Bruno Haible  <bruno@clisp.org>
75937             Simon Josefsson  <jas@extundo.com>
75938
75939         BeOS portability.
75940         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
75941
75942 2006-08-27  Jim Meyering  <jim@meyering.net>
75943
75944         * doc/visibility.texi: Remove duplicate word: "pointer".
75945
75946 2006-08-26  Bruno Haible  <bruno@clisp.org>
75947
75948         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
75949         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
75950         (Makefile.am): Create inttypes.h from inttypes_.h.
75951         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
75952
75953         * modules/imaxabs: New file.
75954
75955         * modules/imaxdiv: New file.
75956
75957 2006-08-26  Bruno Haible  <bruno@clisp.org>
75958
75959         * m4/inttypes.m4: New file.
75960         * m4/_inttypes_h.m4: Remove file.
75961         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
75962         PRI_MACROS_BROKEN.
75963         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
75964
75965         * m4/imaxabs.m4: New file.
75966
75967         * m4/imaxdiv.m4: New file.
75968
75969 2006-08-26  Bruno Haible  <bruno@clisp.org>
75970
75971         * lib/inttypes_.h: New file.
75972         * lib/inttypes.h: Remove file.
75973         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
75974
75975         * lib/imaxabs.c: New file.
75976
75977         * lib/imaxdiv.c: New file.
75978
75979 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75980
75981         New config-h module, so that "make" output needn't be cluttered
75982         by -DHAVE_CONFIG_H.
75983         * MODULES.html.sh (Support for building libraries and executables):
75984         Add config-h.
75985         * modules/config-h: New file.
75986         * gnulib-tool (nl, sed_transform_lib_file): New vars.
75987         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
75988         the config-h module is used.
75989
75990         New configmake module, so that "make" output needn't be cluttered
75991         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
75992         * MODULES.html.sh (Support for building libraries and executables):
75993         Add configmake.
75994         * modules/configmake: New file.
75995
75996 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75997
75998         * m4/config-h.m4: New file.
75999
76000 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76001
76002         * config/srclist.txt: Add elisp-comp.
76003
76004 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76005
76006         * MODULES.html.sh (Support for building libraries and executables):
76007         Add elisp-comp.
76008         * build-aux/elisp-comp: New file.
76009         * modules/elisp-comp: New file.
76010
76011 2006-08-24  Bruno Haible  <bruno@clisp.org>
76012
76013         * gnulib-tool (func_create_testdir): Use non-default values of
76014         sourcebase and m4base.
76015
76016 2006-08-24  Bruno Haible  <bruno@clisp.org>
76017
76018         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76019         HTML structure.
76020
76021 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76022
76023         * modules/openat (Depends-on): Add lchown.
76024
76025 2006-08-23  Bruno Haible  <bruno@clisp.org>
76026
76027         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76028         of gl_LOCK_EARLY instead of gl_LOCK.
76029
76030 2006-08-23  Bruno Haible  <bruno@clisp.org>
76031
76032         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76033         on OSF/1 to no.
76034         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76035
76036 2006-08-23  Bruno Haible  <bruno@clisp.org>
76037
76038         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76039         as unusable.
76040
76041         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76042         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76043         (gl_LOCK): New macro.
76044
76045 2006-08-22  Simon Josefsson  <jas@extundo.com>
76046
76047         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76048         to md5 module.
76049
76050 2006-08-22  Simon Josefsson  <jas@extundo.com>
76051
76052         * MODULES.html.sh: Add "Support for maintaining and release
76053         projects".
76054
76055         * build-aux/gnupload: New file, from coreutils.
76056
76057 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76058
76059         Avoid the need for AC_LIBSOURCES in m4 macros.
76060         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76061         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76062         * modules/check-version (EXTRA_DIST): Add check-version.h.
76063         * modules/crc (EXTRA_DIST): Add crc.h.
76064         * modules/des (EXTRA_DIST): Add des.h.
76065         * modules/gc (EXTRA_DIST): Add gc.h.
76066         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
76067         * modules/getline (EXTRA_DIST): Add getline.h.
76068         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
76069         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
76070         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
76071         * modules/md2 (EXTRA_DIST): Add md2.h.
76072         * modules/md4 (EXTRA_DIST): Add md4.h.
76073         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
76074         * modules/read-file (EXTRA_DIST): Add read-file.h.
76075         * modules/readline (EXTRA_DIST): Add readline.h.
76076         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
76077         rijndael-api-fst.h.
76078
76079 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76080
76081         * m4/rijndael.m4 (gl_ARCFOUR):
76082         * m4/arctwo.m4 (gl_ARCTWO):
76083         * m4/check-version.m4 (gl_CHECK_VERSION):
76084         * m4/crc.m4 (gl_CRC):
76085         * m4/des.m4 (gl_DES):
76086         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
76087         * m4/gc.m4 (gl_GC):
76088         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
76089         * m4/getline.m4 (gl_FUNC_GETLINE):
76090         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
76091         * m4/hmac-md5.m4 (gl_HMAC_MD5):
76092         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
76093         * m4/md2.m4 (gl_MD2):
76094         * m4/md4.m4 (gl_MD4):
76095         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
76096         * m4/read-file.m4 (gl_FUNC_READ_FILE):
76097         * m4/readline.m4 (gl_FUNC_READLINE):
76098         * m4/rijndael.m4 (gl_RIJNDAEL):
76099         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76100         to get the necessary .h files and whatnot.
76101
76102 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76103
76104         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
76105         gnulib rather than the other way around.
76106         * config/srclistvars.sh (COREUTILS): Remove.
76107
76108 2006-08-22  Jim Meyering  <jim@meyering.net>
76109
76110         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
76111
76112         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
76113
76114 2006-08-22  Eric Blake  <ebb9@byu.net>
76115
76116         * modules/regexprops-generic: New file.
76117         * MODULES.html.sh (Support for building documentation): List it.
76118
76119 2006-08-22  Eric Blake  <ebb9@byu.net>
76120
76121         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
76122         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
76123         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
76124         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
76125
76126 2006-08-22  Bruno Haible  <bruno@clisp.org>
76127
76128         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
76129         and lib_LTLIBRARIES like the other lib_* variables.
76130
76131 2006-08-22  Bruno Haible  <bruno@clisp.org>
76132
76133         * build-aux/x-to-1.in: New file, from GNU gettext.
76134
76135 2006-08-22  Bruno Haible  <bruno@clisp.org>
76136
76137         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
76138         <utmpx.h> exists.
76139
76140 2006-08-22  Bruno Haible  <bruno@clisp.org>
76141
76142         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
76143         <utmpx.h> exists.
76144
76145 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76146
76147         BeOS portability.
76148         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
76149         exist.
76150         Problem reported by Bruno Haible.
76151
76152 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76153
76154         Avoid the need for AC_LIBSOURCES in m4 macros.
76155         * modules/acl (EXTRA_DIST): Add acl.h.
76156         * modules/argmatch (Files): Add m4/argmatch.m4.
76157         (configure.ac): Add gl_ARGMATCH.
76158         (EXTRA_DIST): Renamed from lib_SOURCES, for
76159         consistency with the other modules.  Remove argmatch.c.
76160         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
76161         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
76162         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
76163         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
76164         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
76165         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
76166         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
76167         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
76168         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
76169         * modules/closeout (EXTRA_DIST): Add closeout.h.
76170         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
76171         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
76172         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
76173         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
76174         dirname.h; remove basename.c and stripslash.c.
76175         * modules/exclude (EXTRA_DIST): Add exclude.h.
76176         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
76177         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
76178         * modules/file-type (EXTRA_DIST): Add file-type.h.
76179         * modules/filemode (EXTRA_DIST): Add filemode.h.
76180         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
76181         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76182         * modules/fpending (EXTRA_DIST): Add __fpending.h.
76183         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
76184         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
76185         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
76186         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
76187         * modules/getdate (EXTRA_DIST): Add getdate.c.
76188         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
76189         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
76190         * modules/getpass (EXTRA_DIST): Add getpass.h.
76191         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
76192         * modules/group-member (EXTRA_DIST): Add group-member.h.
76193         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
76194         * modules/hash (EXTRA_DIST): Add hash.h.
76195         * modules/human (EXTRA_DIST): Add human.h.
76196         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
76197         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
76198         * modules/lchown (EXTRA_DIST): Add lchown.h.
76199         * modules/long-options (EXTRA_DIST): Add long-options.h.
76200         * modules/lstat (EXTRA_DIST): Add lstat.h.
76201         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
76202         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
76203         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
76204         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
76205         * modules/memxor (EXTRA_DIST): Add memxor.h.
76206         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
76207         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
76208         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
76209         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
76210         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
76211         * modules/physmem (EXTRA_DIST): Add physmem.h.
76212         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
76213         * modules/posixver (EXTRA_DIST): Add posixver.h.
76214         * modules/quote (EXTRA_DIST): Add quote.h.
76215         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
76216         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
76217         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
76218         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
76219         regex_internal.h regexec.c.
76220         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
76221         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
76222         * modules/same (EXTRA_DIST): Add same.h.
76223         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
76224         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
76225         * modules/savedir (EXTRA_DIST): Add savedir.h.
76226         * modules/sha1 (EXTRA_DIST): Add sha1.h.
76227         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
76228         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
76229         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
76230         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
76231         * modules/strdup (EXTRA_DIST): Add strdup.h.
76232         * modules/strftime (EXTRA_DIST): Add strftime.h.
76233         * modules/strndup (EXTRA_DIST): Add strndup.h.
76234         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
76235         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
76236         * modules/time_r (EXTRA_DIST): Add time_r.h.
76237         * modules/timespec (EXTRA_DIST): Add timespec.h.
76238         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76239         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
76240         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
76241         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
76242         * modules/userspec (EXTRA_DIST): Add userspec.h.
76243         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
76244         * modules/utimens (EXTRA_DIST): Add utimens.h.
76245         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
76246         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
76247         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
76248         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
76249         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
76250         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
76251         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
76252         * modules/yesno (EXTRA_DIST): Add yesno.h.
76253
76254 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76255
76256         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
76257
76258         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
76259         * m4/dev-ino.m4, same-inode.m4: Remove.
76260
76261         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
76262         * m4/acl.m4 (AC_FUNC_ACL):
76263         * m4/backupfile.m4 (gl_BACKUPFILE):
76264         * m4/c-strtod.m4 (gl_C99_STRTOLD):
76265         * m4/canon-host.m4 (gl_CANON_HOST):
76266         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76267         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
76268         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
76269         * m4/cloexec.m4 (gl_CLOEXEC):
76270         * m4/close-stream.m4 (gl_CLOSE_STREAM):
76271         * m4/closeout.m4 (gl_CLOSEOUT):
76272         * m4/dirfd.m4 (gl_FUNC_DIRFD):
76273         * m4/dirname.m4 (gl_DIRNAME):
76274         * m4/exclude.m4 (gl_EXCLUDE):
76275         * m4/exitfail.m4 (gl_EXITFAIL):
76276         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
76277         * m4/file-type.m4 (gl_FILE_TYPE):
76278         * m4/filemode.m4 (gl_FILEMODE):
76279         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
76280         * m4/fpending.m4 (gl_FUNC_FPENDING):
76281         * m4/fprintftime.m4 (gl_FPRINTFTIME):
76282         * m4/fts.m4 (gl_FUNC_FTS):
76283         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
76284         * m4/getdate.m4 (gl_GETDATE):
76285         * m4/gethrxtime.m4 (gl_GETHRXTIME):
76286         * m4/getpagesize.m4 (gl_GETPAGESIZE):
76287         * m4/getpass.m4 (gl_FUNC_GETPASS):
76288         * m4/gettime.m4 (gl_GETTIME):
76289         * m4/getugroups.m4 (gl_GETUGROUPS):
76290         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
76291         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
76292         * m4/hard-locale.m4 (gl_HARD_LOCALE):
76293         * m4/hash.m4 (gl_HASH):
76294         * m4/idcache.m4 (gl_IDCACHE):
76295         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
76296         * m4/lchown.m4 (gl_FUNC_LCHOWN):
76297         * m4/long-options.m4 (gl_LONG_OPTIONS):
76298         * m4/lstat.m4 (gl_FUNC_LSTAT):
76299         * m4/md5.m4 (gl_MD5):
76300         * m4/memcasecmp.m4 (gl_MEMCASECMP):
76301         * m4/memcoll.m4 (gl_MEMCOLL):
76302         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
76303         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
76304         * m4/memxor.m4 (gl_MEMXOR):
76305         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
76306         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
76307         * m4/modechange.m4 (gl_MODECHANGE):
76308         * m4/mountlist.m4 (gl_MOUNTLIST):
76309         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
76310         * m4/openat.m4 (gl_FUNC_OPENAT):
76311         * m4/pathmax.m4 (gl_PATHMAX):
76312         * m4/physmem.m4 (gl_PHYSMEM):
76313         * m4/posixtm.m4 (gl_POSIXTM):
76314         * m4/posixver.m4 (gl_POSIXVER):
76315         * m4/quote.m4 (gl_QUOTE):
76316         * m4/quotearg.m4 (gl_QUOTEARG):
76317         * m4/readtokens.m4 (gl_READTOKENS):
76318         * m4/readutmp.m4 (gl_READUTMP):
76319         * m4/regex.m4 (gl_REGEX):
76320         * m4/safe-read.m4 (gl_SAFE_READ):
76321         * m4/safe-write.m4 (gl_SAFE_WRITE):
76322         * m4/same.m4 (gl_SAME):
76323         * m4/save-cwd.m4 (gl_SAVE_CWD):
76324         * m4/savedir.m4 (gl_SAVEDIR):
76325         * m4/settime.m4 (gl_SETTIME):
76326         * m4/sha1.m4 (gl_SHA1):
76327         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
76328         * m4/stat-macros.m4 (gl_STAT_MACROS):
76329         * m4/stat-time.m4 (gl_STAT_TIME):
76330         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
76331         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
76332         * m4/strdup.m4 (gl_FUNC_STRDUP):
76333         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
76334         * m4/strndup.m4 (gl_FUNC_STRNDUP):
76335         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
76336         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
76337         * m4/time_r.m4 (gl_TIME_R):
76338         * m4/timespec.m4 (gl_TIMESPEC):
76339         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
76340         * m4/unlinkdir.m4 (gl_UNLINKDIR):
76341         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
76342         * m4/userspec.m4 (gl_USERSPEC):
76343         * m4/utimecmp.m4 (gl_UTIMECMP):
76344         * m4/utimens.m4 (gl_UTIMENS):
76345         * m4/xalloc.m4 (gl_XALLOC):
76346         * m4/xgetcwd.m4 (gl_XGETCWD):
76347         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
76348         * m4/xreadlink.m4 (gl_XREADLINK):
76349         * m4/xstrtod.m4 (gl_XSTRTOD):
76350         * m4/yesno.m4 (gl_YESNO):
76351         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76352         to get the necessary .h files and whatnot.
76353
76354 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
76355             Bruno Haible  <bruno@clisp.org>
76356
76357         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
76358         /bin/sh understanding of '!' conditional negation.
76359
76360 2006-08-21  Jim Meyering  <jim@meyering.net>
76361
76362         * modules/openat (Depends-on): Really alphabetize.
76363
76364         * modules/acl (Depends-on): Add error and quote.
76365
76366         * check-module (find_included_lib_files): Add at-func.c to the
76367         ok-to-include-more-than-once white list.
76368
76369         * modules/openat (Depends-on): Add lstat.  Alphabetize.
76370
76371 2006-08-21  Bruno Haible  <bruno@clisp.org>
76372
76373         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76374         Emit a pkgdata_DATA variable only if some snippets add contents to it.
76375         Reported by Martin Lambers <marlam@marlam.de>.
76376
76377 2006-08-21  Bruno Haible  <bruno@clisp.org>
76378
76379         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
76380         specify an installation location, don't emit a noinst_LIBRARIES or
76381         noinst_LTLIBRARIES assignment.
76382
76383 2006-08-21  Bruno Haible  <bruno@clisp.org>
76384
76385         BeOS portability.
76386         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
76387         BeOS has mbrtowc() but no <wctype.h>.
76388
76389 2006-08-21  Bruno Haible  <bruno@clisp.org>
76390
76391         BeOS portability.
76392         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
76393         exist.
76394
76395 2006-08-21  Bruno Haible  <bruno@clisp.org>
76396
76397         BeOS portability.
76398         * lib/mbchar.h: Include <wctype.h> only if it exists.
76399
76400 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76401
76402         Remove files that are no longer needed by their respective modules.
76403         * m4/obstack.m4: Remove.
76404         * m4/strerror_r.m4: Remove.
76405         * m4/uint32_t.m4: Remove.
76406         * m4/uintptr_t.m4: Remove.
76407         * m4/ullong_max.m4: Remove.
76408         * m4/xstrtoimax.m4: Remove.
76409         * m4/xstrtoumax.m4: Remove.
76410
76411         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
76412         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
76413         dependencies now capture this.
76414
76415         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
76416         Do not use AC_LIBSOURCES, since gnulib modules now do this.
76417         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
76418         * m4/human.m4 (gl_HUMAN): Likewise.
76419         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
76420         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
76421
76422         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
76423
76424         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
76425         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
76426         stdint.
76427         * m4/human.m4 (gl_HUMAN): Likewise.
76428         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
76429         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76430         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76431         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76432         * m4/xstrtol (gl_XSTRTOL): Likewise.
76433
76434         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76435         AC_TYPE_LONG_LONG_INT.
76436         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76437         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76438         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76439         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76440
76441         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76442         on stdbool.
76443
76444         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76445         (gl_PREREQ_XSTRTOUL): Remove.
76446
76447         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76448
76449         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76450         mode.
76451
76452 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76453
76454         Add and change modules to make it easier for coreutils to use
76455         gnulib-tool.
76456         * modules/backupfile (Files): Remove m4/d-ino.m4.
76457         (Depends-on): Add d-ino.
76458         * modules/cycle-check (Depends-on): Add stdint.
76459         (lib_SOURCES): Add cycle-check.h.
76460         * modules/d-ino: New module.
76461         * modules/d-type: New module.
76462         * modules/error (Files): Remove m4/strerror_r.m4.
76463         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76464         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76465         m4/inttypes_h.m4, m4/uintmax_t.m4.
76466         (Depends-on): Add stdint.
76467         (lib_SOURCES): Add fsusage.h.
76468         * modules/getcwd (Files): Remove d-ino.m4.
76469         (Depends-on): Add d-ino.
76470         * modules/getndelim2 (Depends-on): Add stdint.
76471         * modules/glob (Files): Remove m4/d-type.m4.
76472         (Depends-on): Add d-type.
76473         * modules/host-os: New module.
76474         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76475         m4/inttypes_h.m4, m4/uintmax_t.m4.
76476         * Depends-on: Add stdint.
76477         (lib_SOURCES): Add human.h.
76478         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76479         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76480         m4/uintmax_t.m4, m4/ulonglong.m4.
76481         (Depends-on): Add stdint.
76482         (EXTRA_DIST): Add inttostr.h.
76483         * modules/lchmod: New module.
76484         * modules/link-follow: New module.
76485         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76486         (Depends-on): Add lchmod.
76487         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76488         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76489         (Depends-on): Add stdint.
76490         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76491         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76492         (Depends-on): Add stdint.
76493         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76494         * modules/perl: New module.
76495         * modules/regex (Depends-on): Add stdint.
76496         * modules/rmdir-errno: New module.
76497         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76498         m4/intmax_t.m4.
76499         (Depends-on): Add stdint.
76500         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76501         m4/uintmax_t.m4.
76502         (Depends-on): Add stdint.
76503         * modules/unlink-busy: New module.
76504         * modules/utimecmp (Depends-on): Add stdint.
76505         * modules/uptime: New module.
76506         * modules/winsz-ioctl: New module.
76507         * modules/winsz-termios: New module.
76508         * modules/xnanosleep (Depends-on): Add nanosleep.
76509         * modules/ullong_max: Remove.
76510         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76511         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76512         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76513         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76514         (Depends-on): Add inttypes.
76515         (lib_SOURCES): Add xstrtol.h.
76516         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76517         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76518         * MODULES.html.sh: Move 'assert' into the assert section.
76519         Move 'dummy' into the linking section.
76520         Remove ullong_max.
76521         Add section for compatibility checks for POSIX:2001 functions,
76522         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76523         winsz-ioctl, and winsz-termios into it.
76524         Add lchmod.
76525         Add top-level Misc section and put host-os, perl, and uptime
76526         into it.
76527
76528 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76529
76530         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76531         now assume the stdint module.  Do not include inttypes.h.
76532         * lib/fsusage.h: Likewise.
76533         * lib/getndelim2.c: Likewise.
76534         * lib/human.h: Likewise.
76535         * lib/inttostr.h: Likewise.
76536         * lib/obstack.c: Likewise.
76537         * lib/regex_internal.h: Likewise.
76538         * lib/tempname.c: Likewise.
76539         * lib/utimecmp.c: Likewise.
76540         * lib/xstrtol.h: Likewise.
76541
76542         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76543
76544         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76545         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76546         * lib/xtime.h: Likewise.
76547
76548 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76549
76550         * modules/openat (Files): Add lib/fchmodat.c.
76551         Fixes problem reported by Jay Youngman.
76552
76553 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76554
76555         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76556         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76557
76558 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76559             Bruno Haible  <bruno@clisp.org>
76560
76561         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76562         and is a script that invokes bison. Tighten the code. Add comments.
76563
76564 2006-08-18  Jim Meyering  <jim@meyering.net>
76565
76566         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76567         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76568         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76569         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76570
76571 2006-08-18  Bruno Haible  <bruno@clisp.org>
76572
76573         * modules/bison-i18n: New file.
76574         * MODULES.html.sh (Internationalization functions): Add it.
76575
76576 2006-08-18  Bruno Haible  <bruno@clisp.org>
76577
76578         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76579         sys/statvfs.h. When getmntinfo was found, check its declaration and
76580         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76581
76582 2006-08-18  Bruno Haible  <bruno@clisp.org>
76583
76584         * m4/bison-i18n.m4: New file, from bison.
76585
76586 2006-08-18  Bruno Haible  <bruno@clisp.org>
76587
76588         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76589         (ME_DUMMY): Treat "kernfs" as a dummy.
76590         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76591
76592 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76593
76594         Update from coreutils.
76595
76596         2006-08-15  Jim Meyering  <jim@meyering.net>
76597
76598         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76599
76600         2006-01-17  Jim Meyering  <jim@meyering.net>
76601
76602         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
76603
76604         2006-01-11  Jim Meyering  <jim@meyering.net>
76605
76606         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
76607         Check for the lchmod function.
76608
76609 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76610
76611         Update from coreutils.
76612
76613         * lib/__fpending.h: Add copyright notice.
76614         * lib/fprintftime.h: Likewise.
76615         * lib/savedir.c: Use (C) in copyright notice.
76616         * lib/savedir.h: Likewise.
76617
76618         2006-08-15  Jim Meyering  <jim@meyering.net>
76619
76620         * lib/at-func.c: New file, with the logic of all emulated at-functions.
76621         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
76622         in support of the EXPECTED_ERRNO macro.
76623         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
76624         definitions.  Instead, define the appropriate symbols and include
76625         "at-func.c".
76626         * lib/mkdirat.c (mkdirat): Likewise.
76627         * lib/fchmodat.c (fchmodat): Likewise.
76628         (ENOSYS): Remove definition.
76629         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
76630         it.  Don't include "unistd--.h" -- it wasn't ever used.
76631
76632         2006-01-17  Jim Meyering  <jim@meyering.net>
76633
76634         Rewrite fts.c not to change the current working directory,
76635         by using openat, fstatat, fdopendir, etc..
76636
76637         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
76638         (HAVE_OPENAT_SUPPORT): Define.
76639         [_LIBC] (fchdir): Don't undef or define; no longer used.
76640         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
76641         Now, this `function' always succeeds, and consumes its file descriptor
76642         parameter -- so callers must not close such FDs.  Update callers.
76643         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76644         (diropen): Add parameter, SP.  Adjust all callers.
76645         Implement using diropen_fd, rather than open.
76646         (fts_open): Initialize new member, fts_cwd_fd.
76647         Remove fts_rft-setting code.
76648         (fts_close): Close fts_cwd_fd, if necessary.
76649         (__opendir2): Define in terms of opendir or opendirat,
76650         depending on whether the FST_NOCHDIR flag is set.
76651         (fts_build): Since fts_safe_changedir consumes its FD, and since
76652         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76653         and close the dup'd file descriptor upon failure.
76654         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76655         (fts_safe_changedir): Tweak semantics to reflect that this function
76656         now calls cwd_advance_fd and hence consumes its FD argument.
76657         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76658         [struct FTS] (fts_rft): Remove now-unused member.
76659         [struct FTS] (fts_cycle.state): Improve comment.
76660
76661         * lib/openat.c (openat_needs_fchdir): New function.
76662         * lib/openat.h (openat_needs_fchdir): Declare it.
76663
76664 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76665
76666         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
76667         Problem and fix reported by Pádraig Brady in
76668         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
76669
76670 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76671
76672         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
76673
76674 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76675
76676         * lib/memcoll.c (memcoll): Optimize for the common case where the
76677         arguments are bytewise equal.
76678
76679 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76680
76681         * doc/regexprops-generic.texi: Add a copyright notice.
76682
76683 2006-08-15  Bruno Haible  <bruno@clisp.org>
76684
76685         * modules/tmpdir (License): Change to LGPL.
76686
76687 2006-08-15  Bruno Haible  <bruno@clisp.org>
76688
76689         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
76690         module.
76691
76692 2006-08-14  Simon Josefsson  <jas@extundo.com>
76693
76694         * config/srclist.txt: Add gnupload.
76695
76696 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         Change copyright notice from LGPL 2 to GPL 2, since that's the
76699         standard form used in the gnulib repository.
76700         * tests/test-lock.c: Likewise.
76701         * tests/test-stdint.c: Likewise.
76702         * tests/test-tls.c: Likewise.
76703
76704         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
76705         prelude-manager.  User shorter URLs for GNU projects, without '?'.
76706         Add copyright notice.
76707
76708         * check-module: Add copyright notice.  Output a copyright
76709         notice if "--version" is specified.
76710         * modules/COPYING: New file.
76711         * tests/test-getaddrinfo.c: Add copyright notice.
76712         * tests/test-verify.c: Likewise.
76713
76714 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76715
76716         Change copyright notice from LGPL 2 to GPL 2, since that's the
76717         standard form used in the gnulib repository.
76718         * lib/lock.c: LGPL -> GPL.
76719         * lib/lock.h: Likewise.
76720         * lib/strnlen1.c: Likewise.
76721         * lib/strnlen1.h: Likewise.
76722         * lib/tls.c: Likewise.
76723         * lib/tls.h: Likewise.
76724         * lib/tmpdir.c: Likewise.
76725
76726         * lib/TODO: Remove; this belongs only in coreutils.
76727
76728 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76729
76730         Add copyright notices to long-enough files that lack them, since
76731         otherwise the files aren't clearly free.  Use the same notice that
76732         getdate.texi already uses.
76733         * doc/alloca-opt.texi: Add copyright notice.
76734         * doc/alloca.texi: Likewise.
76735         * doc/ctime.texi: Likewise.
76736         * doc/functions.texi: Likewise.
76737         * doc/gcd.texi: Likewise.
76738         * doc/gnulib-tool.texi: Likewise.
76739         * doc/inet_ntoa.texi: Likewise.
76740         * doc/visibility.texi: Likewise.
76741
76742         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
76743         * doc/quote.texi: Add copyright notice.
76744
76745         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
76746         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
76747         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
76748         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
76749         is now obsolete, and give a pointer to the Sun list.
76750         Add copyright notice.
76751
76752 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76753
76754         * config/srclistvars.sh: Add copyright notice.
76755
76756 2006-08-14  Eric Blake  <ebb9@byu.net>
76757
76758         Import the following change from libc:
76759
76760         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
76761
76762         Upstream bug 2997.
76763         * lib/misc/error.c: Add space between program name and message if file
76764         name is missing.
76765
76766 2006-08-12  Karl Berry  <karl@gnu.org>
76767
76768         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
76769         remove, these originate in gnulib now.
76770
76771 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76772
76773         * doc/Makefile (standards.info standards.html standards.dvi):
76774         Also depend on make-stds.texi.
76775
76776 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76777
76778         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
76779         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
76780
76781         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
76782         in wchar_t.  Problem reported by Eric Blake.
76783
76784         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
76785         LEN is smaller than SIZE.  Suggested by Bruno Haible.
76786         Also, help the compiler to keep LEN in a register.
76787
76788 2006-08-11  Eric Blake  <ebb9@byu.net>
76789
76790         * users.txt: Sort.  Add tar.
76791
76792 2006-08-11  Bruno Haible  <bruno@clisp.org>
76793
76794         * users.txt: New file.
76795
76796 2006-08-11  Bruno Haible  <bruno@clisp.org>
76797
76798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
76799         before <wchar.h>. Needed for OSF/1 and BSD/OS.
76800
76801 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76802
76803         * modules/snprintf (Depends-on): Remove minmax.
76804         (Maintainer): Add self and Bruno.
76805
76806 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * lib/.cppi-disable: Add snprintf.h, socket_.h.
76809         * lib/snprintf.c: Include <errno.h> and <limits.h>.
76810         (EOVERFLOW): Define if the system does not.
76811         Do not include "minmax.h"; it wasn't used.
76812         (snprintf): Don't assume size_t promotes to an unsigned type.
76813         Fix bug when generated string was too long for the buffer: the
76814         buffer's contents are supposed to be the initial prefix of the
76815         output.  Don't assume vasnprintf returns EOVERFLOW if the size
76816         exceeds INT_MAX; do the check ourselves.
76817
76818         Import the following changes from libc:
76819
76820         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
76821
76822         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
76823         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
76824         set wc to the byte which couldn't be converted.
76825         (re_string_reconstruct): Don't clear valid_raw_len before calling
76826         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
76827         tip_context using re_string_context_at.
76828
76829         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
76830
76831         * lib/posix/regex.h: g++ still cannot handled [restrict].
76832
76833         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
76834
76835         * lib/posix/regex.h: Remove special handling for VMS.
76836
76837 2006-08-10  Jim Meyering  <jim@meyering.net>
76838
76839         * modules/same-inode: New module.
76840         * modules/dev-ino: New module.
76841         * modules/cycle-check: Depend on these modules, rather than simply
76842         including their .h files.
76843         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
76844         required via m4/cycle-check.m4.
76845         * modules/same: Depend on new same-inode module, rather than
76846         including same-inode.h.
76847         * modules/chdir-safer: New file.
76848
76849         * modules/chown (Depends-on): Add stat-macros.
76850
76851 2006-08-10  Jim Meyering  <jim@meyering.net>
76852
76853         * m4/cycle-check.m4: New file.
76854         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
76855         * m4/dev-ino.m4, m4/same-inode.m4: New files.
76856
76857 2006-08-10  Eric Blake  <ebb9@byu.net>
76858
76859         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
76860         in from original proposal.
76861
76862 2006-08-10  Eric Blake  <ebb9@byu.net>
76863         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76864
76865         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
76866         namespace.
76867
76868 2006-08-10  Bruno Haible  <bruno@clisp.org>
76869
76870         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
76871         as well.
76872
76873 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76874
76875         Sync from coreutils.
76876
76877         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
76878
76879         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
76880         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
76881
76882 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76883
76884         * modules/restrict: Remove; no longer needed now that we assume
76885         Autoconf 2.59 or later.
76886         * MODULES.html.sh: Remove 'restrict'.
76887         * modules/argp (Depends-on): Remove 'restrict'.
76888         * modules/base64 (Depends-on): Likewise.
76889         * modules/gc (Depends-on): Likewise.
76890         * modules/getaddrinfo (Depends-on): Likewise.
76891         * modules/glob (Depends-on): Likewise.
76892         * modules/inet_ntop (Depends-on): Likewise.
76893         * modules/inet_pton (Depends-on): Likewise.
76894         * modules/memxor (Depends-on): Likewise.
76895         * modules/regex (Depends-on): Likewise.
76896         * modules/strtok_r (Depends-on): Likewise.
76897         * modules/time_r (Depends-on): Likewise.
76898
76899 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76900
76901         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
76902         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
76903         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76904         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
76905         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
76906         * m4/memxor.m4 (gl_MEMXOR): Likewise.
76907         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
76908         gl_C_RESTRICT replaced by AC_C_RESTRICT.
76909
76910         Merge from coreutils.
76911         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
76912         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
76913         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
76914         * m4/time_r.m4 (gl_TIME_R): Likewise.
76915
76916 2006-08-09  Karl Berry  <karl@gnu.org>
76917
76918         * config/srclist.txt: no more gettext-tools, per Bruno.
76919
76920 2006-08-08  Eric Blake  <ebb9@byu.net>
76921
76922         * modules/verror: New module.
76923         * MODULES.html.sh: Document it.
76924
76925 2006-08-08  Eric Blake  <ebb9@byu.net>
76926
76927         * lib/verror.h, lib/verror.c: New files.
76928
76929 2006-08-08  Eric Blake  <ebb9@byu.net>
76930
76931         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
76932         verror_at_line output complies with GNU Coding Standards even when
76933         file is NULL.
76934
76935 2006-08-07  Bruno Haible  <bruno@clisp.org>
76936
76937         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
76938         versions of AIX.
76939         Reported by Ralf Wildenhues.
76940
76941 2006-08-07  Bruno Haible  <bruno@clisp.org>
76942
76943         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
76944         in an AC_DEFUN. Needed so that the autoconf snippets can use
76945         AC_REQUIRE.
76946
76947 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76948
76949         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76950         Initialize pkgdata_DATA.
76951         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
76952         overriding it.
76953
76954 2006-08-06  Eric Blake  <ebb9@byu.net>
76955
76956         * lib/error.h: Fold in some upstream changes from glibc.
76957         * lib/error.c: Likewise.
76958
76959 2006-08-04  Bruno Haible  <bruno@clisp.org>
76960
76961         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76962         Make the mostlyclean-local rule depend on mostlyclean-generic.
76963         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
76964
76965 2006-07-31  Bruno Haible  <bruno@clisp.org>
76966
76967         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
76968         <stdlib.h>, <string.h>.
76969
76970 2006-07-30  Bruno Haible  <bruno@clisp.org>
76971
76972         * modules/readlink (License): Change to LGPL.
76973
76974 2006-07-30  Bruno Haible  <bruno@clisp.org>
76975
76976         * modules/javaversion (Makefile.am): Distribute javaversion.java and
76977         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
76978         set PKGDATADIR to point to it.
76979
76980 2006-07-30  Bruno Haible  <bruno@clisp.org>
76981
76982         * modules/csharpexec (configure.ac): Comment out macro invocation.
76983         * modules/javaexec (configure.ac): Likewise.
76984         * modules/javacomp-script (configure.ac): Likewise.
76985
76986         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
76987
76988 2006-07-30  Bruno Haible  <bruno@clisp.org>
76989
76990         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
76991         linked-list.
76992
76993 2006-07-30  Bruno Haible  <bruno@clisp.org>
76994
76995         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
76996
76997 2006-07-30  Bruno Haible  <bruno@clisp.org>
76998
76999         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77000         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
77001         get removed.
77002
77003 2006-07-29  Bruno Haible  <bruno@clisp.org>
77004
77005         Make it possible for gnulib-tool to work with locally modified or
77006         augmented gnulib repositories.
77007         * gnulib-tool (func_usage): Document --local-dir option.
77008         (local_gnulib_dir): New variable.
77009         Handle --local-dir option.
77010         (func_lookup_file): New function.
77011         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77012         (func_get_description, func_get_filelist, func_get_description,
77013         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77014         func_get_automake_snippet, func_get_include_directive,
77015         func_get_license, func_get_maintainer): Use func_lookup_file.
77016         (func_import, func_create_testdir): Use func_lookup_file.
77017
77018 2006-07-29  Bruno Haible  <bruno@clisp.org>
77019
77020         * modules/setenv (Depends-on): Add unistd.
77021
77022 2006-07-29  Bruno Haible  <bruno@clisp.org>
77023
77024         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77025
77026 2006-07-29  Bruno Haible  <bruno@clisp.org>
77027
77028         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77029
77030 2006-07-29  Bruno Haible  <bruno@clisp.org>
77031
77032         * gnulib-tool (import, update): If there is no Makefile.am, look at
77033         aclocal.m4, instead of bailing out.
77034
77035 2006-07-29  Bruno Haible  <bruno@clisp.org>
77036
77037         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77038         Categorize the options by when they are useful.
77039
77040 2006-07-29  Bruno Haible  <bruno@clisp.org>
77041
77042         * gnulib-tool (func_usage): Document option --no-libtool.
77043         Handle option --no-libtool.
77044         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77045         for changed semantics of $libtool variable.
77046         (func_import): Likewise. If libtool is not used, show this through
77047         an option --no-libtool.
77048         (func_create_testdir): Update.
77049
77050 2006-07-29  Bruno Haible  <bruno@clisp.org>
77051
77052         * gnulib-tool (func_import): Extend error message about missing
77053         --doc-base.
77054
77055 2006-07-29  Bruno Haible  <bruno@clisp.org>
77056
77057         * gnulib-tool (func_import): Don't create the $docbase directory if
77058         there is no file to store there.
77059
77060 2006-07-29  Bruno Haible  <bruno@clisp.org>
77061
77062         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77063         relevant, look for configure.ac there, not in the current directory.
77064         Also use a simple search for AC_PREREQ, not "autoconf --trace".
77065
77066 2006-07-29  Bruno Haible  <bruno@clisp.org>
77067
77068         * gnulib-tool (SORT): New variable.
77069         (func_usage): Undocument --assume-autoconf option.
77070         Remove --assume-autoconf option handling.
77071         (autoconf_minversion): Determine from the contents of configure.ac.
77072         (func_import): Remove autoconf_minversion handling.
77073         Suggested by Eric Blake.
77074
77075 2006-07-29  Bruno Haible  <bruno@clisp.org>
77076
77077         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
77078
77079 2006-07-29  Bruno Haible  <bruno@clisp.org>
77080
77081         * config/srclist.txt (*setenv.[ch]): Remove rules.
77082
77083 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77084
77085         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
77086
77087 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77088
77089         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
77090         arpa/inet.h.
77091
77092 2006-07-28  Simon Josefsson  <jas@extundo.com>
77093
77094         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
77095         * modules/inet_pton (Depends-on): Likewise.
77096
77097 2006-07-28  Simon Josefsson  <jas@extundo.com>
77098
77099         * m4/netinet_in_h.m4: New file.
77100
77101 2006-07-28  Simon Josefsson  <jas@extundo.com>
77102
77103         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
77104         #include's.
77105
77106 2006-07-28  Simon Josefsson  <jas@extundo.com>
77107
77108         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
77109         #include's.
77110
77111 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
77112
77113         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
77114         setgid on directories only if they set these bits.
77115         * lib/modechange.h: Remove obsolete comment about masks.
77116
77117 2006-07-28  Eric Blake  <ebb9@byu.net>
77118
77119         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
77120         macro expansion.
77121
77122 2006-07-28  Bruno Haible  <bruno@clisp.org>
77123
77124         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
77125
77126 2006-07-28  Bruno Haible  <bruno@clisp.org>
77127
77128         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
77129
77130 2006-07-28  Bruno Haible  <bruno@clisp.org>
77131
77132         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77133         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77134         Define fallbacks.
77135         Avoids link error on FreeBSD 4.x.
77136         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77137
77138         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
77139         encoding.
77140         * lib/mbswidth.c (iswcntrl): Likewise.
77141
77142 2006-07-27  Bruno Haible  <bruno@clisp.org>
77143
77144         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
77145         test.
77146
77147 2006-07-27  Bruno Haible  <bruno@clisp.org>
77148
77149         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
77150         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
77151         defined.
77152
77153 2006-07-26  Eric Blake  <ebb9@byu.net>
77154
77155         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
77156
77157 2006-07-26  Eric Blake  <ebb9@byu.net>
77158
77159         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
77160         like mingw that lack mkstemp.
77161         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
77162         avoid compilation warning on mingw.
77163
77164 2006-07-26  Bruno Haible  <bruno@clisp.org>
77165
77166         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
77167         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
77168         INT_FAST*_MIN, INTPTR_MIN.
77169
77170 2006-07-25  Bruno Haible  <bruno@clisp.org>
77171
77172         * modules/version-etc (Depends-on): Add stdarg.
77173
77174 2006-07-25  Bruno Haible  <bruno@clisp.org>
77175
77176         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
77177         complex commands.
77178
77179 2006-07-25  Bruno Haible  <bruno@clisp.org>
77180
77181         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
77182         defined in <stdarg.h> or config.h.
77183
77184 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77185
77186         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
77187         (gl_STDIO_SAFER): Remove.
77188
77189 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77190
77191         * MODULES.html.sh (File stream based Input/Output):
77192         Add fopen-safer, tmpfile-safer; remove stdio-safer.
77193         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
77194         * modules/fopen-safer, modules/tmpfile-safer: New files.
77195         * modules/stdio-safer: Remove.
77196
77197 2006-07-24  Bruno Haible  <bruno@clisp.org>
77198
77199         * modules/tmpdir: New file.
77200         * MODULES.html.sh (File system functions): Add it.
77201
77202 2006-07-24  Bruno Haible  <bruno@clisp.org>
77203
77204         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
77205         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
77206
77207 2006-07-24  Bruno Haible  <bruno@clisp.org>
77208
77209         * modules/clean-temp: New file.
77210
77211 2006-07-24  Bruno Haible  <bruno@clisp.org>
77212
77213         * m4/tmpdir.m4: New file, from GNU gettext.
77214
77215 2006-07-24  Bruno Haible  <bruno@clisp.org>
77216
77217         * lib/tmpdir.h: New file, from GNU gettext.
77218         * lib/tmpdir.c: New file, from GNU gettext.
77219
77220 2006-07-24  Bruno Haible  <bruno@clisp.org>
77221
77222         * lib/clean-temp.h: New file, from GNU gettext.
77223         * lib/clean-temp.c: New file, from GNU gettext.
77224
77225 2006-07-23  Eric Blake  <ebb9@byu.net>
77226
77227         * modules/stdio-safer (Files): Add tmpfile-safer.c.
77228         (Depends-on): Add binary-io.
77229
77230 2006-07-23  Eric Blake  <ebb9@byu.net>
77231
77232         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
77233
77234 2006-07-23  Eric Blake  <ebb9@byu.net>
77235
77236         * lib/tmpfile-safer.c: New file.
77237         * lib/stdio-safer.h (fopen_safer): Add prototype.
77238         * lib/stdio--.h (tmpfile): Make safer.
77239
77240 2006-07-23  Bruno Haible  <bruno@clisp.org>
77241
77242         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
77243         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
77244         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
77245         gl_linked_remove_at): Use it.
77246
77247 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77248         and Simon Josefsson <jas@extundo.com>
77249
77250         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
77251
77252         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
77253
77254 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77255
77256         * modules/close-stream: New file.
77257         * modules/closeout (Description): Make it clear that it exits
77258         with a diagnostic on error.
77259         (Depends-on): Add close-stream.  Remove fpending, stdbool.
77260         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
77261
77262 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77263
77264         * m4/close-stream.m4: New file.
77265
77266 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77267
77268         * lib/close-stream.c, lib/close-stream.h: New files.
77269
77270 2006-07-22  Bruno Haible  <bruno@clisp.org>
77271
77272         Merge from GNU gettext 0.15.
77273
77274         2006-05-01  Bruno Haible  <bruno@clisp.org>
77275
77276                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
77277
77278         2006-07-22  Bruno Haible  <bruno@clisp.org>
77279
77280                 * modules/javaversion: New file.
77281                 * MODULES.html.sh (Java): Add javaversion.
77282
77283         2006-03-12  Bruno Haible  <bruno@clisp.org>
77284
77285                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
77286
77287         2005-12-04  Bruno Haible  <bruno@clisp.org>
77288
77289                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
77290                 (untested).
77291
77292         2006-06-21  Bruno Haible  <bruno@clisp.org>
77293
77294                 Avoid warnings from recent versions of mcs.
77295                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
77296                 -o, -L, -r any more. Use options documented since mcs-1.0
77297                 instead. Similarly for -g.
77298
77299         2005-12-04  Bruno Haible  <bruno@clisp.org>
77300
77301                 * build-aux/csharpcomp.sh.in: Suffix for resources is
77302                 .resources, not .resource.
77303
77304         2005-07-09  Bruno Haible  <bruno@clisp.org>
77305
77306                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
77307                 add a .dll suffix.
77308                 Reported by Mark Junker <mjscod@gmx.de>.
77309
77310         2006-07-22  Bruno Haible  <bruno@clisp.org>
77311
77312                 * modules/gettext: Upgrade to gettext-0.15.
77313                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
77314                 m4/visibility.m4.
77315                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
77316
77317 2006-07-22  Bruno Haible  <bruno@clisp.org>
77318
77319         Merge from GNU gettext 0.15.
77320
77321         2006-03-25  Bruno Haible  <bruno@clisp.org>
77322
77323                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
77324
77325         2006-07-21  Bruno Haible  <bruno@clisp.org>
77326
77327                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
77328                 "1.1".
77329
77330         2006-05-09  Bruno Haible  <bruno@clisp.org>
77331
77332                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
77333                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
77334                 for the conftestver execution.
77335
77336         2006-05-01  Bruno Haible  <bruno@clisp.org>
77337
77338                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
77339                 optional target-version argument. Verify that the compiler
77340                 groks source of the specified source-version, or add -source
77341                 option as necessary. Verify that the compiler produces
77342                 bytecode in the specified target-version, or add -target and
77343                 -source options as necessary. Make the result of the test
77344                 available as variable CONF_JAVAC. Also log error output in
77345                 config.log.
77346
77347         2006-03-11  Bruno Haible  <bruno@clisp.org>
77348
77349                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
77350
77351         2006-05-09  Bruno Haible  <bruno@clisp.org>
77352
77353                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
77354                 CLASSPATH_SEPARATOR to a semicolon.
77355
77356         2006-03-12  Bruno Haible  <bruno@clisp.org>
77357
77358                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
77359                 available as variable CONF_JAVA, for subsequent autoconf
77360                 tests. Also log error output in config.log.
77361
77362         2006-07-19  Bruno Haible  <bruno@clisp.org>
77363
77364                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
77365                 that getline works on glibc2 systems. Needed to avoid trouble
77366                 in relocatable.c.
77367                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
77368
77369         2005-12-04  Bruno Haible  <bruno@clisp.org>
77370
77371                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
77372                 launcher (untested).
77373
77374         2005-12-04  Bruno Haible  <bruno@clisp.org>
77375
77376                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
77377
77378         2006-07-22  Bruno Haible  <bruno@clisp.org>
77379
77380                 * gettext.m4: Update from GNU gettext-0.15.
77381                 * nls.m4: Likewise.
77382                 * po.m4: Likewise.
77383                 * inttypes-pri.m4: Likewise.
77384                 * inttypes-h.m4: Renamed from inttypes.m4.
77385                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
77386
77387 2006-07-22  Bruno Haible  <bruno@clisp.org>
77388
77389         Merge from GNU gettext 0.15.
77390
77391         2005-07-05  Bruno Haible  <bruno@clisp.org>
77392
77393                 * printf-args.c (printf_fetchargs): Work around broken
77394                 definition of wint_t on mingw.
77395
77396         2005-02-12  Bruno Haible  <bruno@clisp.org>
77397
77398                 * xallocsa.h: Add extern "C" for C++.
77399
77400         2006-05-17  Bruno Haible  <bruno@clisp.org>
77401
77402                 Cygwin portability.
77403                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
77404
77405         2006-04-30  Bruno Haible  <bruno@clisp.org>
77406
77407                 * progreloc.c: Include <mach-o/dyld.h> if available.
77408                 (find_executable): Use _NSGetExecutablePath when possible.
77409
77410         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77411
77412                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
77413                 function.
77414
77415         2005-12-29  Bruno Haible  <bruno@clisp.org>
77416
77417                 * progreloc.c (set_program_name_and_installdir): Fix
77418                 compilation error.
77419
77420         2005-12-04  Bruno Haible  <bruno@clisp.org>
77421
77422                 Cygwin portability.
77423                 * progreloc.c: Include <windows.h> also on Cygwin.
77424                 (find_executable): Add support for Cygwin.
77425                 (set_program_name_and_installdir): Handle also platforms with
77426                 nonempty EXEEXT.
77427
77428         2006-07-11  Bruno Haible  <bruno@clisp.org>
77429
77430                 * javacomp.c: Fix a comment.
77431                 Reported by Jim Meyering.
77432
77433         2006-04-30  Bruno Haible  <bruno@clisp.org>
77434
77435                 * javacomp.h (compile_java_class): Add source_version,
77436                 target_version arguments.
77437                 * javacomp.c: Rewritten to choose only a compiler that
77438                 respects the specified source_version and target_version.
77439
77440         2006-06-27  Bruno Haible  <bruno@clisp.org>
77441
77442                 Assume correct S_ISDIR macro.
77443                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77444
77445         2006-07-22  Bruno Haible  <bruno@clisp.org>
77446
77447                 * javaversion.h: New file, from GNU gettext.
77448                 * javaversion.c: New file, from GNU gettext.
77449                 * javaversion.java: New file, from GNU gettext.
77450                 * javaversion.class: New file, from GNU gettext.
77451
77452         2006-05-17  Bruno Haible  <bruno@clisp.org>
77453
77454                 Cygwin portability.
77455                 * javaexec.c (execute_java_class): Test for jview program
77456                 also on Cygwin.
77457
77458         2006-04-09  Bruno Haible  <bruno@clisp.org>
77459
77460                 * fatal-signal.c: Don't include string.h.
77461                 (at_fatal_signal): Use a copying loop instead of memcpy.
77462
77463         2005-12-04  Bruno Haible  <bruno@clisp.org>
77464
77465                 * csharpexec.c: Add support for 'clix' launcher (untested).
77466                 (execute_csharp_using_sscli): New function.
77467                 (execute_csharp_program): Call it.
77468
77469         2006-06-21  Bruno Haible  <bruno@clisp.org>
77470
77471                 Avoid warnings from recent versions of mcs.
77472                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77473                 -o, -L, -r any more. Use options documented since mcs-1.0
77474                 instead. Similarly for -g.
77475
77476         2005-07-09  Bruno Haible  <bruno@clisp.org>
77477
77478                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77479                 add a .dll suffix.
77480                 Reported by Mark Junker <mjscod@gmx.de>.
77481
77482         2006-06-17  Bruno Haible  <bruno@clisp.org>
77483
77484                 * config.charset: Update for NetBSD 3.0.
77485
77486         2006-05-17  Bruno Haible  <bruno@clisp.org>
77487
77488                 Cygwin portability.
77489                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77490
77491         2006-05-16  Bruno Haible  <bruno@clisp.org>
77492
77493                 * localcharset.c [CYGWIN]: Include <windows.h>.
77494                 (get_charset_aliases): For Cygwin, return the same CPxxx
77495                 aliases list as under WIN32.
77496                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77497                 the environment variables. Fall back to GetACP().
77498
77499         2006-04-05  Bruno Haible  <bruno@clisp.org>
77500
77501                 * config.charset: Update Juan Manuel Guerrero's address.
77502
77503         2005-02-12  Bruno Haible  <bruno@clisp.org>
77504
77505                 * allocsa.h: Add extern "C" for C++.
77506
77507         2005-02-10  Bruno Haible  <bruno@clisp.org>
77508
77509                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77510                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77511
77512         2006-07-22  Bruno Haible  <bruno@clisp.org>
77513
77514                 * gettext.h: Update to GNU gettext-0.15.
77515
77516 2006-07-22  Bruno Haible  <bruno@clisp.org>
77517
77518         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77519         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77520         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77521
77522 2006-07-21  Eric Blake  <ebb9@byu.net>
77523
77524         * modules/stdlib-safer: New file.
77525         * MODULES.html.sh (File stream based Input/Output): Add
77526         stdlib-safer.
77527
77528 2006-07-21  Eric Blake  <ebb9@byu.net>
77529
77530         * lib/stdlib-safer.h: New file from coreutils, required by
77531         stdlib--.h.
77532
77533 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77534
77535         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77536
77537 2006-07-20  Bruno Haible  <bruno@clisp.org>
77538
77539         * gnulib-tool: Recognize new option --assume-autoconf.
77540         (autoconf_minversion): New variable.
77541         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77542
77543 2006-07-20  Bruno Haible  <bruno@clisp.org>
77544
77545         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77546
77547 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77548
77549         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77550         Reindent and repaginate.
77551
77552 2006-07-19  Derek Price  <derek@ximbiot.com>
77553
77554         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77555         Correct grammar.
77556
77557 2006-07-17  Bruno Haible  <bruno@clisp.org>
77558
77559         * modules/list: New file.
77560         * modules/array-list: New file.
77561         * modules/carray-list, modules/carray-list-tests: New files.
77562         * modules/linked-list, modules/linked-list-tests: New files.
77563         * modules/avltree-list, modules/avltree-list-tests: New files.
77564         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77565         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77566         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77567         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77568         * modules/oset: New file.
77569         * modules/array-oset: New file.
77570         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77571         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77572         * tests/test-carray_list.c: New file.
77573         * tests/test-linked_list.c: New file.
77574         * tests/test-avltree_list.c: New file.
77575         * tests/test-rbtree_list.c: New file.
77576         * tests/test-linkedhash_list.c: New file.
77577         * tests/test-avltreehash_list.c: New file.
77578         * tests/test-rbtreehash_list.c: New file.
77579         * tests/test-avltree_oset.c: New file.
77580         * tests/test-rbtree_oset.c: New file.
77581         * MODULES.html.sh (Container data structures): New section.
77582
77583 2006-07-17  Bruno Haible  <bruno@clisp.org>
77584
77585         * m4/gl_list.m4: New file.
77586
77587 2006-07-17  Bruno Haible  <bruno@clisp.org>
77588
77589         * lib/gl_list.h: New file.
77590         * lib/gl_list.c: New file.
77591         * lib/gl_array_list.h: New file.
77592         * lib/gl_array_list.c: New file.
77593         * lib/gl_carray_list.h: New file.
77594         * lib/gl_carray_list.c: New file.
77595         * lib/gl_linked_list.h: New file.
77596         * lib/gl_linked_list.c: New file.
77597         * lib/gl_anylinked_list1.h: New file.
77598         * lib/gl_anylinked_list2.h: New file.
77599         * lib/gl_avltree_list.h: New file.
77600         * lib/gl_avltree_list.c: New file.
77601         * lib/gl_anyavltree_list1.h: New file.
77602         * lib/gl_anyavltree_list2.h: New file.
77603         * lib/gl_rbtree_list.h: New file.
77604         * lib/gl_rbtree_list.c: New file.
77605         * lib/gl_anyrbtree_list1.h: New file.
77606         * lib/gl_anyrbtree_list2.h: New file.
77607         * lib/gl_anytree_list1.h: New file.
77608         * lib/gl_anytree_list2.h: New file.
77609         * lib/gl_linkedhash_list.h: New file.
77610         * lib/gl_linkedhash_list.c: New file.
77611         * lib/gl_anyhash_list1.h: New file.
77612         * lib/gl_anyhash_list2.h: New file.
77613         * lib/gl_avltreehash_list.h: New file.
77614         * lib/gl_avltreehash_list.c: New file.
77615         * lib/gl_rbtreehash_list.h: New file.
77616         * lib/gl_rbtreehash_list.c: New file.
77617         * lib/gl_anytreehash_list1.h: New file.
77618         * lib/gl_anytreehash_list2.h: New file.
77619
77620         * lib/gl_oset.h: New file.
77621         * lib/gl_oset.c: New file.
77622         * lib/gl_array_oset.h: New file.
77623         * lib/gl_array_oset.c: New file.
77624         * lib/gl_avltree_oset.h: New file.
77625         * lib/gl_avltree_oset.c: New file.
77626         * lib/gl_rbtree_oset.h: New file.
77627         * lib/gl_rbtree_oset.c: New file.
77628         * lib/gl_anytree_oset.h: New file.
77629
77630 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77631
77632         * m4/mkancesdirs.m4: New file.
77633         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
77634         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
77635         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
77636         it.
77637
77638 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77639
77640         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
77641         * lib/mkancesdirs.h: New files.
77642         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77643         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77644         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77645         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77646         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77647         callers changed.  Revamp internals significantly, by not
77648         attempting to create directories that are temporarily more
77649         permissive than the final results.  Do not attempt to use
77650         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77651         This removes some race conditions, fixes some bugs, and simplifies
77652         things.  Use new dirchownmod function to do owner and mode changes.
77653         * lib/mkdir-p.h: Likewise.
77654         * lib/modechange.c (octal_to_mode): New function.
77655         (struct mode_change): New member mentioned.
77656         (make_node_op_equals): New arg mentioned.  All callers changed.
77657         (mode_compile): Keep track of which mode bits the user has explicitly
77658         mentioned.
77659         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77660         New arg PMODE_BITS, to keep track of which mode bits the user
77661         mentioned; it treats S_ISUID and S_ISGID speciall.
77662         All callers changed.
77663         * lib/modechange.h: Likewise.
77664
77665 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77666
77667         * MODULES.html.sh: Add mkancestors.
77668         * modules/mkancesdirs: New module.
77669         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
77670         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
77671         The chdir-safer and afs files are now orphans; I'll remove them
77672         unless someone speaks up.
77673         Add lib/dirchownmod.c, lib/dirchownmod.h.
77674         (Depends-on): Remove alloca, chown, save-cwd, dirname.
77675         Add lchown, mkancesdirs.
77676         (Maintainer): Add self.
77677
77678 2006-07-15  Karl Berry  <karl@gnu.org>
77679
77680         * gnulib-tool: help message wording/arrangement.
77681
77682 2006-07-14  Simon Josefsson  <jas@extundo.com>
77683
77684         * doc/gnulib.texi (Libtool and Windows): New section.
77685
77686 2006-07-12  Simon Josefsson  <jas@extundo.com>
77687
77688         * modules/gendocs (License): Fix license, approved by Karl.
77689
77690 2006-07-12  Eric Blake  <ebb9@byu.net>
77691
77692         * MODULES.html.sh: Add gendocs.
77693
77694 2006-07-11  Eric Blake  <ebb9@byu.net>
77695
77696         * modules/fdl: New module, to install doc/fdl.texi.
77697         * MODULES.html.sh: Add new section for documentation modules.
77698         * gnulib-tool: Avoid space-tab.
77699         (--doc-base): New option, to manage files from doc.
77700
77701 2006-07-11  Eric Blake  <ebb9@byu.net>
77702
77703         * m4/absolute-header.m4: Fix comments to match recent change.
77704
77705 2006-07-11  Eric Blake  <ebb9@byu.net>
77706
77707         * gnulib-tool: List --doc-base before --tests-base.
77708
77709 2006-07-11  Derek R. Price  <derek@ximbiot.com>
77710
77711         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
77712
77713 2006-07-11  Bruno Haible  <bruno@clisp.org>
77714
77715         * README: Mention where to put documentation.
77716
77717 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77718
77719         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
77720
77721 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77722
77723         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
77724         to stdint.m4.
77725
77726 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77727
77728         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
77729         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
77730         "no/such/file/stdint.h" when there is no such file, so that
77731         the resulting C code can be parsed by dodgy compilers.
77732         Problems reported by Bob Proulx.
77733
77734 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77735
77736         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
77737         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77738         macros into the GNU _D_EXACT_NAMLEN.
77739         * lib/savedir.c:  Likewise.
77740         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
77741
77742 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77743         and Paul Eggert  <eggert@cs.ucla.edu>
77744
77745         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
77746         * m4/savedir.m4:
77747         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77748         macros into the GNU _D_EXACT_NAMLEN.
77749
77750 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77751
77752         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
77753         around the absolute name, to work around a problem with the HP-UX
77754         11.23 native C compiler, reported by Bob Proulx.
77755
77756 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77757
77758         * doc/maintain.texi, make-stds.texi: Sync from
77759         <http://savannah.gnu.org/projects/gnustandards>.
77760
77761 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77762
77763         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
77764
77765 2006-07-09  Jim Meyering  <jim@meyering.net>
77766
77767         * m4/glob.m4: Remove a doubled word in a comment.
77768
77769 2006-07-09  Jim Meyering  <jim@meyering.net>
77770
77771         * lib/argp-pv.c: Remove a doubled word in a comment.
77772         * lib/check-version.c (check_version): Likewise.
77773         * lib/javacomp.c (compile_java_class): Likewise.
77774
77775 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77776
77777         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
77778         for the benefit of people using Autoconf 2.60.  If you want to
77779         support older Autoconf versions you can copy m4/onceonly_2_57.m4
77780         (or m4/onceonly.m4, if pre-2.57) manually.
77781
77782 2006-07-08  Jim Meyering  <jim@meyering.net>
77783
77784         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
77785         comment.
77786         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
77787         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
77788         comment.
77789
77790 2006-07-08  Jim Meyering  <jim@meyering.net>
77791
77792         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
77793
77794 2006-07-07  Simon Josefsson  <jas@extundo.com>
77795
77796         * tests/test-crc.c: Change expected crc value, the test vector
77797         were probably computed using the old broken crc.c?
77798
77799 2006-07-06  Simon Josefsson  <jas@extundo.com>
77800
77801         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
77802         now the canonical place for the M4 file).
77803
77804         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
77805         from the sys_socket dependency now.
77806
77807         * modules/inet_pton (Files): Ditto.
77808
77809         * modules/inet_ntop (Files): Ditto.
77810
77811 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77812
77813         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
77814         not gl_PREREQ_GETUSERSHELL.
77815
77816 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77817
77818         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
77819         with only one argument, for Autoconf 2.60.
77820         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
77821         expand to nothing, so add a shell command to avoid syntax error.
77822         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77823
77824 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77825
77826         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
77827
77828 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77829
77830         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
77831         no longer needed.  Check for isblank decl.
77832         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
77833         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
77834         of existence.
77835
77836 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77837
77838         * lib/getloadavg.c: Use __VMS, not VMS.
77839         * lib/getopt.c: Likewise.
77840         * lib/getpagesize.h: Likewise.
77841         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
77842         and probably does not work.
77843
77844 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77845
77846         * lib/.cppi-disable: Add wcwidth.
77847         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
77848         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
77849         (ISGRAPH): Remove.  All uses changed to isgraph.
77850         (FOLD) [!defined _LIBC]: Remove special case.
77851         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
77852         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
77853         HAVE_ISBLANK.
77854         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
77855         case.
77856
77857 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77858
77859         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
77860         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
77861         brackets.  Other minor changes to suppress some compiler
77862         warnings.
77863
77864 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77865         and Paul Eggert  <eggert@cs.ucla.edu>
77866
77867         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
77868         of invoking obsolescent AC_HEADER_DIRENT macro.
77869         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
77870         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
77871         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
77872         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
77873         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
77874         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77875         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
77876         * m4/readdir.m4: Remove; no longer needed.
77877
77878 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77879         and Paul Eggert  <eggert@cs.ucla.edu>
77880
77881         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
77882         Don't worry about this obsolete case any more.
77883         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
77884         directories.
77885         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
77886         worry about this obsolete case any more.
77887         * lib/fts.c: Likewise.
77888         * lib/getcwd.c: Likewise.
77889         * lib/glob.h: Likewise.
77890         * lib/savedir.c: Likewise.
77891
77892 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77893
77894         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
77895         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
77896         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
77897         needed.
77898         All uses removed.
77899         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77900         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77901         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
77902         needed.
77903         * m4/getdate.m4 (gl_GETDATE): Likewise.
77904         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77905         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77906         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77907         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77908         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77909         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77910         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
77911         needed.
77912
77913 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77914
77915         * lib/memcasecmp.c: Include <limits.h>.
77916         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
77917         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
77918         Don't assume isdigit succeeds only on '0' through '9'.
77919
77920 2006-07-05  Eric Blake  <ebb9@byu.net>
77921
77922         * modules/getaddrinfo (Depends-on): Add snprintf.
77923
77924 2006-07-05  Eric Blake  <ebb9@byu.net>
77925
77926         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
77927         to avoid 'header present but could not be compiled' on cygwin.
77928
77929 2006-07-05  Eric Blake  <ebb9@byu.net>
77930
77931         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
77932         missing from netdb.h.
77933         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
77934
77935 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77936
77937         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
77938         no longer needed.
77939         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
77940         * m4/getdate.m4 (gl_GETDATE): Likewise.
77941         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77942         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77943         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77944         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77945         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77946
77947 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77948
77949         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
77950         All uses of is_space replaced by isspace.
77951         * lib/exit.h: Don't talk about STDC_HEADERS.
77952         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
77953         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
77954         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
77955         replaced by isprint etc.
77956         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
77957         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77958         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
77959         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
77960         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
77961         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77962
77963 2006-07-05  Bruno Haible  <bruno@clisp.org>
77964
77965         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
77966         the function exists, before testing against AIX.
77967         Reported by Martin Lambers <marlam@marlam.de>.
77968
77969 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77970
77971         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
77972         From Mark D. Baushke.
77973
77974 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77975
77976         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
77977         to the absolute name, not just one, to bypass Sun C 5.8's
77978         "warning: #include of /usr/include/... may be non-portable".
77979
77980 2006-07-04  Eric Blake  <ebb9@byu.net>
77981
77982         * modules/dirname-tests: New test module.
77983         * tests/test-dirname.c: New file, replacing dirname.c
77984         TEST_DIRNAME section that was recently deleted.
77985
77986 2006-07-04  Bruno Haible  <bruno@clisp.org>
77987
77988         Assume ANSI C header files and <ctype.h> functions.
77989         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
77990         (mbsnwidth): Use isprint, iscntrl instead.
77991
77992 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77993
77994         Merge from coreutils.
77995         * MODULES.html.sh: Add xstrtold.
77996         * modules/xstrtold: New file.
77997         * modules/cycle-check (Files): Add lib/same-inode.h.
77998         * modules/dirname (Files): Add m4/double-slash-root.m4.
77999         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
78000         * modules/mkdir-p (Files): Add lib/same-inode.h.
78001         * modules/same (Files): Add lib/same-inode.h.
78002
78003 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         * m4/absolute-header.m4: Renamed from full-header-path.m4.
78006         This is to keep the terminology clean; POSIX talks about
78007         "absolute pathnames", not "full pathnames", but the GNU
78008         Coding Standards say to use "path" for something else;
78009         so use "absolute" to keep both sides happy.
78010         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78011         Set gl_absolute_header, not gl_full_header_path.
78012         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78013         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78014         All uses changed.
78015
78016         Merge from coreutils.
78017
78018         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78019
78020         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78021         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78022         want to require the building of c-strtod.o.
78023         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78024         needs -lm directly.
78025         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78026
78027         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78028
78029         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78030         --as-needed option if available.  Problem reported by Albert Chin in
78031         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78032         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78033         cc merely issues a bunch of annoying warnings for --as-needed
78034         (this problem was reported by Bob Proulx).  Also, try linking with
78035         -lm to detect a bug in binutils 2.16 (this problem was reported
78036         by Ralf Wildenhues).
78037
78038         2006-06-18  Jim Meyering  <jim@meyering.net>
78039
78040         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78041         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78042         macro.
78043         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78044         also check for glibc-2.4's abort-inducing bug.
78045
78046         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78047         Low-probability clean-up should be to use rmdir to get rid of
78048         the just-created directory, not unlink.
78049
78050         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78051         configure fail, and request a bug report to inform us about it.
78052         Add a comment that, barring reports to the contrary, in 2007 we'll
78053         assume ftruncate is universally available.
78054
78055         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78056
78057         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78058
78059         2006-03-12  Jim Meyering  <jim@meyering.net>
78060
78061         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78062         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78063         * m4/same.m4 (gl_SAME): Likewise.
78064         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
78065
78066         2006-03-11  Eric Blake  <ebb9@byu.net>
78067
78068         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
78069         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
78070         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
78071         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
78072
78073 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78074
78075         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
78076         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
78077         reported by Mark D. Baushke, one in
78078         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
78079
78080         Merge from coreutils.
78081
78082         * lib/.cppi-disable: Add stdint_.h.
78083         * lib/.cvsignore: Add stdint.h.
78084
78085         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78086
78087         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
78088         both double and long double versions.
78089         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
78090         * lib/xstrtold.c: New file.
78091         * lib/xstrtod.h (xstrtold): New decl.
78092
78093         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78094
78095         * lib/filemode.c (setst): Remove.
78096         (strmode): Rewrite to avoid setst.  This makes the code shorter,
78097         (arguably) clearer, and the generated code is a bit smaller on my
78098         Debian GNU/Linux stable x86 host.
78099
78100         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78101
78102         * lib/filemode.c: Include "filemode.h" first, to test the interface.
78103         Assume that filemode.h includes sys/types.h and sys/stat.h.
78104         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
78105         (ftypelet): Reorder to put common cases first, for efficiency.
78106         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
78107         to do 'M'.
78108         (strmode): Renamed from mode_string, and now stores 12 bytes instead
78109         of 10, for compatibility with FreeBSD.  All callers changed.
78110         (filemodestring): Now stores 12 bytes instead of 10, and sets file
78111         types that can't be deduced solely from st_mode.  First arg is now a
78112         const pointer.
78113         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
78114         (strmode): Renamed from mode_string.
78115         (filemodestring): New decl.
78116         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
78117         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
78118         needed.
78119         (S_ISPORT, S_ISWHT): New macros, if not already defined.
78120
78121         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78122
78123         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
78124         fsusage.h now does that.  Include fsusage.h first, to test interface.
78125         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
78126         at most one method (the old code could have generated decls that
78127         didn't conform to C89, not that this was ever exercised).
78128         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
78129
78130         2006-03-19  Jim Meyering  <jim@meyering.net>
78131
78132         Work even in a chroot where d_ino values for entries in "/"
78133         don't match the stat.st_ino values for the same names.
78134         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
78135         number, iterate through all entries again, using lstat instead.
78136         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
78137         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
78138
78139         * lib/getcwd.c (__getcwd): Clarify a comment.
78140         Use memcpy in place of a call to strcpy.
78141
78142         2006-03-12  Jim Meyering  <jim@meyering.net>
78143
78144         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
78145         matches that of the current directory (which we're about to chdir ".."
78146         out of), then save the dev-ino of the parent, instead.
78147
78148         * lib/same-inode.h (SAME_INODE): New file/macro.
78149         * lib/chdir-safer.c (SAME_INODE): Remove definition.
78150         Include "same-inode.h", instead.
78151         * lib/same.c: Likewise.
78152         * lib/cycle-check.h: Include "same-inode.h".
78153         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
78154         * lib/cycle-check.c (SAME_INODE): Remove definition.
78155         * lib/root-dev-ino.h: Include "same-inode.h".
78156
78157         2006-03-11  Eric Blake  <ebb9@byu.net>
78158
78159         * lib/same.c (same_name): s/base_name/last_component/
78160         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
78161         * lib/filenamecat.c (file_name_concat): Likewise.
78162
78163         2006-03-11  Eric Blake  <ebb9@byu.net>,
78164                     Paul Eggert  <eggert@cs.ucla.edu>
78165
78166         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
78167         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
78168         drive prefix.
78169         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
78170         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
78171         (last_component): New method.
78172         * lib/dirname.c (dir_len): Determine when drive letters need a
78173         subsequent slash.  Preserve // when it is special.
78174         (dir_name): Don't append dot when drive letter is absolute.
78175         [TEST_DIRNAME]: Move into a full-blown gnulib test.
78176         * lib/basename.c (base_name): New semantics - malloc the result.
78177         Preserve // when it is special.  Preserve relative files that look
78178         like drive letters.
78179         (base_len): Preserve // when it is special.
78180         (last_component): New method, similar to old base_name semantics.
78181         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
78182         base_name.  Strip redundant slashes from ///.
78183
78184 2006-07-03  Jim Meyering  <jim@meyering.net>
78185
78186         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
78187         macro is used before the first cycle_check call.
78188
78189 2006-07-03  Eric Blake  <ebb9@byu.net>
78190
78191         * modules/dirname (Depends-on): Add xstrndup.
78192
78193 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78194
78195         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
78196         test cases, so that config.log is a bit easier to follow.
78197
78198 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78199
78200         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
78201         both are 64 bits, since this seems to be the tradition, and this
78202         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
78203         we ever run into a host that prefers long long to long in this
78204         case, we'll need another configure-time test.  Problem reported by
78205         Jim Meyering.
78206
78207 2006-07-02  Eric Blake  <ebb9@byu.net>
78208
78209         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
78210
78211 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78212
78213         * modules/inttypes (Depends-on): No longer depends on stdint.
78214         * modules/stdint (Description): Say more about assumptions.
78215         Say that the fast types might differ.  Say macros are used.
78216         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
78217         (Makefile.am): Revise list of substituted symbols to match
78218         new stdint.m4.
78219         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
78220         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
78221         * tests/test-stdint.c (verify_same_types)
78222         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
78223         the code conforms to C99/C89.
78224         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
78225         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
78226
78227 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78228
78229         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
78230         but fix a bug, by requiring at least 64 bits.
78231         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78232         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
78233         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
78234         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78235
78236         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
78237         changes.  Make 2.59 a prerequisite.  Check and substitute for
78238         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
78239         inttypes.h.  Do not use special include files; just use the
78240         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
78241         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
78242         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
78243         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
78244         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
78245         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
78246         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
78247         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
78248         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
78249         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
78250         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
78251         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
78252         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
78253         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
78254         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
78255         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
78256         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
78257         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
78258         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
78259         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
78260         WINT_MAX.  Check for C99 conformance more strictly, by detecting
78261         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
78262         not check for things that C99 does not require, e.g., int8_t.  If
78263         a test isn't needed unless <stdint.h> isn't working, and is
78264         unlikely to be needed for any other reason, then don't do it
78265         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
78266         size_t, since we assume C89 freestanding at least.  Do not check
78267         for sig_atomic_t, wchar_t, or wint_t, since the code now does
78268         the right thing even if the types are not defined.  Instead use:
78269         (gl_STDINT_TYPE_PROPERTIES): New macro.
78270         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
78271         testing whether <sys/types.h> clashes, as Autoconf does this for
78272         us now.  All uses removed.
78273         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
78274         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
78275         (gl_CHECK_TYPE_SAME):
78276         Remove; no longer needed.
78277         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
78278         exists, since we'll return 0 anyway in that case.
78279         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
78280
78281 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78282
78283         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
78284         possible collision with system files.
78285         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
78286         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
78287         WCHAR_MIN and WCHAR_MAX in this case.
78288         (<stddef.h>): Do not include; no longer needed.
78289         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
78290         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
78291         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
78292         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
78293         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
78294         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
78295         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
78296         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
78297         !defined(__c99))]: Include in this case too, since it's harmless
78298         now.
78299         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
78300         dangerous to do so.
78301         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
78302         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
78303         (_STDINT_MIN, _STDINT_MAX): New macros.
78304         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
78305         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
78306         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
78307         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
78308         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
78309         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
78310         macros, not typedefs; this simplifies things quite a bit.
78311         Use long int for all types narrower than int64_t.
78312         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
78313         Define in terms of long long int or int64_t or long int,
78314         not int64_t or int32_t.  This saves some compile-time testing.
78315         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
78316         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
78317         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
78318         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
78319         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
78320         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
78321         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
78322         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
78323         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
78324         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
78325         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78326         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78327         undef any previous version and define our own version, for
78328         simplicity and consistency with the new macros for types.
78329         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78330         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78331         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
78332         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
78333         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
78334         @WINT_T_SUFFIX@ to keep things simple here.
78335         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
78336         Simplify by assuming typical 8/16/32/64 host, since we're
78337         already doing that elsewhere anyway.
78338         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
78339         and assume long long int is 64 bits if available.  This
78340         speeds up 'configure'.
78341
78342 2006-07-01  Eric Blake  <ebb9@byu.net>
78343
78344         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
78345         Reported by Andreas Buening.
78346
78347 2006-07-01  Eric Blake  <ebb9@byu.net>
78348
78349         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
78350
78351 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78352
78353         * lib/getaddrinfo.c: fixed typo
78354
78355 2006-06-29  Jim Meyering  <jim@meyering.net>
78356
78357         * modules/strftime (Maintainer): Add my name, since with the
78358         FPRINTFTIME changes strftime.c has forked from glibc.
78359
78360 2006-06-29  Eric Blake  <ebb9@byu.net>
78361
78362         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
78363
78364 2006-06-29  Eric Blake  <ebb9@byu.net>
78365
78366         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
78367
78368 2006-06-29  Eric Blake  <ebb9@byu.net>
78369
78370         * lib/stat_.h: New file.
78371
78372 2006-06-29  Eric Blake  <ebb9@byu.net>
78373
78374         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
78375         unused static function.
78376
78377 2006-06-29  Eric Blake  <ebb9@byu.net>
78378
78379         * doc/functions.texi (Function Portability): Document missing lstat
78380         on mingw.
78381
78382 2006-06-29  Eric Blake  <ebb9@byu.net>
78383
78384         * MODULES.html.sh: Add sys_stat.
78385         * modules/sys_stat: New module.
78386         * modules/mkstemp (Depends-on): Add sys_stat.
78387
78388 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78389
78390         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
78391
78392 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78393
78394         * m4/c-bs-a.m4: Removed.
78395
78396 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78397
78398         * lib/strftime.c: Assume strftime() exists.
78399
78400 2006-06-29  Derek Price  <derek@ximbiot.com>
78401
78402         * modules/c-bs-a: Removed - \a is C89.
78403         * MODULES.html.sh: Remove c-bs-a.
78404
78405 2006-06-29  Bruno Haible  <bruno@clisp.org>
78406
78407         * modules/wcwidth (License): Change to LGPL.
78408
78409 2006-06-28  Simon Josefsson  <jas@extundo.com>
78410
78411         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
78412         on _WIN32.
78413
78414         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
78415         getnameinfo.
78416
78417 2006-06-28  Simon Josefsson  <jas@extundo.com>
78418
78419         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
78420
78421 2006-06-28  Simon Josefsson  <jas@extundo.com>
78422
78423         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
78424         functions there.  It will succeed on Windows XP, but on Windows
78425         2000 and (presumably) earlier, it will fail, and use the internal
78426         re-implementation.
78427         (use_win32_p): New function.
78428         (getaddrinfo): Use strtoul on servname, to support numeric ports.
78429         Support AI_NUMERICSERV to disable getservbyname.
78430         (getnameinfo): New function, only supports
78431         NI_NUMERICHOST|NI_NUMERICSERV for now.
78432
78433         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78434         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78435         getnameinfo.
78436
78437 2006-06-28  Eric Blake  <ebb9@byu.net>
78438
78439         * modules/wcwidth: New file.
78440         * modules/mbchar (Depends-on): Add wcwidth.
78441         * modules/mbswidth (Depends-on): Add wcwidth.
78442         * MODULES.html.sh: Add wcwidth.
78443
78444 2006-06-28  Eric Blake  <ebb9@byu.net>
78445
78446         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78448
78449 2006-06-28  Eric Blake  <ebb9@byu.net>
78450
78451         * lib/xvasprintf.h: Fix comments.
78452
78453 2006-06-28  Eric Blake  <ebb9@byu.net>
78454
78455         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78456         * lib/mbswidth.c (wcwidth): Move from here...
78457         * lib/wcwidth.h: ...to this new file.
78458
78459 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78460
78461         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78462
78463         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78464         it's obsolete.
78465         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78466
78467 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78468
78469         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78470         Autoconf 2.60 says this stuff was obsolete.
78471
78472 2006-06-28  Bruno Haible  <bruno@clisp.org>
78473
78474         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78475
78476 2006-06-28  Bruno Haible  <bruno@clisp.org>
78477
78478         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78479         gt_TYPE_WCHAR_T.
78480
78481 2006-06-28  Bruno Haible  <bruno@clisp.org>
78482
78483         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78484         declaration for wcwidth.
78485         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78486
78487 2006-06-28  Bruno Haible  <bruno@clisp.org>
78488
78489         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78490         (mkdir): Define using _mkdir.
78491
78492 2006-06-28  Bruno Haible  <bruno@clisp.org>
78493
78494         * lib/getaddrinfo.h: Fix POSIX URL.
78495         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78496         _WIN32.
78497         (use_win32_p): Make static.
78498         (getaddrinfo): Reject service name if it is empty or does not consist
78499         solely of decimal digits, or if its value is > 65535.
78500         (getnameinfo): Remove useless casts.
78501
78502 2006-06-27  Simon Josefsson  <jas@extundo.com>
78503
78504         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78505         Eggert and Martin Lambers.
78506
78507 2006-06-27  Simon Josefsson  <jas@extundo.com>
78508
78509         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78510         Eggert and Martin Lambers.
78511
78512 2006-06-27  Bruno Haible  <bruno@clisp.org>
78513
78514         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78515         result to 0, not to empty.
78516         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78517
78518 2006-06-27  Bruno Haible  <bruno@clisp.org>
78519
78520         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78521
78522 2006-06-26  Simon Josefsson  <jas@extundo.com>
78523
78524         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78525         present.
78526
78527 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78528
78529         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78530         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78531         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78532
78533 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78534
78535         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78536
78537 2006-06-26  Bruno Haible  <bruno@clisp.org>
78538
78539         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78540
78541 2006-06-26  Bruno Haible  <bruno@clisp.org>
78542
78543         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78544
78545 2006-06-26  Bruno Haible  <bruno@clisp.org>
78546
78547         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78548         SGI C compiler in pre-C99 mode.
78549         Suggested by Mark D. Baushke and Larry Jones.
78550
78551 2006-06-26  Bruno Haible  <bruno@clisp.org>
78552
78553         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78554         WCHAR_MAX.
78555         Reported by Mark D. Baushke and Larry Jones.
78556
78557 2006-06-26  Bruno Haible  <bruno@clisp.org>
78558
78559         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78560         in pre-C99 mode.
78561         Suggested by Mark D. Baushke and Larry Jones.
78562
78563 2006-06-23  Simon Josefsson  <jas@extundo.com>
78564             Bruno Haible  <bruno@clisp.org>
78565
78566         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78567         Emit mostlyclean-local rule.
78568         (func_emit_tests_Makefile_am): Likewise.
78569         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78570
78571 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78572
78573         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78574
78575 2006-06-23  Bruno Haible  <bruno@clisp.org>
78576
78577         * tests/test-stdint.c: Update to match ISO C 99 Technical
78578         Corrigendum 1.
78579
78580 2006-06-23  Bruno Haible  <bruno@clisp.org>
78581
78582         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78583
78584 2006-06-23  Bruno Haible  <bruno@clisp.org>
78585
78586         * lib/stdint_.h: Treat IRIX like OpenBSD.
78587
78588 2006-06-23  Bruno Haible  <bruno@clisp.org>
78589
78590         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78591         ISO C 99 Technical Corrigendum 1.
78592
78593 2006-06-22  Simon Josefsson  <jas@extundo.com>
78594
78595         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78596         MinGW.
78597
78598 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78599
78600         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
78601         needed.  Some compiler complained about some of them.  Problem reported
78602         by Larry Jones in
78603         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
78604
78605 2006-06-21  Simon Josefsson  <jas@extundo.com>
78606
78607         * tests/test-getaddrinfo.c: New file.
78608
78609         * modules/getaddrinfo-tests: New file.
78610
78611         * MODULES.html.sh: Add inet_pton.
78612
78613         * modules/inet_pton: New file.
78614
78615 2006-06-21  Simon Josefsson  <jas@extundo.com>
78616
78617         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
78618         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
78619         of using the (limited) gnulib implementation on Windows XP.
78620
78621         * m4/inet_pton.m4: New file.
78622
78623 2006-06-21  Simon Josefsson  <jas@extundo.com>
78624
78625         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
78626         variable.
78627
78628         * lib/socket_.h: Don't define WINVER.
78629
78630         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
78631         slightly modified to work in gnulib.
78632
78633 2006-06-21  Simon Josefsson  <jas@extundo.com>
78634
78635         * doc/gnulib.texi (Windows sockets): Add.
78636
78637 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
78638
78639         * lib/read-file.c (fread_file): Start with buffer allocation of
78640         0 bytes rather than 1 byte; this simplifies the code.
78641         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78642         code to free buffer and save/restore errno.
78643         (internal_read_file): Remove unused local.
78644
78645 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78646
78647         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78648         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78649         Problem reported by Denis Excoffier in
78650         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78651
78652 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78653
78654         * modules/sys_socket, modules/socklen: Include sys/types since
78655         FreeBSD 4.x's sys/socket.h needs it.
78656
78657 2006-06-19  Simon Josefsson  <jas@extundo.com>
78658
78659         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78660
78661 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78662
78663         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
78664
78665 2006-06-19  Bruno Haible  <bruno@clisp.org>
78666
78667         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
78668         and FULL_PATH_INTTYPES_H in angle brackets.
78669         Reported by Mark D. Baushke <mdb@gnu.org>.
78670
78671 2006-06-17  Eric Blake  <ebb9@byu.net>
78672
78673         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
78674         errno.
78675
78676 2006-06-17  Bruno Haible  <bruno@clisp.org>
78677
78678         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
78679         <sys/inttypes.h>.
78680
78681 2006-06-17  Bruno Haible  <bruno@clisp.org>
78682
78683         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
78684         whether errno is declared. Assume <errno.h> declares errno.
78685
78686 2006-06-17  Bruno Haible  <bruno@clisp.org>
78687
78688         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
78689
78690 2006-06-17  Bruno Haible  <bruno@clisp.org>
78691
78692         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
78693         problem on Solaris 2.5.1.
78694
78695 2006-06-16  Eric Blake  <ebb9@byu.net>
78696
78697         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
78698         * lib/unicodeio.c [!defined errno]: Likewise.
78699         * lib/strtol.c [!defined errno]: Likewise.
78700         * lib/strtod.c [!defined errno]: Likewise.
78701
78702 2006-06-15  Eric Blake  <ebb9@byu.net>
78703
78704         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
78705
78706 2006-06-15  Eric Blake  <ebb9@byu.net>
78707
78708         * config/srclist.txt (ssize_t.m4): Lose sync.
78709
78710 2006-06-15  Bruno Haible  <bruno@clisp.org>
78711
78712         * modules/stdint (Files): Include m4/full-header-path.m4,
78713         m4/size_max.m4, m4/wchar_t.m4.
78714         (Makefile.am): Many more substitutions.
78715         * modules/stdint-tests: New file.
78716         * tests/test-stdint.c: New file.
78717
78718 2006-06-15  Bruno Haible  <bruno@clisp.org>
78719
78720         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
78721         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
78722         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
78723         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
78724         gl_CHECK_TYPE_SAME): New macros.
78725
78726 2006-06-15  Bruno Haible  <bruno@clisp.org>
78727
78728         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
78729
78730 2006-06-15  Bruno Haible  <bruno@clisp.org>
78731
78732         * lib/stdint_.h: Rewritten to be fully auto-configured.
78733         Fixes bug on HP-UX/IA64.
78734
78735 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
78736
78737         * lib/getdate.y (__attribute__): Don't define if already defined.
78738         Problem reported by Larry Jones.
78739         * lib/utimens.c (__attribute__): Likewise.
78740
78741 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
78742
78743         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
78744         reported by Andreas Schwab.
78745
78746 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78747             Bruno Haible  <bruno@clisp.org>
78748
78749         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
78750         check for the declaration of strnlen and a run test that exposes the
78751         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
78752         rpl_strndup.
78753
78754 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78755             Bruno Haible  <bruno@clisp.org>
78756
78757         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
78758
78759 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78760
78761         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
78762         compile test, for Tru64 4.0D.
78763
78764 2006-05-28  Karl Berry  <karl@gnu.org>
78765
78766         * config/srclist.txt (printf-args.c): lose sync.
78767
78768 2006-05-26  Martin Lambers  <marlam@marlam.de>
78769
78770         * lib/getpass.c: Updates the test for the native W32 API, and adds
78771         missing includes, thus fixing compilation warnings.
78772
78773 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78774
78775         * lib/exclude.c (exclude_fnmatch): New function.
78776         (excluded_file_name): Call exclude_fnmatch.
78777         * lib/exclude.h (excluded_file_name): New prototype
78778
78779 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
78780
78781         * lib/tempname.c (small_open, large_open): New macros.
78782         (__open, __open64) [!_LIBC]: Remove.
78783         (__gen_tempname): Use small_open and large_open instead of __open
78784         and __open64.  This fixes a portability bug on HP-UX 11.11i
78785         reported by Simon Wing-Tang in
78786         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
78787
78788 2006-05-24  Bruno Haible  <bruno@clisp.org>
78789
78790         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
78791         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
78792         Reported by Thorsten Maerz <torte@netztorte.de> via
78793         Aaron Stone <aaron@serendipity.cx>.
78794
78795 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78796
78797         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
78798         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
78799         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
78800         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
78801         not really conditional on the cache.
78802         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
78803
78804 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78805
78806         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
78807         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
78808         (my_usleep): Don't mishandle maximum value.
78809
78810 2006-05-19  Jim Meyering  <jim@meyering.net>
78811
78812         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
78813
78814 2006-05-17  Bruno Haible  <bruno@clisp.org>
78815
78816         Cygwin portability.
78817         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
78818
78819 2006-05-17  Bruno Haible  <bruno@clisp.org>
78820
78821         * lib/stdint_.h: Fix recognition of Cygwin.
78822
78823 2006-05-15  Bruno Haible  <bruno@clisp.org>
78824
78825         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
78826         on libtool patch by Ralf Wildenhues.
78827
78828 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78829
78830         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
78831         test for C99 conformance; (bool) 0.5 is an integer constant
78832         expression, but (bool) -0.5 is not.  Problem reported by Fedor
78833         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
78834
78835 2006-05-11  Simon Josefsson  <jas@extundo.com>
78836
78837         * m4/xvasprintf.m4: Fix obvious typo.
78838
78839 2006-05-11  Jim Meyering  <jim@meyering.net>
78840
78841         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
78842         James Lemley.
78843
78844 2006-05-10  Simon Josefsson  <jas@extundo.com>
78845
78846         * lib/md4.c: Typo fix, update copyright years.
78847         (K1, K2): Don't use L because it turn computations into 64-bit on
78848         64-bit platforms.
78849
78850 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
78851
78852         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
78853         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
78854         unwanted sign propagation, e.g., on hosts with 64-bit int.
78855         There still are some problems with reeelly weird theoretical hosts
78856         (e.g., 33-bit int) but it's not worth worrying about now.
78857         * lib/sha1.c (rol): Likewise.
78858         (K1, K2, K3, K4): Remove unnecessary L suffix.
78859
78860 2006-05-10  Bruno Haible  <bruno@clisp.org>
78861
78862         * lib/des.c: Cast to avoid warnings.
78863
78864 2006-05-09  Bruno Haible  <bruno@clisp.org>
78865
78866         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
78867         (Depends-on): Depend also on xsize, stdarg.
78868         (configure.ac): Add gl_XVASPRINTF.
78869
78870 2006-05-09  Bruno Haible  <bruno@clisp.org>
78871
78872         * m4/xvasprintf.m4: New file.
78873
78874 2006-05-09  Bruno Haible  <bruno@clisp.org>
78875
78876         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
78877         (EOVERFLOW): Define fallback value.
78878         (xstrcat): New function.
78879         (xvasprintf): Recognize the special case of a string concatenation.
78880
78881 2006-05-08  Eric Blake  <ebb9@byu.net>
78882
78883         * gnulib-tool (func_version): Base copyright year on CVS date.
78884         (func_emit_copyright_notice): New function.
78885         (func_emit_lib_Makefile_am): Use it.
78886         (func_emit_tests_Makefile_am): Likewise.
78887         (func_import): Likewise.
78888
78889 2006-05-08  Bruno Haible  <bruno@clisp.org>
78890
78891         * modules/stdarg: New file.
78892         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
78893
78894 2006-05-08  Bruno Haible  <bruno@clisp.org>
78895
78896         * m4/stdarg.m4: New file, from GNU gettext.
78897
78898 2006-05-08  Bruno Haible  <bruno@clisp.org>
78899
78900         * config/srclist.txt (build-aux/config.rpath): different from latest
78901         release.
78902
78903 2006-05-08  Bruno Haible  <bruno@clisp.org>
78904
78905         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
78906
78907 2006-05-05  Jim Meyering  <jim@meyering.net>
78908
78909         * m4/warning.m4: New file, derived from bison's file by the same name.
78910
78911 2006-05-03  Bruno Haible  <bruno@clisp.org>
78912
78913         * lib/stdint_.h: Shorter URL.
78914         * lib/inttypes.h: Likewise.
78915
78916 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78917
78918         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
78919
78920 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78921
78922         * lib/verify.h: Document the internals better.  Most of this change
78923         was written by Bruno Haible.
78924
78925 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78926
78927         * doc/verify.texi: New file, partly based on a proposal by
78928         Bruno Haible.
78929
78930 2006-05-02  Bruno Haible  <bruno@clisp.org>
78931
78932         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
78933         test from here...
78934         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
78935
78936 2006-04-29  Bruno Haible  <bruno@clisp.org>
78937
78938         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
78939         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
78940
78941 2006-04-29  Bruno Haible  <bruno@clisp.org>
78942
78943         * gnulib-tool: Make --update option actually work.
78944
78945 2006-04-29  Bruno Haible  <bruno@clisp.org>
78946
78947         * doc/gcd.texi: New file.
78948         * doc/gnulib.texi: Include it.
78949
78950 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
78951
78952         * lib/getdate.y (get_date): When adding relative date, start with the
78953         initial time, not with the result of the first mktime call.
78954
78955 2006-04-25  Bruno Haible  <bruno@clisp.org>
78956
78957         * gnulib-tool (func_import): Output the include directives in three
78958         blocks, sorted separately.
78959         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78960
78961 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78962
78963         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
78964         to define main with arguments, for C++.  Reported by Eric Blake.
78965         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
78966         Prefer 'int main ()' to 'int main (void)', for C++.
78967         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
78968         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
78969         for 'main', for C99 and C++.
78970
78971 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78972
78973         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
78974         Don't assume that exit status -1 is valid.
78975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78976         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78977         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
78978         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
78979         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
78980         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
78981         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
78982         functions can be used without declaring them, or that you can
78983         exit with status -1.
78984         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
78985
78986 2006-04-24  Karl Berry  <karl@gnu.org>
78987
78988         * config/srclist.txt (longdouble.m4): sync lost.
78989
78990 2006-04-24  Eric Blake  <ebb9@byu.net>
78991
78992         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
78993
78994 2006-04-24  Bruno Haible  <bruno@clisp.org>
78995
78996         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
78997         poll() implementation in AIX.
78998         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78999
79000 2006-04-24  Bruno Haible  <bruno@clisp.org>
79001
79002         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
79003         assigned exactly once.
79004
79005 2006-04-23  Claudio Fontana  <claudio@gnu.org>
79006             Bruno Haible  <bruno@clisp.org>
79007
79008         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79009         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79010         for AM_CPPFLAGS.
79011
79012 2006-04-23  Bruno Haible  <bruno@clisp.org>
79013
79014         * modules/copy-file: Depend on unistd.
79015         * modules/execute: Likewise.
79016         * modules/fatal-signal: Likewise.
79017         * modules/findprog: Likewise.
79018         * modules/mkdtemp : Likewise.
79019         * modules/pipe: Likewise.
79020         * modules/wait-process: Likewise.
79021
79022 2006-04-23  Bruno Haible  <bruno@clisp.org>
79023
79024         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79025         condition was already detected.
79026         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79027
79028 2006-04-23  Bruno Haible  <bruno@clisp.org>
79029
79030         * lib/copy-file.c: Include <unistd.h> unconditionally.
79031         * lib/execute.c: Likewise.
79032         * lib/fatal-signal.c: Likewise.
79033         * lib/findprog.c: Likewise.
79034         * lib/mkdtemp.c: Likewise.
79035         * lib/pipe.h: Likewise.
79036         * lib/pipe.c: Likewise.
79037         * lib/wait-process.h: Likewise.
79038
79039 2006-04-23  Bruno Haible  <bruno@clisp.org>
79040
79041         * gnulib-tool (func_usage): Fix --import description. Document
79042         --update.
79043         (func_import): Create temporary file in a temporary directory, if
79044         --dry-run is specified. Silence errors from 'grep' when there are no
79045         m4 files in $m4dir.
79046         (func_create_testdir): Silence errors from 'grep' when there are no
79047         m4 files in $m4dir.
79048         Reported by Karl Berry <karl@freefriends.org>.
79049
79050 2006-04-20  Bruno Haible  <bruno@clisp.org>
79051
79052         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79053         one argument, so that the code will be portable to Autoconf 2.60.
79054         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79055         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79056         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79057
79058 2006-04-19  Derek Price  <derek@ximbiot.com>
79059             Eric Blake  <ebb9@byu.net>
79060
79061         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79062         rather than "/full/path.h".  Update comment to match.  Shorten &
79063         generalize m4_translit call via AS_TR_CPP.
79064
79065 2006-04-19  Derek Price  <derek@ximbiot.com>
79066             Eric Blake  <ebb9@byu.net>
79067
79068         * lib/inttypes.h: Correct grammar in comment.
79069
79070 2006-04-18  Derek Price  <derek@ximbiot.com>
79071             Paul Eggert  <eggert@cs.ucla.edu>
79072
79073         * modules/inttypes: New file.
79074         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
79075
79076 2006-04-18  Derek Price  <derek@ximbiot.com>
79077             Paul Eggert  <eggert@cs.ucla.edu>
79078
79079         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
79080         New files.
79081
79082 2006-04-18  Derek Price  <derek@ximbiot.com>
79083             Paul Eggert  <eggert@cs.ucla.edu>
79084
79085         * lib/inttypes.h: New file.
79086         * lib/strtoimax.c: Assume <inttypes.h>.
79087
79088 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
79089
79090         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
79091         isn't mounted.  Problem reported by Kir Kolyshkin.
79092
79093 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79094
79095         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
79096         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
79097         Derek R. Price.
79098         * lib/regex.h (RE_DUP_MAX): Update comment to match current
79099         implementation.
79100
79101 2006-04-12  Eric Blake  <ebb9@byu.net>
79102
79103         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
79104         is now done automatically by the corresponding Autoconf macro.
79105
79106 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
79107
79108         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
79109         time_r.h.
79110
79111 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79112
79113         Merge regex changes from libc, removing some of our
79114         POSIX-conformance changes that were rejected and redoing them in a
79115         less-intrusive way.
79116
79117         * lib/regcomp.c (re_compile_internal, init_dfa):
79118         Length arg is now size_t, not Idx.  All uses changed.
79119         (peek_token): Forward decl now says internal_function.
79120         (__re_error_msgid, __re_error_msgid_idx):
79121         Now static rather than extern with attribute_hidden.
79122         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
79123         For some reason libc prefers K&R style defns for external functions.
79124         (regerror) [!defined _LIBC]: Likewise.
79125         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
79126         (seek_collating_symbol_entry, lookup_collation_sequence_value):
79127         (build_range_exp, build_collating_symbol):
79128         Use K&R-style defn.
79129         (re_compile_fastmap): Use '\0' to memset, not 0.
79130         (utf8_sb_map): Make the calculations more obvious.
79131         (init_dfa, parse_bracket_exp, build_charclass_op):
79132         Call calloc and cast result, as glibc does.
79133         (init_word_char, fetch_token, peek_token, peek_token_bracket):
79134         (build_range_exp, build_collating_symbol):
79135         Now internal functions.
79136
79137         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
79138
79139         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
79140         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
79141         Don't depend on VMS; depend on __VMS instead, for POSIX
79142         namespace cleanness.
79143         (regoff_t): Define to ssize_t, not long int.
79144
79145         Remove the REG_ macros named below.  Instead, make the old names
79146         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
79147         __USE_GNU_REGEX.
79148         (REG_BACKSLASH_ESCAPE_IN_LISTS):
79149         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
79150         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
79151         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
79152         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
79153         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
79154         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
79155         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
79156         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
79157         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
79158         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
79159         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
79160         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
79161         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
79162         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
79163         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
79164         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
79165         (REG_NREGS):
79166         Remove.  All uses replaced by the old RE_* names.
79167         (RE_BACKSLASH_ESCAPE_IN_LISTS):
79168         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
79169         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
79170         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
79171         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
79172         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
79173         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
79174         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
79175         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
79176         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
79177         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
79178         Don't bother having these macros be independent of each others'
79179         values, since they no longer exist in the POSIX name space.
79180
79181         Rename the following member names back to their old names,
79182         unless !__USE_GNU_REGEX.  All uses changed back.
79183         (buffer): Renamed from re_buffer.
79184         (allocated): Renamed from re_allocated.
79185         (used): Renamed from re_used.
79186         (syntax): Renamed from re_syntax.
79187         (fastmap): Renamed from re_fastmap.
79188         (translate): Renamed from re_translate.
79189         (can_be_null): Renamed from re_can_be_null.
79190         (regs_allocated): Renamed from re_regs_allocated.
79191         (fastmap_accurate): Renamed from re_fastmap_accurate.
79192         (no_sub): Renamed from re_no_sub.
79193         (not_bol): Renamed from re_not_bol.
79194         (not_eol): Renamed from re_not_eol.
79195         (newline_anchor): Renamed from re_newline_anchor.
79196         (num_regs): Renamed from rm_num_regs.
79197         (start): Renamed from rm_start.
79198         (end): Renamed from rm_end.
79199
79200         (free_state): Move up a bit.
79201
79202         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
79203         #define to be empty.
79204         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
79205         when that is what is intended.
79206         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
79207         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
79208         (MAX): New macro.
79209         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
79210         All uses changed back to re_malloc, etc.  It's now the caller's
79211         responsibility to check for overflow; all callers changed.
79212         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
79213         (re_x2nrealloc): Remove.
79214         (free_state): Remove decl.
79215
79216         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
79217         (re_set_registers, re_exec):
79218         Use K&R-style defn.
79219
79220         2006-01-31  Roland McGrath  <roland@redhat.com>
79221
79222         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
79223         Reported by Mike Frysinger <vapier@gentoo.org>.
79224
79225         2006-01-15  Andreas Jaeger  <aj@suse.de>
79226
79227         [BZ #1950]
79228         * lib/regex_internal.c (re_string_reconstruct): Adjust for
79229         build_wcs_upper_buffer change.
79230         (build_wcs_upper_buffer): Change return type.
79231
79232         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
79233
79234         * lib/regex_internal.h: Include <stdint.h> if available.
79235
79236         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
79237
79238         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
79239
79240         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
79241
79242         * lib/regcomp.c: Adjust for changed secondary hash function.
79243
79244         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
79245
79246         * lib/regex.h: Pretty printing.
79247         Clean up namespace a bit.
79248
79249         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
79250
79251         * lib/regexec.c (update_cur_sifted_state, check_arrival,
79252         check_arrival_add_next_nodes): Avoid using uninitialized variable.
79253
79254         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79255                     Ulrich Drepper  <drepper@redhat.com>
79256
79257         [BZ #1302]
79258         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
79259         changed.
79260         (bitset_word_t): Renamed from bitset_word.  All uses changed.
79261
79262         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
79263
79264         [BZ #281]
79265         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
79266         * lib/regcomp.c: Remove unnecessary uses of
79267         unsigned RE_TRANSLATE_TYPE.
79268         * lib/regex_internal.h: Likewise.
79269         * lib/regex_internal.c: Likewise.
79270         * lib/regexec.c: Likewise.
79271         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
79272
79273         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
79274
79275         * lib/regexec.c (find_recover_state): Remove unnecessary
79276         initialization.
79277         (transit_state_bkref): Make DFA a const pointer.
79278         (get_subexp): Likewise.
79279         (check_arrival): Likewise.
79280         (update_cur_sifted_state): Likewise.
79281         (re_search_internal): Likewise.
79282         (prune_impossible_nodes): Likewise.
79283         (acquire_init_state_context): Likewise.
79284         (proceed_next_node): Likewise.
79285         (set_regs): Likewise.
79286         (free_fail_stack_return): Likewise.
79287         (check_arrival_expand_ecl): Mark DFA parameter as const.
79288         (check_arrival_expand_ecl_sub): Likewise.
79289         (check_subexp_limits): Likewise.
79290         (sub_epsilon_src_nodes):  Likewise.
79291         (add_epsilon_src_nodes):  Likewise.
79292         (merge_state_array): Likewise.
79293         (update_regs): Likewise.
79294         (build_trtable): Likewise.
79295         (sift_states_backward): Mark MCTX parameter as const.
79296         (build_sifted_states): Likewise.
79297         (update_cur_sifted_state): Likewise.
79298         (sift_states_mkref): Likewise.
79299         (check_arrival_expand_ecl): Mark eclosure as const.
79300         (check_dst_limits_calc_pos_1): Likewise.
79301         * lib/regex_internal.h (re_match_context_t): Make dfa a const
79302         pointer.
79303
79304         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
79305
79306         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
79307         (transit_state_sb): Likewise.
79308         (transit_state_mb): Likewise.
79309         (sift_states_iter_mb): Likewise.
79310         (check_arrival_add_next_nodes): Likewise.
79311         (check_node_accept_bytes): Change first parameter to pointer-to-const.
79312         [_LIBC] (re_search_2_stub): Use mempcpy.
79313
79314         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
79315         mbrtowc for very simple UTF-8 case.
79316
79317         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
79318         a pointer-to-const.
79319         (re_acquire_state_context): Likewise.
79320         * lib/regex_internal.h: Adjust prototypes.
79321
79322         * lib/regex.c: Prevent using C++ compilers.
79323
79324         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
79325         (re_acquire_state_context): Likewise.
79326
79327 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79328
79329         * modules/regex (Depends-on): Add ssize_t.
79330
79331 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79332
79333         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
79334         translation table.
79335
79336 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
79339
79340 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
79341             Bruno Haible  <bruno@clisp.org>
79342
79343         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
79344         <sys/types.h> and <inttypes.h>.
79345
79346 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79347
79348         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
79349         `__error_t_defined', so argp.h will not typedef the former.
79350
79351 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
79352
79353         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
79354         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
79355         glibc names.  Even if glibc is changed to conform to POSIX, the
79356         traditional names will be available anyway, since regex depends on
79357         the extensions module.  Also, fix a longstanding typo in the
79358         implementation of Spencer ERE test #75 from grep 2.3.  Problems
79359         reported by Emanuele Giaquinta.  Also, change sense of cached
79360         variable, so that the message makes sense.
79361
79362 2006-03-24  Simon Josefsson  <jas@extundo.com>
79363
79364         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
79365         including some doc fixes.
79366         (base64_encode_alloc): Fix +1 bug on allocation failures.
79367
79368 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79369
79370         * lib/base64.c (base64_encode): Do not read past end of array with
79371         unsanitized input on systems with CHAR_BIT > 8.
79372
79373 2006-03-24  Eric Blake  <ebb9@byu.net>
79374
79375         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
79376
79377 2006-03-22  Karl Berry  <karl@gnu.org>
79378
79379         * config/srclist.txt (*setenv.[ch]): get from coreutils.
79380         * config/srclistvars.sh (COREUTILS): new var.
79381
79382 2006-03-17  Jim Meyering  <jim@meyering.net>
79383
79384         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
79385         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
79386
79387 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79388
79389         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
79390         no longer needs it.  Instead, check that regoff_t is as least
79391         as wide as ptrdiff_t.
79392
79393         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
79394         so that our regex.h stays compatible with the installed regex.
79395         This is helpful for installers who configure --without-included-regex.
79396         Problem reported by Emanuele Giaquinta.
79397
79398 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79399
79400         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
79401         Typedef to long int, not to off_, as POSIX will likely change
79402         in that direction.
79403
79404 2006-03-15  Eric Blake  <ebb9@byu.net>
79405
79406         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
79407
79408 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79409
79410         * lib/argp-help.c (validate_uparams): Fix typo
79411         * lib/argp-parse.c (argp_default_options): Consistently begin help
79412         messages with a lowercase letter.
79413
79414 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
79415
79416         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
79417         overrun buffers and shouldn't be used (much as gets shouldn't be
79418         used).
79419         * lib/time_r.c (asctime_r, ctime_r): Likewise.
79420
79421 2006-03-08  Simon Josefsson  <jas@extundo.com>
79422
79423         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
79424         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79425
79426 2006-03-08  Simon Josefsson  <jas@extundo.com>
79427
79428         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
79429         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79430
79431 2006-03-08  Simon Josefsson  <jas@extundo.com>
79432
79433         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79434         signal that configure disabled the device.
79435
79436 2006-03-08  Simon Josefsson  <jas@extundo.com>
79437
79438         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79439         languages.
79440
79441 2006-03-07  Simon Josefsson  <jas@extundo.com>
79442
79443         * modules/getopt (Depends-on): Add unistd.
79444
79445         * modules/unistd: New file.
79446
79447 2006-03-07  Simon Josefsson  <jas@extundo.com>
79448
79449         * modules/gc-random: New file.
79450
79451 2006-03-07  Simon Josefsson  <jas@extundo.com>
79452
79453         * m4/unistd_h.m4: New file.
79454
79455 2006-03-07  Simon Josefsson  <jas@extundo.com>
79456
79457         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79458         test to be side-effect free by storing the result in the cache
79459         variable gl_cv_lib_readline, and moving the assignment of
79460         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79461         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79462
79463 2006-03-07  Simon Josefsson  <jas@extundo.com>
79464
79465         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79466         error on missing devices (the functions will return an error).
79467
79468         * m4/gc.m4: Move random stuff to gc-random.m4
79469
79470 2006-03-07  Simon Josefsson  <jas@extundo.com>
79471
79472         * lib/unistd_.h: New file.
79473
79474 2006-03-07  Simon Josefsson  <jas@extundo.com>
79475
79476         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79477
79478 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79479
79480         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79481         Problem reported by Juan Manuel Guerrero.
79482
79483 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79484
79485         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79486         the unistd module.
79487         * lib/getlogin_r.c: Likewise.
79488         * lib/getlogin_r.h: Likewise.
79489         * lib/glob.c: Likewise.
79490         * lib/pagealign_alloc.c: Likewise.
79491         * lib/unistd_.h: Remove; no longer needed.
79492
79493 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79494
79495         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79496         Add unistd.
79497         * modules/c-stack (Depends-on): Add unistd.
79498         * modules/getlogin_r: Likewise.
79499         * modules/glob: Likewise.
79500         * modules/pagealign_alloc: Likewise.
79501         * modules/unistd (Files): Remove lib/unistd_.h.
79502         (EXTRA_DIST): Remove.
79503         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79504         need unistd_.h.
79505         (MOSTLYCLEANFILES): Remove unistd.h-t.
79506
79507 2006-03-03  Simon Josefsson  <jas@extundo.com>
79508
79509         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79510
79511 2006-03-03  Simon Josefsson  <jas@extundo.com>
79512
79513         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79514         libidn and bison.
79515
79516 2006-03-03  Simon Josefsson  <jas@extundo.com>
79517
79518         * build-aux/maint.mk: Add indent target.
79519
79520 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79521
79522         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79523         our replacement poll.h in any case, to avoid a differing
79524         declaration from a system header.  Seen on AIX.
79525
79526 2006-03-01  Simon Josefsson  <jas@extundo.com>
79527
79528         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79529         <kasal@ucw.cz>.
79530
79531 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79532
79533         * modules/gettime (Depends-on): Add extensions module.
79534         * modules/nanosleep (Depends-on): Likewise.
79535         * modules/settime (Depends-on): Likewise.
79536
79537 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79538
79539         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79540         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79541         pedantically.
79542         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79543         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79544
79545         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79546         not "==".  Reported by Ralf Wildenhues.
79547
79548 2006-03-01  Karl Berry  <karl@gnu.org>
79549
79550         * doc/Copyright/request-*: new files, synced from gnuorg.
79551
79552 2006-03-01  Karl Berry  <karl@gnu.org>
79553
79554         * config/srclist.txt (Copyright/*): new entries.
79555
79556 2006-02-28  Simon Josefsson  <jas@extundo.com>
79557
79558         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79559
79560 2006-02-27  Simon Josefsson  <jas@extundo.com>
79561
79562         * lib/base64.h: Indent #define's.  From Jim Meyering
79563         <jim@meyering.net>.
79564
79565 2006-02-27  Jim Meyering  <jim@meyering.net>
79566
79567         Revert the change of 2006-02-24, so these files can continue
79568         to be sync'd from gettext.
79569         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79570         of `config.h'.
79571
79572 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79573
79574         * modules/intprops: New file.
79575         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79576         Add intprops.
79577         * modules/getloadavg (Files): Remove lib/intprops.h.
79578         (Depends-on): Add intprops.
79579         * modules/human: Likewise.
79580         * modules/inttostr: Likewise.
79581         * modules/openat: Likewise.
79582         * modules/sig2str: Likewise.
79583         * modules/userspec: Likewise.
79584         * modules/utimecmp: Likewise.
79585         * modules/xnanosleep: Likewise.
79586         * modules/xstrtol: Likewise.
79587
79588 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79589
79590         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79591         * modules/lock-tests (TESTS): Use $(EXEEXT).
79592         * modules/tls-tests: Likewise.
79593         * modules/argp-tests: Likewise.
79594         (check_PROGRAMS): New var, replacing...
79595         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79596
79597 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79598
79599         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79600         `config.h'.
79601
79602 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
79603
79604         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
79605
79606 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79607
79608         Sync from coreutils.
79609         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
79610         gl_CHDIR_SAFER.
79611
79612 2006-02-22  Jim Meyering  <jim@meyering.net>
79613
79614         Sync from coreutils.
79615         * m4/chdir-safer.m4: New file.
79616
79617 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
79618
79619         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
79620         AT_FDCWD exceeds INT_MAX.
79621         * lib/openat.h (AT_FDCWD): Likewise.
79622
79623 2006-02-17  Eric Blake  <address@hidden>
79624
79625         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
79626
79627 2006-02-16  Simon Josefsson  <jas@extundo.com>
79628
79629         * modules/getaddrinfo (Depends-on): Add sys_socket.
79630
79631 2006-02-15  Simon Josefsson  <jas@extundo.com>
79632
79633         * build-aux/maint.mk: Add dsyntax-check rule.
79634
79635 2006-02-15  Eric Blake  <ebb9@byu.net>
79636
79637         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
79638         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
79639         'present but cannot compile' warnings on cygwin.
79640         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
79641         use ws2tcpip.h if sys/socket.h works.
79642         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79643         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79644
79645 2006-02-14  Simon Josefsson  <jas@extundo.com>
79646
79647         * modules/maintainer-makefile (Files): Rename.
79648
79649         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79650         and (the local) Makefile.cfg to maint-cfg.mk.
79651
79652         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79653         to the latter.
79654
79655         * modules/maintainer-makefile: New module.
79656
79657         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79658         severaly stripped to make it possible to build it up from scratch
79659         with reliable tests.
79660
79661         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79662         fixes to permit overriding the default actions when configure and
79663         makefile are not available.
79664
79665 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
79666
79667         Sync from coreutils.
79668         * modules/lstat (Depends-on): Don't depend on xalloc.
79669         (License): Change from GPL to LGPL, since this is now simply a
79670         replacement for a libc function.
79671
79672 2006-02-14  Jim Meyering  <jim@meyering.net>
79673
79674         Sync from coreutils.
79675
79676         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
79677         failure on deficient systems, and simplify gnulib lgpl dependencies.
79678         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
79679         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
79680
79681         * lib/xalloc-die.c: Remove unused definition of N_.
79682
79683 2006-02-14  Jim Meyering  <jim@meyering.net>
79684
79685         Sync from coreutils.
79686         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
79687         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
79688         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
79689         double-quote uses of that variable, to accommodate the rare case in
79690         which getmntent is available in none of the libraries checked.  This
79691         happens at least on FreeBSD 5.0.
79692
79693 2006-02-13  Simon Josefsson  <jas@extundo.com>
79694
79695         * gnulib-tool (Usage): Fix --import, from
79696         karl@freefriends.org (Karl Berry).
79697
79698 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79699
79700         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
79701
79702 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
79703
79704         * lib/argp-namefrob.h: Restore changes accidentally lost during the
79705         "autoupdate" on 2005-12-12.
79706
79707 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79708
79709         * modules/closeout (Depends-on): Remove atexit.
79710
79711 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79712
79713         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
79714         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
79715
79716 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
79717
79718         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
79719         __EXTENSIONS__ if this causes compilation to fail.  Problem
79720         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
79721         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
79722
79723 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
79724
79725         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
79726         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
79727         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
79728         All uses changed.
79729
79730 2006-01-26  Simon Josefsson  <jas@extundo.com>
79731
79732         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
79733         prototype is visible on mingw32.
79734
79735         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
79736         for mingw32.
79737
79738         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
79739         mingw32).
79740
79741 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
79742
79743         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
79744         attempt to open for write; this always fails, at least on POSIX
79745         hosts.  This reinstates the 2006-01-09 change, which was
79746         inadvertently removed.
79747
79748 2006-01-26  Bruno Haible  <bruno@clisp.org>
79749
79750         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
79751         Reported by Paul Eggert.
79752
79753 2006-01-26  Bruno Haible  <bruno@clisp.org>
79754             Paul Eggert  <eggert@cs.ucla.edu>
79755
79756         * lib/stdbool_.h (_Bool)
79757         [(! (defined __cplusplus || defined __BEOS__)
79758           && !defined __GNUC__
79759           && !(defined __HP_cc || defined __xlc__
79760                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
79761                || defined __sgi))]:
79762         #define to signed char in these cases too; this simplifies
79763         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
79764         etc., separately) and makes it more conservative.
79765
79766 2006-01-25  Simon Josefsson  <jas@extundo.com>
79767
79768         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
79769         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
79770         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
79771
79772 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79773
79774         * lib/argp-namefrob.h: Bugfix. Remove stray #
79775
79776 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79777
79778         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
79779         so that we test the test.
79780         Check for yet another HP-UX cc bug involving *bool |= bool.
79781
79782 2006-01-25  Karl Berry  <karl@gnu.org>
79783
79784         * config/srclist.txt (vasnprintf.c): sync lost.
79785
79786 2006-01-25  Jim Meyering  <jim@meyering.net>
79787
79788         Sync from the stable (b5) branch of coreutils:
79789
79790         * lib/fts.c (fts_children): Don't let close() clobber errno from
79791         failed fchdir().
79792
79793         * lib/fts.c (fts_stat): When following a symlink-to-directory,
79794         don't necessarily interpret stat-fails+lstat-succeeds as indicating
79795         a dangling symlink.  That can also happen at least for ELOOP.
79796         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
79797         FYI, this bug predates the inclusion of fts.c in coreutils.
79798
79799         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
79800         in their own block, so pre-c99 compilers don't object.
79801
79802         Avoid the double-free (first in fts_read, second in fts_close) that
79803         would occur when an `active' directory is made inaccessible (e.g.,
79804         via chmod a-x) during a traversal.
79805         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79806         before returning.  Reproduce this failure by
79807         mkdir -p a/b; cd a; chmod a-x . b
79808         Reported by Stavros Passas.
79809
79810 2006-01-25  Jim Meyering  <jim@meyering.net>
79811
79812         * lib/fileblocks.c: Remove more useless parentheses.
79813         * lib/readutmp.h: Likewise.
79814
79815 2006-01-25  Bruno Haible  <bruno@clisp.org>
79816
79817         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
79818         warnings.
79819         Reported by Paul Eggert.
79820
79821 2006-01-25  Bruno Haible  <bruno@clisp.org>
79822
79823         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
79824         rid of a trap command. For Solaris sh.
79825         Reported by Mark D. Baushke <mdb@gnu.org>.
79826
79827 2006-01-24  Simon Josefsson  <jas@extundo.com>
79828
79829         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
79830         Bruno.
79831
79832 2006-01-24  Karl Berry  <karl@gnu.org>
79833
79834         * config/srclist.txt (argp-namefrob.h): sync lost.
79835
79836 2006-01-24  Jim Meyering  <jim@meyering.net>
79837
79838         * modules/openat (Files): Add lib/intprops.h.
79839         From Mark D. Baushke.
79840
79841 2006-01-24  Jim Meyering  <jim@meyering.net>
79842
79843         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
79844         Reported by Mark D. Baushke.
79845
79846 2006-01-24  Jim Meyering  <jim@meyering.net>
79847
79848         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
79849
79850 2006-01-24  Bruno Haible  <bruno@clisp.org>
79851
79852         * modules/strnlen (Maintainer): Change from glibc to all.
79853
79854 2006-01-24  Bruno Haible  <bruno@clisp.org>
79855
79856         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
79857         Patch by Paul Eggert.
79858
79859 2006-01-24  Bruno Haible  <bruno@clisp.org>
79860
79861         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
79862         already has it.
79863         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
79864         2005-11-26.
79865
79866         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
79867         'signed char' to avoid problems with the built-in _Bool type.
79868         Reported by Paul Eggert on 2005-11-26.
79869
79870 2006-01-24  Bruno Haible  <bruno@clisp.org>
79871
79872         * gnulib-tool (func_import): Avoid constructing complicated sed
79873         expressions inside backquote.
79874         Report and solution by Mark D. Baushke <mdb@gnu.org>.
79875
79876 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
79877
79878         These changes imported from libc.
79879         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
79880         test and two separate function calls.
79881         * lib/strndup.c (__strndup): Add libc_hidden_def.
79882
79883 2006-01-23  Simon Josefsson  <jas@extundo.com>
79884
79885         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
79886         Remove the test_*_SOURCES variable: automake infers it by default.
79887         * modules/tls-tests: Likewise.
79888
79889 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79890
79891         Work around porting bugs reported by Dieter in
79892         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
79893         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
79894         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
79895         Include "getopt.h" first, to check interface.
79896         (getenv): Declare only if defined HAVE_DECL_GETENV &&
79897         !HAVE_DECL_GETENV.
79898         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
79899         (__strndup): Revert to K&R-style function dfns, the glibc style.
79900         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
79901         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
79902         Include strnlen.h first, to get prototype properly.
79903         (strnlen): Renamed from __strnlen.
79904         Remove weak alias.
79905
79906 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79907
79908         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
79909
79910 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79911
79912         * config/srclist.txt: Adjust to reflect glibc reorganization.
79913         This affects only comments.
79914
79915 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79916
79917          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
79918          Reported by Bruce Korb <bkorb@gnu.org>.
79919
79920 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
79921
79922         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
79923         to pacify gcc -Wswitch-default.
79924
79925 2006-01-22  Bruno Haible  <bruno@clisp.org>
79926
79927         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
79928         temporary buffer for sprintf, take into account the precision also
79929         for 'd', 'i', 'u', 'o', 'x', 'X'.
79930
79931 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79932
79933         * modules/argp-tests: New module
79934         * tests/test-argp.c: New file
79935         * tests/test-argp-2.sh: New file
79936
79937 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79938
79939         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
79940         (__argp_base_name): Removed
79941         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
79942         typo.
79943         (__argp_base_name): Provide macro definition or extern declaration
79944         depending on the configuration
79945
79946 2006-01-20  Simon Josefsson  <jas@extundo.com>
79947
79948         * modules/inet_ntop (Depends-on): Depend on sys_socket.
79949
79950 2006-01-20  Simon Josefsson  <jas@extundo.com>
79951
79952         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
79953
79954 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79955
79956         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
79957         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
79958         Suggested by Bruno Haible.
79959
79960 2006-01-20  Karl Berry  <karl@gnu.org>
79961
79962         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
79963         until changes propagate, I guess.
79964
79965 2006-01-19  Simon Josefsson  <jas@extundo.com>
79966
79967         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
79968
79969 2006-01-19  Simon Josefsson  <jas@extundo.com>
79970
79971         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
79972
79973 2006-01-19  Simon Josefsson  <jas@extundo.com>
79974
79975         * gnulib-tool: Set check_PROGRAMS.
79976
79977         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79978         modules/des-tests, modules/gc-arcfour-tests,
79979         modules/gc-arctwo-tests, modules/gc-des-tests,
79980         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79981         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79982         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79983         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79984         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79985         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
79986         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
79987         test_*_SOURCES.
79988
79989 2006-01-18  Simon Josefsson  <jas@extundo.com>
79990
79991         * modules/socklen (Depends-on): Depend on sys_socket.
79992
79993 2006-01-18  Simon Josefsson  <jas@extundo.com>
79994
79995         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79996         modules/des-tests, modules/gc-arcfour-tests,
79997         modules/gc-arctwo-tests, modules/gc-des-tests,
79998         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79999         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80000         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80001         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80002         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80003         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
80004         $(EXEEXT) to automake TESTS variable, for mingw32.
80005
80006 2006-01-17  Simon Josefsson  <jas@extundo.com>
80007
80008         * modules/socklen (Include): Need sys/socket.h.
80009
80010 2006-01-17  Bruno Haible  <bruno@clisp.org>
80011
80012         * modules/ssize_t (Include): Add <sys/types.h>.
80013
80014 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80015
80016         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80017         it's not portable and it doesn't work with cross-compiles.
80018         Problem reported by Bruno Haible.  Fix missing-$ typo in
80019         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80020         -zignore from being used with Sun's C compiler.
80021
80022 2006-01-12  Simon Josefsson  <jas@extundo.com>
80023
80024         * lib/base64.c: Fix warning, reported by Bruno Haible
80025         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80026
80027 2006-01-12  Bruno Haible  <bruno@clisp.org>
80028
80029         * modules/ldd: New file.
80030         * build-aux/ldd.sh.in: New file.
80031         * MODULES.html.sh (Support for building libraries and executables): Add
80032         ldd.
80033
80034 2006-01-12  Bruno Haible  <bruno@clisp.org>
80035
80036         * m4/ldd.m4: New file.
80037
80038 2006-01-12  Bruno Haible  <bruno@clisp.org>
80039
80040         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80041         endless loop while replacing $auxdir with build-aux.
80042
80043 2006-01-11  Simon Josefsson  <jas@extundo.com>
80044
80045         * lib/stdint_.h (SIZE_MAX): Add missing (.
80046
80047 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80048
80049         Sync from coreutils.
80050         * lib/md5.c: Fix commentary typos.
80051         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80052         * lib/md5.h (__attribute__): Remove; unused.
80053         * lib/sha1.c: Fix commentary to match md5 better.
80054         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80055         so that we don't need to worry about alignment.  All uses changed.
80056         This merges the 2005-10-28 md5 change into sha1.
80057
80058 2006-01-11  Jim Meyering  <jim@meyering.net>
80059
80060         Sync from coreutils.
80061         * lib/md5.c (OP): Fix spacing.
80062
80063 2006-01-11  Bruno Haible  <bruno@clisp.org>
80064
80065         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80066         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
80067         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
80068
80069 2006-01-11  Bruno Haible  <bruno@clisp.org>
80070
80071         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80072         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
80073         the "early" section as well.
80074
80075 2006-01-11  Bruno Haible  <bruno@clisp.org>
80076
80077         Avoid "ar: no archive members specified" error on MacOS X.
80078         * gnulib-tool (func_modules_add_dummy): New function.
80079         (func_import, func_create_testdir): Invoke it.
80080
80081 2006-01-11  Bruno Haible  <bruno@clisp.org>
80082
80083         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
80084         with $auxdir in AC_CONFIG_FILES statements.
80085
80086 2006-01-11  Bruno Haible  <bruno@clisp.org>
80087
80088         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80089         Initialize also noinst_HEADERS to empty.
80090
80091 2006-01-11  Bruno Haible  <bruno@clisp.org>
80092
80093         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
80094         variables.
80095         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
80096         autoreconf.
80097
80098 2006-01-11  Bruno Haible  <bruno@clisp.org>
80099
80100         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
80101         overridable by the user.
80102         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80103
80104 2006-01-10  Simon Josefsson  <jas@extundo.com>
80105
80106         * modules/sys_socket: New file.
80107
80108 2006-01-10  Simon Josefsson  <jas@extundo.com>
80109
80110         * m4/sys_socket_h.m4: New file.
80111
80112 2006-01-10  Simon Josefsson  <jas@extundo.com>
80113
80114         * lib/socket_.h: New file.
80115
80116 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80117
80118         * modules/readutmp (Maintainer): Add myself.
80119
80120 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80121
80122         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
80123         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
80124         People who are still concerned with buggy memcmp implementations
80125         can invoke gl_FUNC_MEMCMP themselves.
80126
80127 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80128
80129         * lib/regex_internal.h (BITSET_WORD_BITS):
80130         Work around a bug in 64-bit PGC (before version 6.1-2), where the
80131         preprocessor mishandles large unsigned values as if they were signed.
80132         Problem reported by Claudio Fontana in
80133         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
80134
80135 2006-01-10  Jim Meyering  <jim@meyering.net>
80136
80137         Avoid the double-free (first in fts_read, second in fts_close) that
80138         would occur when an `active' directory is made inaccessible (e.g.,
80139         via chmod a-x) during a traversal.
80140         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80141         before returning.  Reproduce this failure by
80142         mkdir -p a/b; cd a; chmod a-x . b
80143         Reported by Stavros Passas.
80144
80145         Sync from coreutils.
80146         * lib/sha1.c: Tweak grammar in a comment.
80147
80148 2006-01-10  Jim Meyering  <jim@meyering.net>
80149
80150         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
80151         Patch by Joerg Sonnenberger.
80152
80153 2006-01-10  Bruno Haible  <bruno@clisp.org>
80154
80155         * modules/readutmp: Depend on module free.
80156         * modules/strtok_r: Depend on module restrict.
80157
80158 2006-01-10  Bruno Haible  <bruno@clisp.org>
80159
80160         * modules/gettext (configure.ac): Add an invocation of
80161         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
80162
80163 2006-01-10  Bruno Haible  <bruno@clisp.org>
80164
80165         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
80166         Reported by Werner Lemberg <wl@gnu.org>.
80167
80168 2006-01-10  Bruno Haible  <bruno@clisp.org>
80169
80170         * lib/localcharset.c: Update from GNU gettext.
80171
80172 2006-01-10  Bruno Haible  <bruno@clisp.org>
80173
80174         * lib/argp.h (__const): Remove macro. Use const instead.
80175         * lib/argp-fmtstream.h (__const): Likewise.
80176         * lib/glob_.h (__const): Remove macro.
80177         * lib/glob-libc.h: Use const instead of __const.
80178
80179 2006-01-10  Bruno Haible  <bruno@clisp.org>
80180
80181         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
80182         variable.
80183         Needed to avoid an automake error regarding the 'gettext' module.
80184
80185 2006-01-09  Simon Josefsson  <jas@extundo.com>
80186
80187         * modules/inet_ntop (Depends-on): Add restrict.
80188
80189 2006-01-09  Simon Josefsson  <jas@extundo.com>
80190
80191         * modules/gc-rijndael-tests (License): Put under LGPL.
80192
80193         * modules/gc-des-tests (License): Likewise.
80194
80195         * modules/gc-arcfour-tests (License): Likewise.
80196
80197         * modules/gc-arctwo-tests (License): Likewise.
80198
80199         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
80200
80201         * modules/gc-hmac-sha1-tests (Files): Likewise.
80202
80203         * modules/gc-hmac-md5-tests (License): Likewise.
80204
80205         * modules/gc-sha1-tests (License): Likewise.
80206
80207         * modules/gc-md5-tests (License): Likewise.
80208
80209         * modules/gc-md4-tests (License): Likewise.
80210
80211         * modules/gc-md2-tests (License): Likewise.
80212
80213         * modules/gc-tests (License): Likewise.
80214
80215         * modules/des-tests (License): Likewise.
80216
80217         * modules/md4-tests (License): Likewise.
80218
80219         * modules/md2-tests (License): Likewise.
80220
80221 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80222
80223         Sync from coreutils:
80224
80225         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
80226         * modules/lib-ignore: New file.
80227         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
80228         chdir-safer.m4, lchmod.m4.
80229         * modules/openat: Add mkdirat.c, openat-priv.h.
80230
80231 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80232
80233         Sync from coreutils.
80234         * m4/lib-ignore.m4: New file.
80235         * m4/lchmod.m4: New file.
80236
80237 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80238
80239         Sync from coreutils.
80240         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
80241         for write access: POSIX says that must fail.
80242         * lib/fts.c (diropen): Likewise.
80243         * lib/save-cwd.c (save_cwd): Likewise.
80244         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
80245         well, for minor improvements on hosts that lack O_DIRECTORY.
80246         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
80247         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
80248         Fall back on chown if open failed with EACCES.
80249
80250         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
80251         Report an error at compile-time if only a 1-second nominal clock
80252         resolution is found.
80253
80254         * lib/lchmod.h: New file.
80255         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
80256         (make_dir_parents): Use lchown rather than chown, and
80257         lchmod rather than chmod.
80258
80259         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
80260         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
80261         "proc" reported by n0dalus.
80262
80263         * lib/mountlist.c: Include <limits.h>.
80264         (dev_from_mount_options)
80265         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
80266         New function.  It no longer assumes "dev=" has the System V meaning
80267         on Linux (since it doesn't).  It also parses "dev=" more carefully.
80268         (read_file_system_list)
80269         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
80270         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
80271         dev= in that case.
80272
80273         * lib/posixtm.h (PDS_PRE_2000): New macro.
80274         * lib/posixtm.c (year): Arg is now syntax_bits rather than
80275         allow_century.  All usages changed.  Reject dates outside the range
80276         1969-1999 if PDS_PRE_2000 is used.
80277
80278 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80279
80280         Sync from coreutils.
80281         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
80282         (Time of day items): Mention the possibility of leap seconds.
80283         Problem reported by Dr. David Alan Gilbert.
80284
80285 2006-01-09  Jim Meyering  <jim@meyering.net>
80286
80287         Sync from coreutils.
80288
80289         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
80290
80291         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
80292
80293         * lib/modechange.c (mode_compile): Reject an invalid mode string
80294         that starts with an octal digit.  From Andreas Gruenbacher.
80295
80296         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
80297         and dup to open_safer and dup_safer, respectively.
80298         (openat_permissive): Fix typo in comment.
80299
80300         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
80301         "gettext.h"; either no longer needed or are guaranteed by openat.h.
80302         (_): Remove; no longer needed.
80303         (openat): Renamed from rpl_openat; no need for rpl_openat
80304         since openat.h renames openat for us.
80305         Replace most of the body with a call to openat_permissive,
80306         to avoid duplicate code.
80307         Port to (probably hypothetical) environments were mode_t is
80308         wider than int.
80309         (openat_permissive): Require mode arg, so that we can check
80310         types better.  Put it just after flags.  Change cwd failure
80311         indicator from pointer-to-bool to pointer-to-errno-value.
80312         All callers changed.
80313         Invoke openat_save_fail and/or openat_restore_fail if
80314         cwd_errno is null, so that openat can call us.
80315         (openat_permissive, fdopendir, fstatat, unlinkat):
80316         Simplify errno handling to avoid some duplicate code,
80317         as it's OK to set errno on success.
80318         * lib/openat.h: Revamp code so that function macros depend on
80319         __OPENAT_PREFIX only, not also on AT_FDCWD.
80320         (openat_ro): Remove.  Caller changed to use openat_permissive.
80321         (openat_permissive): Now a macro, if not a function.
80322         (openat_restore_fail, openat_save_fail): Now always functions,
80323         since mkdirat needs them even if __OPENAT_PREFIX is defined.
80324
80325         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
80326         and openat.c.
80327         * lib/mkdirat.c: Include openat-priv.h.
80328         Remove definitions of macros defined therein.
80329         * lib/openat.c: Likewise.
80330
80331         * lib/mkdirat.c (mkdirat): New file and function.
80332         * lib/openat.h (mkdirat): Declare.
80333
80334         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
80335
80336         * lib/openat.h (openat_permissive): Declare.
80337         (openat_ro): Define.
80338
80339         * lib/openat.c (EXPECTED_ERRNO): New macro.
80340         (openat_permissive): New function -- used in remove.c rewrite.
80341         (all functions): Set errno just before returning, only if there
80342         was an actual failure.
80343         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
80344
80345         Emulate openat-family functions using Linux's procfs, if possible.
80346         Idea and some code based on Ulrich Drepper's glibc changes.
80347
80348         * lib/openat.c: (BUILD_PROC_NAME): New macro.
80349         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
80350         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
80351         before falling back on save_cwd and restore_cwd.
80352         (fdopendir, fstatat, unlinkat): Likewise.
80353
80354         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
80355         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
80356
80357         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
80358         as second argument to va_arg.  Otherwise, some versions of gcc
80359         warn that `if this code is reached, the program will abort'.
80360
80361 2006-01-09  Jim Meyering  <jim@meyering.net>
80362
80363         Sync from coreutils.
80364         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
80365         Require openat-priv.h.
80366
80367 2006-01-09  Bruno Haible  <bruno@clisp.org>
80368
80369         * modules/strnlen (Include): Use strnlen.h.
80370
80371 2006-01-09  Bruno Haible  <bruno@clisp.org>
80372
80373         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
80374
80375 2006-01-09  Bruno Haible  <bruno@clisp.org>
80376
80377         * lib/sysexit_.h (EX_OK): New macro.
80378         Suggested by Martin Lambers <marlam@marlam.de>.
80379
80380 2006-01-09  Bruno Haible  <bruno@clisp.org>
80381
80382         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
80383         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
80384
80385 2006-01-09  Bruno Haible  <bruno@clisp.org>
80386
80387         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
80388         numbers.
80389
80390 2006-01-09  Bruno Haible  <bruno@clisp.org>
80391
80392         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
80393         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
80394         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
80395         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
80396
80397 2006-01-09  Bruno Haible  <bruno@clisp.org>
80398
80399         * build-aux/javacomp.sh.in: New file, moved from lib/.
80400         * modules/javacomp-script (Files): Update.
80401         (configure.ac): Add AC_CONFIG_FILES invocation.
80402         (EXTRA_DIST): Remove variable.
80403
80404         * build-aux/javaexec.sh.in: New file, moved from lib/.
80405         * modules/javaexec (Files): Update.
80406         (configure.ac): Add AC_CONFIG_FILES invocation.
80407         (EXTRA_DIST): Remove javaexec.sh.in.
80408
80409         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
80410         * modules/csharpcomp-script (Files): Update.
80411         (configure.ac): Add AC_CONFIG_FILES invocation.
80412         (EXTRA_DIST): Remove variable.
80413
80414         * build-aux/csharpexec.sh.in: New file, moved from lib/.
80415         * modules/csharpexec (Files): Update.
80416         (configure.ac): Add AC_CONFIG_FILES invocation.
80417         (EXTRA_DIST): Remove csharpexec.sh.in.
80418
80419 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80420
80421         Sync from coreutils.
80422
80423         Add POSIX ACL support
80424         * lib/acl.h (copy_acl, set_acl): Add declarations.
80425         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
80426         systems other than Linux.
80427         (chmod_or_fchmod): New function: use fchmod when possible,
80428         and chmod otherwise.
80429         (file_has_acl): Add a POSIX ACL implementation, with a
80430         Linux-specific subcase.
80431         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80432         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80433         acls are unsupported.
80434         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80435         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80436         are unsupported.
80437
80438 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80439
80440         Sync from coreutils.
80441         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80442
80443 2006-01-07  Bruno Haible  <bruno@clisp.org>
80444
80445         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80446         gl_EARLY.
80447
80448 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80449
80450         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80451         Problem reported for Mingw by Mark Junker.
80452
80453 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80454
80455         * README: Gnulib normally doesn't generate a tarball.
80456
80457 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80458
80459         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80460         long int, not int, for nanosecond counts, so that people who are
80461         used to POSIX struct timespec won't be surprised.  Reported by Jim
80462         Meyering.
80463
80464 2005-12-28  Bruno Haible  <bruno@clisp.org>
80465
80466         * build-aux/config.rpath: Update from GNU gettext.
80467
80468 2005-12-16  Jim Meyering  <jim@meyering.net>
80469
80470         * modules/fprintftime: New module.
80471         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80472
80473 2005-12-16  Jim Meyering  <jim@meyering.net>
80474
80475         * m4/fprintftime.m4: New file.
80476
80477 2005-12-16  Jim Meyering  <jim@meyering.net>
80478
80479         * lib/fprintftime.c, lib/fprintftime.h: New files.
80480
80481 2005-12-15  Simon Josefsson  <jas@extundo.com>
80482
80483         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80484         new m4/socklen.m4.
80485
80486 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80487
80488         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80489         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80490
80491 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80492
80493         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80494         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80495         struct uparams is valid. Fall back to the default values if it is
80496         not.
80497
80498 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80499
80500         * modules/argp (Files): Add argp-pin.c
80501         (Depends-on): dirname
80502         (lib_SOURCES): Add argp-pin.c
80503
80504 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80505
80506         * m4/argp.m4:  Check if program_invocation_name and
80507         program_invocation_short_name are declared and define appropriate
80508         macros if they are not.
80509
80510 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80511
80512         * lib/argp-help.c (__argp_base_name): New function
80513         (__argp_short_program_name): Rewrite using __argp_base_name
80514         * lib/argp-namefrob.h: Define program_invocation_name and
80515         program_invocation_short_name if requested
80516         (__argp_base_name): Add prototype
80517         * lib/argp-parse.c (argp_def): Use gettext wrappers
80518         (argp_default_parser): Use __argp_base_name
80519         * lib/argp-pin.c: New file. Defines program_invocation_name and
80520         program_invocation_short_name on systems that lack them.
80521
80522 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80523
80524         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80525         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80526         porting problem reported by Georg Schwarz in
80527         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80528
80529 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80530
80531         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80532         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80533         porting problem reported by Georg Schwarz in
80534         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80535
80536 2005-12-05  Bruno Haible  <bruno@clisp.org>
80537
80538         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80539         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80540         Reported by Mark Junker <mjscod@gmx.de>.
80541
80542 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80543
80544         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80545         Use implementation from Albert Chin, with some
80546         comments/corrections by Stepan Kasal and myself.
80547
80548 2005-12-02  Bruno Haible  <bruno@clisp.org>
80549
80550         * gnulib-tool (func_import): Accept GPLed build tool modules when
80551         --lgpl is given.
80552         * modules/csharpcomp-script: New file.
80553         * modules/csharpcomp: Depend on it.
80554         * modules/javacomp-script: New file.
80555         * modules/javacomp: Depend on it.
80556         Suggested by Simon Josefsson.
80557
80558 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80559
80560         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80561         statement, to work around an HP-UX 10.20 compiler bug reported by
80562         Peter O'Gorman.
80563
80564 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80565
80566         * modules/savedir (Depends-on): Add openat.
80567
80568 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80569
80570         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80571         (uintmax_t) [defined uintmax_t]: Do not declare.
80572         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80573         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80574         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80575         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80576         sake of portability to weird hosts that C allows (though we don't
80577         know of any practical examples).
80578
80579         * lib/savedir.h (fdsavedir): New decl.
80580         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80581         contains most of the former guts of savedir.
80582         (savedir): Use savedirstream.
80583         Include "openat.h".
80584
80585 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80586
80587         * modules/obstack (Files): Add m4/ulonglong.m4.
80588         Problem reported by Davide Angelocola.
80589
80590 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80591
80592         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80593         coreutils no longer futzes with rounding modes.
80594
80595 2005-11-14  Jim Meyering  <jim@meyering.net>
80596
80597         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80598         replacement of mkstemp.
80599
80600 2005-11-10  Simon Josefsson  <jas@extundo.com>
80601
80602         * lib/readline.c: Remove EOL.
80603
80604 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80605
80606         * modules/gethrxtime (Depends-on): Add gettime.
80607
80608 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80609
80610         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
80611         or gettimeofday; no longer needed.
80612
80613 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80614
80615         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
80616         time business.
80617         (gethrxtime) [! (HAVE_NANOUPTIME
80618         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
80619         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
80620         our own approximation.
80621
80622 2005-11-08  Eric Blake  <ebb9@byu.net>
80623
80624         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80625
80626 2005-11-08  Eric Blake  <ebb9@byu.net>
80627
80628         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80629
80630 2005-11-04  Bruno Haible  <bruno@clisp.org>
80631
80632         * gnulib-tool: Implement --update mode.
80633
80634 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80635
80636         Fix porting problem reported by Theodoros V. Kalamatianos.
80637         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
80638         Don't assume that futimes failing means we must fail.
80639
80640 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80641
80642         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80643         variables to suggest the intended function of the PATH_MAX check.
80644
80645 2005-10-30  Kean Johnston  <jkj@sco.com>
80646
80647         Trivial changes to support SCO systems.
80648         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80649         as PATH_MAX.
80650         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80651         where __ptr is null when no I/O is pending.
80652
80653 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80654
80655         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80656         leave errno alone.  Problem reported by Dmitry V. Levin.
80657
80658 2005-10-28  Simon Josefsson  <jas@extundo.com>
80659
80660         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80661         Test more.
80662
80663         * tests/test-gc-md2.c, tests/test-md2.c: New files.
80664
80665         * modules/md2, modules/md2-tests: New files.
80666
80667 2005-10-28  Simon Josefsson  <jas@extundo.com>
80668
80669         * m4/inet_ntop.m4: More tests.
80670
80671         * m4/gc-md2.m4, md2.m4: New file.
80672
80673 2005-10-28  Simon Josefsson  <jas@extundo.com>
80674
80675         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
80676         "restrict" keywords, as per POSIX.  Protect the function
80677         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
80678         Don't use K&R prototypes.  Check the sprintf return values.
80679         Re-define EAFNOSUPPORT if not present.  Indent.
80680
80681         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
80682         suggested by Bruno Haible <bruno@clisp.org>.
80683
80684         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
80685
80686         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
80687
80688         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
80689         libgcrypt).
80690
80691         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
80692
80693         * lib/md2.h, lib/md2.c: New files.
80694
80695 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
80696
80697         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
80698         errno alone.  Problem reported by Frederic Jolliton.
80699
80700 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
80701
80702         * modules/verify (License): Change from GPL to LGPL.  This is a
80703         tiny module and there are apparently near-equivalents that are
80704         under the BSD license.
80705
80706 2005-10-24  Simon Josefsson  <jas@extundo.com>
80707
80708         * modules/sha1: Relicense to LGPL.
80709
80710 2005-10-24  Simon Josefsson  <jas@extundo.com>
80711
80712         * lib/md4.h: Shrink buffer size, now that we changed the type.
80713
80714 2005-10-23  Simon Josefsson  <jas@extundo.com>
80715
80716         * gnulib-tool (func_import): Fix --tests-base.
80717
80718 2005-10-22  Simon Josefsson  <jas@extundo.com>
80719
80720         * modules/arcfour (Depends-on): Need stdint.
80721
80722 2005-10-22  Simon Josefsson  <jas@extundo.com>
80723
80724         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
80725         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
80726
80727 2005-10-22  Simon Josefsson  <jas@extundo.com>
80728
80729         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
80730         suggested by Bruno Haible <bruno@clisp.org>.
80731
80732 2005-10-22  Simon Josefsson  <jas@extundo.com>
80733
80734         * lib/crc.h: Include stddef.h, for size_t.
80735
80736 2005-10-22  Simon Josefsson  <jas@extundo.com>
80737
80738         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
80739         arcfour_context struct (simplify test vector testing in GNU
80740         Shishi).
80741
80742 2005-10-21  Simon Josefsson  <jas@extundo.com>
80743
80744         * modules/des, modules/des-tests: New files.
80745
80746         * modules/gc-des, modules/gc-des-tests: New files.
80747
80748         * tests/test-des.c, tests/test-gc-des.c: New file.
80749
80750 2005-10-21  Simon Josefsson  <jas@extundo.com>
80751
80752         * modules/arctwo, modules/arctwo-tests: New files.
80753
80754         * tests/test-arctwo.c: New file.
80755
80756         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
80757
80758         * tests/test-gc-arctwo.c: New file.
80759
80760 2005-10-21  Simon Josefsson  <jas@extundo.com>
80761
80762         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
80763         Bruno Haible <bruno@clisp.org>.
80764
80765         * m4/gc-des.m4: New file.
80766
80767 2005-10-21  Simon Josefsson  <jas@extundo.com>
80768
80769         * m4/arctwo.m4: New file.
80770
80771         * m4/gc-arctwo.m4: New file.
80772
80773 2005-10-21  Simon Josefsson  <jas@extundo.com>
80774
80775         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
80776         block.
80777
80778 2005-10-21  Simon Josefsson  <jas@extundo.com>
80779
80780         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
80781         <bruno@clisp.org>.
80782
80783         * lib/hmac-sha1.c (hmac_sha1): Likewise.
80784
80785         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
80786         Bruno Haible <bruno@clisp.org>.
80787
80788         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
80789         <bruno@clisp.org>.
80790
80791 2005-10-21  Simon Josefsson  <jas@extundo.com>
80792
80793         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
80794
80795 2005-10-21  Simon Josefsson  <jas@extundo.com>
80796
80797         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
80798
80799 2005-10-21  Simon Josefsson  <jas@extundo.com>
80800
80801         * lib/des.h, lib/des.c: New files.
80802
80803         * lib/gc-gnulib.c: Support DES.c
80804
80805 2005-10-21  Simon Josefsson  <jas@extundo.com>
80806
80807         * lib/arctwo.h, lib/arctwo.c: New files.
80808
80809         * lib/gc-gnulib.c: Support ARCTWO.
80810
80811 2005-10-21  Simon Josefsson  <jas@extundo.com>
80812
80813         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
80814         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80815
80816 2005-10-21  Simon Josefsson  <jas@extundo.com>
80817
80818         * gnulib-tool (func_import, func_create_testdir): Define automake
80819         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
80820         Makefile.am snippet),
80821         suggested by Bruno Haible <bruno@clisp.org>.
80822
80823         * modules/gc (Makefile.am): Use it.
80824
80825 2005-10-21  Bruno Haible  <bruno@clisp.org>
80826
80827         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
80828         patch.
80829
80830 2005-10-19  Simon Josefsson  <jas@extundo.com>
80831
80832         * tests/test-gc-rijndael.c: New file.
80833
80834         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
80835
80836 2005-10-19  Simon Josefsson  <jas@extundo.com>
80837
80838         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
80839         interface too.
80840
80841 2005-10-19  Simon Josefsson  <jas@extundo.com>
80842
80843         * tests/test-gc-arcfour.c: New file.
80844
80845         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
80846
80847 2005-10-19  Simon Josefsson  <jas@extundo.com>
80848
80849         * modules/gc-md4, modules/gc-md4-tests: New file.
80850
80851         * tests/test-gc-md4.c: New file.
80852
80853 2005-10-19  Simon Josefsson  <jas@extundo.com>
80854
80855         * m4/gc-md4.m4: New file.
80856
80857 2005-10-19  Simon Josefsson  <jas@extundo.com>
80858
80859         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
80860         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
80861         <kasal@ucw.cz>.
80862
80863 2005-10-19  Simon Josefsson  <jas@extundo.com>
80864
80865         * m4/gc-arcfour.m4: New file.
80866
80867         * m4/gc-rijndael.m4: New file.
80868
80869 2005-10-19  Simon Josefsson  <jas@extundo.com>
80870
80871         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
80872
80873 2005-10-19  Simon Josefsson  <jas@extundo.com>
80874
80875         * lib/gc-gnulib.c: Support ARCFOUR.
80876
80877 2005-10-19  Simon Josefsson  <jas@extundo.com>
80878
80879         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
80880         support.
80881
80882         * lib/gc.h: Add ECB enum type.
80883
80884         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
80885
80886 2005-10-18  Simon Josefsson  <jas@extundo.com>
80887
80888         * tests/test-md5.c: New file.
80889
80890         * modules/md5-tests: New file.
80891
80892 2005-10-18  Simon Josefsson  <jas@extundo.com>
80893
80894         * tests/test-md4.c: New file.
80895
80896         * modules/md4, modules/md4-tests: New files.
80897
80898 2005-10-18  Simon Josefsson  <jas@extundo.com>
80899
80900         * m4/md4.m4: New file.
80901
80902 2005-10-18  Simon Josefsson  <jas@extundo.com>
80903
80904         * lib/md4.h, lib/md4.c: New files, based on md5.?.
80905
80906 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
80907
80908         * gnulib-tool (func_create_testdir): Omit the second check whether
80909         BUILT_SOURCES in nonempty.
80910
80911 2005-10-17  Simon Josefsson  <jas@extundo.com>
80912
80913         * tests/test-rijndael.c: New file.
80914
80915 2005-10-17  Simon Josefsson  <jas@extundo.com>
80916
80917         * modules/sha1: Depend on stdint instead of md5.
80918
80919         * modules/md5: Depend on stdint, remove uint32_t.
80920
80921 2005-10-17  Simon Josefsson  <jas@extundo.com>
80922
80923         * modules/gc-sha1-tests: New file.
80924
80925         * tests/test-gc-sha1.c: New file.
80926
80927 2005-10-17  Simon Josefsson  <jas@extundo.com>
80928
80929         * m4/md5.m4: Remove call to uint32_t.m4.
80930
80931 2005-10-17  Simon Josefsson  <jas@extundo.com>
80932
80933         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
80934
80935         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
80936         md5.h.
80937
80938         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
80939
80940         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
80941
80942 2005-10-17  Simon Josefsson  <jas@extundo.com>
80943
80944         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
80945
80946 2005-10-17  Simon Josefsson  <jas@extundo.com>
80947
80948         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
80949
80950 2005-10-17  Simon Josefsson  <jas@extundo.com>
80951
80952         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
80953
80954         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
80955
80956 2005-10-17  Bruno Haible  <bruno@clisp.org>
80957
80958         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
80959         that it can also be used in a test.
80960
80961 2005-10-16  Bruno Haible  <bruno@clisp.org>
80962
80963         * gnulib-tool (func_emit_tests_Makefile_am): Also define
80964         TESTS_ENVIRONMENT, so that individual tests can augment it.
80965
80966         * gnulib-tool (func_create_testdir): Use an intermediate target for
80967         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
80968         macros, like $(ALLOCA_H), which cannot be passed through the command
80969         line.
80970
80971 2005-10-15  Simon Josefsson  <jas@extundo.com>
80972
80973         * modules/rijndael-tests: New file.
80974
80975         * modules/rijndael: New file.
80976
80977 2005-10-15  Simon Josefsson  <jas@extundo.com>
80978
80979         * m4/rijndael.m4: New file.
80980
80981 2005-10-15  Simon Josefsson  <jas@extundo.com>
80982
80983         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
80984
80985         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
80986
80987 2005-10-14  Simon Josefsson  <jas@extundo.com>
80988
80989         * tests/test-arcfour.c: New file.
80990
80991         * modules/arcfour, modules/arcfour-tests: New files.
80992
80993 2005-10-14  Simon Josefsson  <jas@extundo.com>
80994
80995         * m4/arcfour.m4: New file.
80996
80997 2005-10-14  Simon Josefsson  <jas@extundo.com>
80998
80999         * lib/arcfour.h, lib/arcfour.c: New files.
81000
81001 2005-10-14  Roland McGrath  <roland@redhat.com>
81002
81003         Import from libc.  [BZ #1331]
81004         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
81005         macro argument.
81006         Reported by Matej Vela <vela@debian.org>.
81007
81008 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81009
81010         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81011         include <wchar.h>; no longer needed.
81012
81013 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81014
81015         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81016
81017 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81018         and  Ulrich Drepper  <drepper@redhat.com>
81019
81020         Import from libc.
81021         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81022         instead of inline stream orientation test and two separate
81023         function calls.  Pay no attention to USE_IN_LIBIO.
81024
81025 2005-10-13  Simon Josefsson  <jas@extundo.com>
81026
81027         * modules/gc-hmac-md5-tests: New file.
81028
81029         * tests/test-gc-hmac-sha1.c: New file.
81030
81031         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81032
81033         * modules/gc-hmac-md5-tests: New file.
81034
81035         * tests/test-gc-md5.c: New file.
81036
81037         * modules/gc-md5-tests: New file.
81038
81039 2005-10-13  Simon Josefsson  <jas@extundo.com>
81040
81041         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81042         Move memory allocation outside of loop.
81043
81044 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81045
81046         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81047         intermediate directory is in a read-only file system.  Problem
81048         reported by Eric Blake.
81049
81050 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81051
81052         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81053
81054 2005-10-12  Simon Josefsson  <jas@extundo.com>
81055
81056         * tests/test-hmac-sha1.c: New file.
81057
81058         * modules/hmac-sha1-tests: New file.
81059
81060         * modules/hmac-sha1: New file.
81061
81062 2005-10-12  Simon Josefsson  <jas@extundo.com>
81063
81064         * modules/gc-sha1: New file.
81065
81066 2005-10-12  Simon Josefsson  <jas@extundo.com>
81067
81068         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
81069
81070         * tests/test-gc-pbkdf2-sha1.c: New file.
81071
81072 2005-10-12  Simon Josefsson  <jas@extundo.com>
81073
81074         * modules/gc-md5, modules/gc-hmac-md5: New files.
81075
81076         * modules/gc (Files): Remove md5, memxor and hmac files.
81077
81078 2005-10-12  Simon Josefsson  <jas@extundo.com>
81079
81080         * m4/gc-pbkdf2-sha1.m4: New file.
81081
81082         * m4/gc-hmac-sha1.m4: New file.
81083
81084         * m4/gc-sha1: New file.
81085
81086         * m4/hmac-sha1.m4: New file.
81087
81088 2005-10-12  Simon Josefsson  <jas@extundo.com>
81089
81090         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
81091
81092         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
81093
81094 2005-10-12  Simon Josefsson  <jas@extundo.com>
81095
81096         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
81097         suggested by Bruno Haible <bruno@clisp.org>.
81098
81099 2005-10-12  Simon Josefsson  <jas@extundo.com>
81100
81101         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
81102
81103 2005-10-12  Simon Josefsson  <jas@extundo.com>
81104
81105         * lib/gc-pbkdf2-sha1.c: New file.
81106
81107         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
81108
81109 2005-10-12  Simon Josefsson  <jas@extundo.com>
81110
81111         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
81112
81113         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
81114
81115 2005-10-12  Simon Josefsson  <jas@extundo.com>
81116
81117         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
81118         GC_USE_HMAC_MD5, respectively.
81119
81120         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
81121         (gc_md5): Fix typo.
81122
81123         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
81124
81125         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
81126
81127         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
81128
81129 2005-10-12  Bruno Haible  <bruno@clisp.org>
81130
81131         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
81132         Reported by Stepan Kasal <kasal@ucw.cz>.
81133
81134 2005-10-11  Simon Josefsson  <jas@extundo.com>
81135
81136         * tests/test-crc.c: New file.
81137
81138         * modules/crc, modules/crc-tests: New files.
81139
81140 2005-10-11  Simon Josefsson  <jas@extundo.com>
81141
81142         * m4/crc.m4: New file.
81143
81144 2005-10-11  Simon Josefsson  <jas@extundo.com>
81145
81146         * lib/gc.h: Add gc_hash and gc_hash_buffer.
81147
81148         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
81149
81150         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
81151
81152 2005-10-11  Simon Josefsson  <jas@extundo.com>
81153
81154         * lib/crc.h, lib/crc.c: New files.
81155
81156         * lib/gc.h (gc_hash_buffer): Add doc.
81157
81158 2005-10-11  Bruno Haible  <bruno@clisp.org>
81159
81160         * modules/c-strcasestr: New file.
81161         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
81162
81163 2005-10-11  Bruno Haible  <bruno@clisp.org>
81164
81165         * modules/c-strcase: New file.
81166         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
81167
81168 2005-10-11  Bruno Haible  <bruno@clisp.org>
81169
81170         * lib/strcasecmp.c: Include limits.h.
81171         (strcasecmp): Avoid integer overflow on exotic platforms.
81172         * lib/strncasecmp.c: Include limits.h.
81173         (strncasecmp): Avoid integer overflow on exotic platforms.
81174         Reported by Paul Eggert.
81175
81176 2005-10-11  Bruno Haible  <bruno@clisp.org>
81177
81178         * lib/c-strcasestr.h: New file, from GNU gettext.
81179         * lib/c-strcasestr.c: New file, from GNU gettext.
81180
81181 2005-10-11  Bruno Haible  <bruno@clisp.org>
81182
81183         * lib/c-strcase.h: New file, from GNU gettext.
81184         * lib/c-strcasecmp.c: New file, from GNU gettext.
81185         * lib/c-strncasecmp.c: New file, from GNU gettext.
81186
81187 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81188
81189         * modules/mempcpy (License): GPL -> LGPL.
81190         * modules/strchrnul (License): Likewise.
81191         * modules/sysexits (License): Likewise.
81192
81193 2005-10-08  Simon Josefsson  <jas@extundo.com>
81194
81195         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
81196
81197 2005-10-07  Simon Josefsson  <jas@extundo.com>
81198
81199         * m4/memxor.m4: Remove gl_C_RESTRICT call.
81200
81201 2005-10-06  Simon Josefsson  <jas@extundo.com>
81202
81203         * tests/test-hmac-md5.c: New file.
81204
81205         * modules/hmac-md5-tests: New file.
81206
81207         * modules/hmac-md5: New file.
81208
81209 2005-10-06  Simon Josefsson  <jas@extundo.com>
81210
81211         * m4/hmac-md5.m4: New file.
81212
81213         * m4/memxor.m4: Require gl_C_RESTRICT.
81214
81215 2005-10-06  Simon Josefsson  <jas@extundo.com>
81216
81217         * lib/memxor.c (memxor): Avoid casts and warnings.
81218
81219 2005-10-06  Simon Josefsson  <jas@extundo.com>
81220
81221         * lib/hmac-md5.c: New file.
81222
81223         * lib/hmac.h: New file.
81224
81225 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81226
81227         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
81228         promotes to int, not unsigned int, to catch the AIX 5.3
81229         compiler bug.
81230
81231 2005-10-05  Simon Josefsson  <jas@extundo.com>
81232
81233         * modules/memxor: New file.
81234
81235         * modules/iconv (Files): Move config.rpath to havelib, it is used
81236         there.
81237
81238         * modules/havelib (Files): Add config.rpath.
81239
81240 2005-10-05  Simon Josefsson  <jas@extundo.com>
81241
81242         * m4/memxor.m4: New file.
81243
81244 2005-10-05  Simon Josefsson  <jas@extundo.com>
81245
81246         * lib/memxor.c (memxor): Fix compiler error.
81247
81248         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
81249         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
81250
81251         * lib/memxor.h, lib/memxor.c: New files.
81252
81253         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
81254         we assume all systems have it, suggested by Jim Meyering
81255         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
81256         any systems lack sys/socket.h; mingw32 is known to lack it, but we
81257         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
81258         same reasons.
81259
81260 2005-10-05  Simon Josefsson  <jas@extundo.com>
81261
81262         * config/srclist.txt: Add glibc bug 1423 for md5.h.
81263
81264 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
81265
81266         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
81267         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
81268         needed, since the source code now assumes these .h files.
81269
81270 2005-10-05  Derek Price  <derek@ximbiot.com>
81271
81272         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
81273
81274 2005-10-05  Bruno Haible  <bruno@clisp.org>
81275
81276         * modules/stdint (License): Change to LGPL.
81277
81278 2005-10-04  Simon Josefsson  <jas@extundo.com>
81279
81280         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
81281         D. Baushke" <mdb@gnu.org>.
81282
81283 2005-10-04  Bruno Haible  <bruno@clisp.org>
81284
81285         * lib/verify.h (verify_true): Provide alternative definition for C++.
81286
81287 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
81288
81289         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
81290         (SSIZE_MAX): New macro, if not already defined.
81291         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
81292         than 2 GiB.
81293
81294 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81295
81296         Sync from coreutils.
81297         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
81298         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
81299         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
81300         ULLONG_MAX doesn't work with 2.7.2.1.
81301
81302 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81303
81304         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
81305         From Ben Pfaff.
81306
81307         * modules/exclude (Depends-on): Depend on verify.
81308         * modules/strtoimax (Depends-on): Likewise.
81309         * modules/utimecmp (Depends-on): Likewise.
81310
81311 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81312
81313         * lib/exclude.c: Include verify.h.
81314         (verify): Remove.  All callers changed to use verify.h's version.
81315         * lib/strtoimax.c: Likewise.
81316         * lib/utimecmp.c: Likewis.e
81317
81318         Sync from coreutils.
81319         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
81320         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
81321         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
81322         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
81323         bother returning ENOSYS if settimeofday or stime fails; just let
81324         them return whatever errno they want to return.
81325         * lib/utimens.c: Include unistd.h, for dup2.
81326         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
81327         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
81328
81329 2005-10-02  Jim Meyering  <jim@meyering.net>
81330
81331         Sync from coreutils.
81332         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
81333         from glibc-2.2.5 that fails for read-only files.
81334
81335 2005-10-02  Jim Meyering  <jim@meyering.net>
81336
81337         Sync from coreutils.
81338         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
81339         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
81340         `#if HAVE_CONFIG_H'.
81341         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
81342         Remove AT_FDCWD test.
81343         Do not consume the fd unless successful.
81344         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
81345         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
81346         block, so that we don't even try to compile it if settimeofday is
81347         available.  This works around a compilation failure on OSF1 V5.1,
81348         due to stime requiring a `long int*' while tv_sec is `int'.
81349
81350 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
81351
81352         Sync from coreutils.
81353         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
81354         against `yes', rather than just testing for nonempty.
81355
81356 2005-10-01  Simon Josefsson  <jas@extundo.com>
81357
81358         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
81359         and Darwin.
81360
81361         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
81362         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
81363         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
81364         freeaddrinfo and gai_strerror are declared by the POSIX headers.
81365         Check if struct addrinfo is declared.
81366
81367 2005-10-01  Simon Josefsson  <jas@extundo.com>
81368
81369         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
81370         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
81371         AI_* and EAI_* definitions.  Protect function declarations.
81372
81373 2005-10-01  Jim Meyering  <jim@meyering.net>
81374
81375         Sync from coreutils.
81376
81377         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
81378         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
81379         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
81380         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81381         in the inet and nsl libraries.  Required on Solaris 5.7.
81382
81383 2005-10-01  Jim Meyering  <jim@meyering.net>
81384
81385         Sync from coreutils.
81386         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81387         in the inet and nsl libraries.  Required on Solaris 5.7.
81388
81389 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
81390
81391         * lib/getdelim.c (getdelim): Remove unused variables.
81392
81393 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
81394
81395         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
81396         so that the code works even with ancient cpp.  Portability problem
81397         with GCC 2.7.2.1 reported by Thomas M.Ott.
81398
81399 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
81400
81401         * modules/regex (Depends-on): Add strcase.
81402
81403         * modules/gethostname (Licence): Change from GPL to LGPL, since
81404         gethostname.c is a trivial implementation of a standard library
81405         function.
81406         * modules/poll (License): Change from GPL to LGPL, since it's
81407         derived from LGPL code.
81408
81409 2005-09-27  Jim Meyering  <jim@meyering.net>
81410
81411         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
81412         HAVE_CONFIG_H.
81413
81414         * lib/intprops.h (signed_type_or_expr__): Define.
81415         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
81416         for unsigned types.
81417
81418 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
81419
81420         * lib/verify.h (verify_expr): Remove, replacing with:
81421         (verify_true): New macro that returns true instead of void.
81422         (verify_type__): Remove.
81423         (verify): Use verify_true rather than verify_type__.
81424
81425 2005-09-26  Bruno Haible  <bruno@clisp.org>
81426
81427         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
81428         is necessary.
81429         (lib_SOURCES): Remove mbchar.c.
81430         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81431         (Files): Add m4/mbrtowc.m4.
81432         * modules/mbiter: Likewise.
81433         * modules/mbuiter: Likewise.
81434
81435 2005-09-26  Bruno Haible  <bruno@clisp.org>
81436
81437         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81438         compile mbchar.c if they are not both present.
81439         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81440         * m4/mbiter.m4 (gl_MBITER): Likewise.
81441         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81442         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81443         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81444
81445 2005-09-25  Jim Meyering  <jim@meyering.net>
81446
81447         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81448         also uses socklen_t.
81449
81450 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81451
81452         * lib/utimens.c (ENOSYS): Define if not already defined.
81453         (futimens): Support having a null PATH if the file descriptor
81454         is nonnegative.
81455
81456         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81457         Remove.
81458         (__attribute): Define to empty unless GCC 3.1 or later.
81459         This works around a core dump on OpenBSD 3.4, which has GCC
81460         2.95.3, which dumps core when given __attribute__(()).  It also
81461         simplifies other tests, since we really don't want to bother with
81462         worrying about which ancient version of GCC supported what.
81463         Original problem reported by Yoann Vandoorselaere, with part of
81464         the fix suggested by Derek Price.
81465
81466 2005-09-24  Jim Meyering  <jim@meyering.net>
81467
81468         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81469         so we can once again use a positive bitfield width of 1 -- now we
81470         don't have to explain why we were using a bitfield width of 2.
81471
81472 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81473
81474         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81475         and similarly for the other external symbols.  Problem reported
81476         by James Gallager.
81477
81478         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81479         bug reported by Jim Meyering.
81480
81481         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81482         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81483         not needed, since socklen is a prerequisite module.
81484
81485 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81486
81487         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81488         Problem reported by Eric Blake.
81489         (getaddrinfo): Initialize se so that it's not garbage.
81490         Redo internal storage allocation so that it doesn't make unportable
81491         assumptions about alignment.
81492         Fix a memory leak.
81493
81494         * lib/utimens.c (futimens): Use futimesat if available.
81495         Prefer it to futimes since it doesn't have the futimes bug.
81496
81497         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81498         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81499         Instead, declare a function that returns a pointer to an array,
81500         and use verify_type__ to declare the size of the array.
81501         Problem and germ of a solution reported by Bruno Haible.
81502         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81503         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81504
81505 2005-09-23  Jim Meyering  <jim@meyering.net>
81506
81507         Sync from coreutils.
81508         Correct build failure (socklen_t not defined) on at least
81509         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81510         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81511
81512 2005-09-23  Jim Meyering  <jim@meyering.net>
81513
81514         * modules/getaddrinfo (Depends-on): Add socklen.
81515
81516 2005-09-23  Bruno Haible  <bruno@clisp.org>
81517
81518         * tests/test-verify.c: New file.
81519
81520 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81521
81522         Sync from coreutils.
81523
81524         * modules/argmatch (Depends-on): Add verify.
81525         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81526         unistd-safer.
81527         * modules/save-cwd (Depends-on): Likewise.
81528
81529         * modules/openat (Files): Add lib/openat-die.c.
81530         (Depends-on): Remove error, exitfail.
81531         Add dirname.
81532
81533         * modules/verify: New file.
81534         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81535         with "verify" module.
81536
81537 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81538
81539         Sync from coreutils.
81540
81541         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81542         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81543         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81544         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81545         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81546         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81547         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81548         Don't bother checking for string.h, stdlib.h, unistd.h.
81549         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81550         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81551         module's job.
81552         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81553         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81554
81555         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81556         (gl_GETDATE): Use it.
81557
81558         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81559
81560 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81561
81562         Sync from coreutils.
81563
81564         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81565         stat-time.h.
81566         * lib/argmatch.h: Include verify.h
81567         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81568         (ARGMATCH_ASSERT): Remove; unused.
81569         * lib/canonicalize.c: Assume STDC_HEADERS.
81570         * lib/exclude.c: Include "strcase.h".
81571         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81572         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81573         and stdio-safer.h.
81574         (getusershell): Call fopen, not fopen_safer.
81575         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81576         Do not include unistd-safer.h.
81577         (save_cwd): Don't call fd_safer; no longer needed
81578         now that we include fcntl--.h.
81579
81580         * lib/getdate.y (relative_time): New type.
81581         (RELATIVE_TIME_0): New constant.
81582         (parser_control): Use relative_time instead of doing it ourselves.
81583         (%union): Add new relative_time rel member.
81584         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81585         Now typeless.
81586         (relunit, relunit_snumber): Now of type rel.
81587         (zone, rel, relunit, get_date): Adjust to above changes.
81588
81589         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81590         Do not include unistd-safer.h.
81591         (getloadavg): Don't call fd_safer; no longer needed
81592         now that we include fcntl--.h.
81593
81594         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81595         (make_dir_parents): Treat ENOSYS like EEXIST.
81596
81597         Improve quality of diagnostics on restore_cwd failure.
81598         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81599         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81600         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
81601         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
81602         each time through the loop.  Do not diagnose restore_cwd failure;
81603         that is the caller's job (and perhaps the caller does not care).
81604
81605         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
81606         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
81607         If the file already exists but is not a directory, don't bother
81608         to try to make its parents.
81609         Close potential file descriptor leak if we can't chdir("/") (!).
81610         Don't always return true if chdir($PWD) fails; return true only
81611         if the requested action was done successfully (except for the
81612         chdir($PWD)).
81613         Don't log final directory unless we actually made it.
81614         Refactor to avoid duplicate code to fix up permissions.
81615         Don't attempt to fix up parent permissions if chdir($PWD) fails.
81616
81617         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
81618         to make it a bit faster and (I hope) clearer.
81619         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
81620         Fix bug in formats like %2N.
81621
81622         * lib/verify.h: New file.
81623
81624 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         Sync from coreutils.
81627         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
81628
81629 2005-09-22  Jim Meyering  <jim@meyering.net>
81630
81631         Sync from coreutils.
81632
81633         * m4/lstat.m4 (gl_FUNC_LSTAT):
81634         Use AC_LIBSOURCES to require lstat.c and lstat.h.
81635         Remove obsolete comment.
81636         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
81637         * m4/xstrtod.m4: Likewise.
81638
81639         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
81640
81641 2005-09-22  Jim Meyering  <jim@meyering.net>
81642
81643         Sync from coreutils.
81644
81645         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81646
81647         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81648         the .tm_year member, since otherwise gcc-4.0 would now warn about
81649         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81650
81651         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81652         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81653
81654         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81655         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81656         when run in a time zone for which daylight savings time is in effect
81657         for the starting date.
81658
81659         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81660         stop us from restricting permissions of just-created absolute-named
81661         directories.
81662         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
81663         to restore initial working directory.
81664         * lib/mkdir-p.c (make_dir_parents): New parameter:
81665         different_working_dir, to tell caller if/when we change the working
81666         directory and are unable to return to the initial one.
81667         * lib/mkdir-p.h (make_dir_parents): Update prototype.
81668         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
81669         `return false'.  This fixes a bug introduced on 2004-07-30.
81670
81671         * lib/openat.c (fdopendir): Be sure to close the supplied
81672         file descriptor before returning.  This makes our replacement
81673         implementation a little closer to Solaris's, where fdopendir
81674         ties the file descriptor to the returned DIR* pointer.
81675         * lib/openat.c (unlinkat): New function.
81676         * lib/openat.h (unlinkat): Add prototype.
81677         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
81678         (openat_restore_fail): Rename from openat_restore_die.
81679         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
81680
81681         Provide an alternative to exiting immediately upon save_cwd or
81682         restore_cwd failure.  Now, an application can arrange e.g.,
81683         to perform a longjump in that case.
81684         * lib/openat.c: Include dirname.h.
81685         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
81686         (rpl_openat, fdopendir, fstatat): Call openat_save_die
81687         and openat_restore_die rather than calling error directly.
81688         Don't include "error.h" or "exitfail.h"; they're no longer needed.
81689
81690         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
81691         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
81692         define.
81693
81694         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
81695         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
81696                             int utc, int nanoseconds);
81697         Background:
81698         date should not have to allocate a megabyte of virtual memory to
81699         handle a format argument like +%1048575T.  When implemented with
81700         strftime, it must allocate such a buffer, use strftime to fill it
81701         in, print it, then free it.
81702         With fprintftime, it simply prints everything and exits.
81703         With no need for memory allocation, that's one fewer way to fail.
81704         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
81705         optional field width, not before, so we accept %9:z, not %:9z.
81706         (my_strftime): Be sure to use L_('x') for literals.
81707
81708         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
81709         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
81710         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
81711         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
81712         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
81713         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
81714         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
81715         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
81716         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
81717         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
81718         * lib/xgethostname.c, lib/xreadlink.c:
81719         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
81720
81721         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
81722         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
81723         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
81724         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81725         and don't include <sys/file.h>).
81726
81727 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
81728
81729         Sync from coreutils.
81730
81731         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
81732         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
81733         [!LDAV_DONE]: Avoid unused variable warning.
81734
81735 2005-09-21  Bruno Haible  <bruno@clisp.org>
81736
81737         * lib/unicodeio.h (unicode_to_mb): New declaration.
81738
81739 2005-09-20  Derek Price  <derek@ximbiot.com>
81740
81741         * lib/getaddrinfo.c: Don't include <netdb.h> included from
81742         getaddrinfo.h.
81743
81744 2005-09-20  Bruno Haible  <bruno@clisp.org>
81745
81746         * gnulib-tool: Remove trailing slashes from the values specified for
81747         --source-base, --m4-base, --tests-base, --aux-dir.
81748         Suggested by Simon Josefsson <jas@extundo.com>.
81749
81750 2005-09-20  Bruno Haible  <bruno@clisp.org>
81751
81752         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
81753         func_modules_to_filelist, func_import, func_create_testdir): Make all
81754         sorting results locale-independent, so that gnulib-cache.m4 doesn't
81755         change when gnulib-tool is invoked in a different locale.
81756
81757 2005-09-19  Simon Josefsson  <jas@extundo.com>
81758
81759         * m4/socklen.m4: Fix typo.
81760
81761 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81762
81763         Use a consistent style for including <config.h>.
81764         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
81765         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
81766         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
81767         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
81768         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
81769         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
81770         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
81771         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
81772         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
81773         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
81774         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
81775         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
81776         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
81777         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
81778         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
81779         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
81780         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
81781         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
81782         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
81783         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
81784         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
81785         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
81786         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
81787         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
81788         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
81789         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
81790         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
81791         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
81792         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
81793         lib/xstrtoumax.c, lib/yesno.c:
81794         Standardize inclusion of config.h.
81795         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
81796         lib/inttostr.h:  Removed inclusion of config.h from header files.
81797         * lib/inttostr.c:  Adjusted in-tree users.
81798         * lib/timespec.h: Remove superfluous warning to include config.h.
81799         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
81800         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
81801         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
81802         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
81803         config.h with HAVE_CONFIG_H.
81804
81805 2005-09-19  Jim Meyering  <jim@meyering.net>
81806
81807         * modules/pathmax (License): Change to LGPL.
81808
81809 2005-09-19  Derek Price  <derek@ximbiot.com>
81810
81811         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
81812
81813 2005-09-19  Bruno Haible  <bruno@clisp.org>
81814
81815         * gnulib-tool (import): Provide default for --tests-base.
81816
81817 2005-09-19  Bruno Haible  <bruno@clisp.org>
81818
81819         * doc/quote.texi: New file, extracted from gnulib.texi.
81820         * doc/ctime.texi: New file, extracted from gnulib.texi.
81821         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
81822         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
81823         * doc/gnulib.texi: Include them.
81824
81825 2005-09-18  Bruno Haible  <bruno@clisp.org>
81826
81827         Portability fix.
81828         * gnulib-tool (func_readlink): New function.
81829         (func_ln_if_changed): Use it.
81830
81831 2005-09-18  Bruno Haible  <bruno@clisp.org>
81832
81833         * gnulib-tool: Support --with-tests also with --import.
81834         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
81835         (func_import): Use variables $testsbase and $inctests. Emit a
81836         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
81837         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
81838         SUBDIRS += $testsdir.
81839         (func_create_testdir): Update.
81840
81841 2005-09-18  Bruno Haible  <bruno@clisp.org>
81842
81843         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
81844         instead of $dry_run.
81845         (func_cp_if_changed, func_mv_if_changed): Remove functions.
81846         (func_ln_if_changed): Don't handle dry-run here.
81847         (func_import): In dry-run mode, detect more precisely which actions
81848         would be performed, and don't use "...ing" verbs.
81849
81850 2005-09-18  Bruno Haible  <bruno@clisp.org>
81851
81852         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
81853         (func_import): Use join on two temporary files instead of three nested
81854         loops, in order to determine which files are new or old.
81855
81856 2005-09-18  Bruno Haible  <bruno@clisp.org>
81857
81858         * gnulib-tool (func_import): Comment out code that spits out the
81859         new files with --dry-run.
81860
81861 2005-09-18  Bruno Haible  <bruno@clisp.org>
81862
81863         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
81864
81865 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81866
81867         * lib/stat-time.h: New file.
81868         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
81869         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
81870         in a different way.
81871         (timespec_cmp): New function.
81872         * lib/utimecmp.c: Include stat-time.h.
81873         (SYSCALL_RESOLUTION): Depend on whether various struct stat
81874         members exist, not on the obsolescent ST_MTIM_NSEC.
81875         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
81876
81877 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81878
81879         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
81880
81881 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81882
81883         * MODULES.html.sh (File system functions): Add stat-time.
81884         * modules/stat-time: New file.
81885         * modules/timespec (Files): Remove m4/st_mtim.m4; this
81886         is now done in a different way, by the stat-time module.
81887         * modules/utimecmp (Depends-on): Add stat-time.
81888
81889 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
81890
81891         * m4/st_mtim.m4: Remove.  Superseded by...
81892         * m4/stat-time.m4: New file.
81893         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
81894         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
81895
81896 2005-09-15  Derek Price  <derek@ximbiot.com>
81897
81898         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
81899
81900 2005-09-15  Derek Price  <derek@ximbiot.com>
81901
81902         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
81903         * lib/regex_internal.c: Ditto, using this...
81904         (__GNUC_PREREQ): ...new macro.
81905         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
81906         using...
81907         (__GNUC_PREREQ): ...this new macro.
81908
81909         * lib/strstr.h: Include string.h. Define strstr as a macro here.
81910
81911 2005-09-15  Derek Price  <derek@ximbiot.com>
81912             Paul Eggert  <eggert@cs.ucla.edu>
81913
81914         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
81915         changes, consolidating in...
81916         * lib/regex_internal.h: ...this file.
81917
81918 2005-09-13  Jim Meyering  <jim@meyering.net>
81919
81920         * lib/canon-host.c: Filter through gnu indent and reword comments
81921         slightly.
81922         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
81923
81924 2005-09-13  Derek Price  <derek@ximbiot.com>
81925
81926         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
81927         failure.
81928         Reported by Jim Meyering  <jim@meyering.net>.
81929
81930 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81931
81932         * lib/base64.c: Typo.
81933         (base64_encode): Put b64str in initialized data section.
81934
81935 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
81936
81937         Merge glibc and coreutils changes into gnulib, plus a few
81938         extra fixes.
81939         * lib/md5.c: Use #error rather than a string.
81940         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
81941         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
81942         (__attribute__): Define to empty for non recent-GCC.
81943         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
81944         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
81945         Renamed from their non-__ counterparts, with new macros replacing
81946         them if not _LIBC.  Add __THROW attribute.
81947         (rol): Remove.
81948         (struct md5_ctx): Align buffer if using GCC.
81949         * lib/sha1.h (struct sha1_ctx): Likewise.
81950         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
81951         The old name was backwards.
81952         (NOTSWAP): Remove; not used.
81953         (rol): New macro, moved here from md5.h.
81954         (sha1_process_block): Remove a FIXME that doesn't make sense.
81955
81956 2005-09-12  Derek Price  <derek@ximbiot.com>
81957
81958         Return usable errors from canon-host.
81959         * lib/canon-host.h: New file.
81960         * lib/canon-host.c (canon_host): Wrap...
81961         (canon_host_r): ...this new function, which now relies exclusively on
81962         getaddrinfo.
81963         (ch_strerror): New function.
81964         (last_cherror): New global.
81965         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
81966         interface.
81967         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
81968         void *.
81969         (freeaddrinfo): Free ai->ai_canonname when set.
81970
81971 2005-09-12  Derek Price  <derek@ximbiot.com>
81972
81973         Make canon-host require getaddrinfo.
81974         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
81975         AC_LIBSOURCE canon-host.h.  Call...
81976         (gl_PREREQ_CANON_HOST): ...this new function, which requires
81977         gl_GETADDRINFO.
81978         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
81979
81980 2005-09-12  Derek Price  <derek@ximbiot.com>
81981
81982         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
81983         LGPL.
81984         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
81985
81986 2005-09-12  Derek Price  <derek@ximbiot.com>
81987
81988         * lib/gai_strerror.c: Include config.h when available.  Include
81989         getaddrinfo.h before other headers to test interface.
81990         Reported by Larry Jones <lawrence.jones@ugs.com>.
81991
81992 2005-09-12  Derek Price  <derek@ximbiot.com>
81993             Paul Eggert  <eggert@cs.ucla.edu>
81994
81995         * modules/glob (Files): Add glob-libc.h.
81996
81997 2005-09-12  Derek Price  <derek@ximbiot.com>
81998             Paul Eggert  <eggert@cs.ucla.edu>
81999
82000         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
82001         glob_.h, glob-libc.h.
82002         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
82003
82004 2005-09-12  Derek Price  <derek@ximbiot.com>
82005             Paul Eggert  <eggert@cs.ucla.edu>
82006
82007         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82008         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82009         protecting things that should be done only in gnulib contexts.
82010         * lib/glob_.h: New file, containing only the glob things needed for
82011         gnulib.
82012         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82013         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82014         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82015         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82016         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82017         and to respect the namespace rules better.
82018
82019 2005-09-08  Simon Josefsson  <jas@extundo.com>
82020
82021         * modules/socklen: New file.
82022
82023 2005-09-08  Simon Josefsson  <jas@extundo.com>
82024
82025         * m4/socklen.m4: New file.
82026
82027 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82028
82029         * modules/utimens (Files): Add m4/utimbuf.m4, since
82030         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82031         Reported by Sergey Poznyakoff.
82032
82033 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82034
82035         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82036         definitions, since that's the preferred style in glibc.
82037         Fix a minor spacing issue, and update copyright notice to match
82038         glibc's.
82039
82040 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82041
82042         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82043
82044 2005-09-06  Simon Josefsson  <jas@extundo.com>
82045
82046         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82047         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82048
82049 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82050
82051         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82052         warning.
82053
82054 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82055
82056         * config/srclist.txt: Add glibc bug 1302.
82057
82058 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82059
82060         Change bitset word type from unsigned int to unsigned long int,
82061         as this has better performance on typical 64-bit hosts.
82062         Port bitset code to hosts with unusual word sizes.
82063         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
82064         (build_collating_symbol):
82065         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
82066         argument is a bitset.  This is merely a style issue, but it makes
82067         it clearer that an entire array is expected.
82068         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
82069         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
82070         Port to the case where bitset_word is not the same as unsigned int.
82071         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82072         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
82073         Likewise.
82074         * lib/regexec.c (check_dst_limits_calc_pos_1,
82075         check_subexp_matching_top):
82076         (build_trtable, group_nodes_into_DFAstates):
82077         Likewise.
82078         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
82079         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
82080         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
82081         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
82082         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
82083         * lib/regcomp.c (optimize_subexps, lower_subexp):
82084         Work even if bitset_word has holes in its bitwise representation.
82085         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
82086         * lib/regexec.c (check_dst_limits_calc_pos_1,
82087         check_subexp_matching_top):
82088         Likewise.
82089         * lib/regex_internal.c (re_string_reconstruct):
82090         Don't assume UCHAR_MAX == 255.
82091         * lib/regex_internal.h (bitset_set_all): Likewise.
82092         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
82093         All uses changed.
82094         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
82095         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
82096         All uses changed.
82097         (BITSET_WORD_MAX): New macro.
82098         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
82099         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
82100         (bitset_empty, bitset_copy):
82101         Prefer sizeof (bitset) to multiplying it out ourselves.
82102         (bitset_not_merge): Remove; unused.
82103         (bitset_contain): Return bool, not unsigned int with one bit on.
82104         All callers changed.
82105         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
82106         alignment than re_node_set; do this by defining a new internal
82107         type struct dests_alloc and using it to allocate memory.
82108
82109 2005-09-05  Bruno Haible  <bruno@clisp.org>
82110
82111         * gnulib-tool (func_import): Fix comparison in handling of symbolic
82112         links.
82113
82114 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
82115
82116         * modules/size_max (Makefile.am): Add size_max.h
82117
82118 2005-09-04  Derek Price  <derek@ximbiot.com>
82119
82120         * gnulib-tool (func_import): Fix reversed $symbolic logic.
82121
82122 2005-09-03  Simon Josefsson  <jas@extundo.com>
82123
82124         * gnulib-tool: Fix typo.
82125
82126 2005-09-03  Simon Josefsson  <jas@extundo.com>
82127
82128         * config/srclist.txt: Add glibc bug 1293.
82129
82130 2005-09-03  Derek Price  <derek@ximbiot.com>
82131
82132         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
82133         From Larry Jones <lawrence.jones@ugs.com>.
82134
82135 2005-09-02  Simon Josefsson  <jas@extundo.com>
82136
82137         * modules/socklen: New file.
82138
82139 2005-09-02  Simon Josefsson  <jas@extundo.com>
82140
82141         * modules/havelib: New module.
82142
82143         * modules/gettext, modules/iconv, modules/lock, modules/readline:
82144         Use havelib.
82145
82146 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82147
82148         Check for arithmetic overflow when calculating sizes, to prevent
82149         some buffer-overflow issues.  These patches are conservative, in the
82150         sense that when I couldn't determine whether an overflow was possible,
82151         I inserted a run-time check.
82152         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
82153         macros.
82154         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
82155         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
82156         (re_xnrealloc, re_x2nrealloc): New inline functions.
82157         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
82158         parse_bracket_exp):
82159         (build_equiv_class, build_charclass): Check for arithmetic overflow
82160         in size expression calculations.
82161         * lib/regex_internal.c (re_string_realloc_buffers):
82162         (build_wcs_upper_buffer, re_node_set_add_intersect):
82163         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
82164         (re_dfa_add_node, register_state): Likewise.
82165         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
82166         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
82167         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
82168         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
82169
82170 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82171
82172         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82173         m4/ulonglong.m4.  Problem reported by Martin Lambers.
82174
82175 2005-09-02  Bruno Haible  <bruno@clisp.org>
82176
82177         Support for lib vs. lib64 distinction on biarch platforms.
82178         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
82179         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
82180         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
82181
82182 2005-09-02  Bruno Haible  <bruno@clisp.org>
82183
82184         * gnulib-tool (import): In the other first-use case, provide defaults
82185         as well.
82186
82187 2005-09-02  Bruno Haible  <bruno@clisp.org>
82188
82189         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
82190         patches not yet found in the latest gettext release.
82191
82192 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82193
82194         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
82195         to avoid a collision with bits/local_lim.h in glibc.
82196         All uses changed.  Problem reported by Dmitry V. Levin in
82197         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
82198
82199         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
82200         bugs in int versus size_t comparisons.
82201         (re_string_context_at): Fix bug where the code assumed that
82202         Idx is signed.
82203
82204         Use bool where appropriate.
82205         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
82206         All callers changed.
82207         (calc_eclosure_iter): Likewise, for ROOT arg.
82208         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
82209         (build_charclass_op): Likewise, for NON_MATCH arg.
82210         * lib/regex_internal.c (re_string_allocate, re_string_construct):
82211         (re_string_construct_common): Likewise, for ICASE arg.
82212         * lib/regexec.c (re_search_2_stub, re_search_stub):
82213         Likewise, for RET_LEN arg.
82214         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
82215         (set_regs): Likewise, for FL_BACKTRACK arg.
82216         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
82217         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
82218         (calc_eclosure_iter, parse_bracket_exp):
82219         Use bool for internal variables that are booleans.
82220         * lib/regexec.c (re_search_internal, check_matching,
82221         proceed_next_node):
82222         (set_regs, build_sifted_states, sift_states_bkref):
82223         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
82224         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82225         (find_collation_sequence_value):
82226         Likewise.
82227         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
82228         (re_node_set_compare):
82229         Return bool, not int. All callers changed.
82230         * lib/regexec.c (check_halt_node_context, check_dst_limits):
82231         (build_trtable, check_node_accept): Likewise.
82232         * lib/regex_internal.h: Include stdbool.h.
82233
82234         Fix bugs uncovered when converting to bool.
82235         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
82236         failure instead of charging ahead blindly.
82237         * lib/regex_internal.c (register_state): Likewise.
82238         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
82239         for freeing internal storage.
82240         (group_nodes_into_DFA_states): Use unsigned int, not int, for
82241         bitset pieces used as boolean, to avoid undefined behavior
82242         on hosts that do int overflow checking.
82243
82244 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82245
82246         * config/srclist.txt: Add glibc bugs 1285-1287.
82247
82248 2005-09-01  Jim Meyering  <jim@meyering.net>
82249
82250         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
82251         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
82252         Require gl_STAT_MACROS, too.
82253
82254 2005-09-01  Bruno Haible  <bruno@clisp.org>
82255
82256         * gnulib-tool (import): In the first-use case, provide defaults.
82257
82258 2005-09-01  Bruno Haible  <bruno@clisp.org>
82259
82260         * gnulib-tool (func_import): Remove the .tmp files.
82261
82262 2005-09-01  Bruno Haible  <bruno@clisp.org>
82263
82264         * gnulib-tool (func_import): Fix handling of symbolic links.
82265
82266 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82267
82268         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
82269         old glibc regex code mishandles strings longer than 2**31 bytes.
82270         This patch fixes this when the regex code is used in gnulib
82271         (i.e., outside glibc).
82272
82273         This patch should not affect the use of the regex code inside
82274         glibc.  No doubt this problem also needs to be handled for glibc
82275         as well, but the result will be an incompatible change to the
82276         glibc ABI, and the old ABI will have to be supported too.  That
82277         can be the the subject for another patch.
82278
82279         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
82280         governing whether the rest of this patch is active.  By default,
82281         the macro is disabled and the patch has no effect.
82282         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
82283         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
82284         (struct re_pattern_buffer, re_search, re_search_2, re_match):
82285         (re_match_2, re_set_registers): Use the new types.
82286         * lib/regex_internal.h (Idx, re_hashval_t): New types.
82287         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
82288         New macros.
82289         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
82290         (re_string_context_at, bin_tree_t, re_dfastate_t):
82291         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
82292         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
82293         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
82294         (re_string_char_size_at, re_string_wchar_at):
82295         (re_string_elem_size_at):
82296         Use the new types and macros to port to 64-bit hosts.
82297         Use unsigned types for internal values, so that the code
82298         mostly works even for arrays larger than SSIZE_MAX.
82299         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
82300         (search_duplicated_node, calc_eclosure_iter, fetch_number):
82301         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
82302         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
82303         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
82304         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
82305         (calc_inveclosure, parse_dup_op, build_range_exp):
82306         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
82307         (fetch_number, create_token_tree, mark_opt_subexp):
82308         Likewise.
82309         * lib/regex_internal.c (re_string_construct_common,
82310         create_ci_newstate):
82311         (create_cd_newstate, re_string_allocate, re_string_construct):
82312         (re_string_realloc_buffers, build_wcs_upper_buffer):
82313         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82314         (re_string_reconstruct, re_string_peek_byte_case):
82315         (re_string_fetch_byte_case, re_string_context_at):
82316         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82317         (re_node_set_init_copy, re_node_set_add_intersect):
82318         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82319         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82320         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82321         (re_acquire_state, re_acquire_state_context, register_state):
82322         Likewise.
82323         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
82324         search_cur_bkref_entry):
82325         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
82326         (re_search_internal, re_search_2_stub, re_search_stub)
82327         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
82328         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
82329         (update_cur_sifted_state, check_dst_limits):
82330         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82331         (check_subexp_limits, sift_states_bkref, merge_state_array):
82332         (check_subexp_matching_top, get_subexp, get_subexp_sub):
82333         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
82334         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82335         (expand_bkref_cache, check_node_accept_bytes):
82336         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
82337         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
82338         (acquire_init_state_context, check_halt_node_context):
82339         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
82340         (sift_states_backward, clean_state_log_if_needed):
82341         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
82342         (find_recover_state, transit_state_sb, transit_state_mb):
82343         (transit_state_bkref, build_trtable, match_ctx_clean):
82344         Likewise.
82345         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
82346         to work around an assumption that REG_MISSING is negative.
82347
82348         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
82349         (seek_collating_symbol_entry) [defined _LIBC]:
82350         (lookup_collation_sequence_value) [defined _LIBC]:
82351         (build_range_exp, build_collating_symbol) [defined _LIBC]:
82352         Use prototypes rather than old-style function definitions.
82353         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
82354         (transit_state_sb) [0]:
82355         (find_collation_sequence_value) [defined _LIBC]: Likewise.
82356
82357         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
82358         rm_eo.
82359
82360         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
82361         (optimize_subexps, lower_subexp):
82362         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
82363         since the signed shift might overflow.  Use 1u<<31 instead.
82364         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82365         Likewise.
82366         * lib/regexec.c (check_dst_limits_calc_pos_1,
82367         check_subexp_matching_top): Likewise.
82368
82369         * lib/regcomp.c (optimize_subexps, lower_subexp):
82370         Use CHAR_BIT rather than 8, for clarity.
82371         * lib/regexec.c (check_dst_limits_calc_pos_1):
82372         (check_subexp_matching_top): Likewise.
82373         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
82374         have to worry about portability issues when shifting it left.
82375         Remove no-longer-needed test for table_size > 0.
82376         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
82377         in a word, as the resulting behavior is undefined.
82378         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
82379         in one case, a <= should have been an <, and in another case the
82380         whole test was missing.
82381         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
82382         the standard name CHAR_BIT.
82383         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
82384         this is not true on one's complement and signed-magnitude hosts.
82385
82386         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
82387         next_last_offset.
82388         (struct re_dfa_t): Remove unused member states_alloc.
82389         * lib/regcomp.c (init_dfa): Don't initialize unused members.
82390
82391 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
82394         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
82395         and large-file glibc and in 32-bit large-file Solaris.
82396
82397 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82398
82399         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
82400         lengths fit in regoff_t; this isn't true if regoff_t is the same
82401         width as size_t.
82402         * lib/regex.c (re_search_internal): 5th arg is LAST_START
82403         (= START + RANGE) instead of RANGE.  This avoids overflow
82404         problems when regoff_t is the same width as size_t.
82405         All callers changed.
82406         (re_search_2_stub): Check for overflow when adding the
82407         sizes of the two strings.
82408         (re_search_stub): Check for overflow when adding START
82409         to RANGE; if it occurs, substitute the extreme value.
82410
82411 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82412
82413         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
82414
82415 2005-08-31  Jim Meyering  <jim@meyering.net>
82416
82417         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
82418         a pointer-to-const.
82419         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
82420         (register_state): Likewise.
82421         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
82422         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82423         (group_nodes_into_DFAstates): Likewise.
82424
82425 2005-08-31  Jim Meyering  <jim@meyering.net>
82426
82427         * check-module: Add a FIXME comment.
82428
82429 2005-08-31  Eric Blake  <ebb9@byu.net>
82430
82431         * modules/unistd-safer (Files): Add unistd--.h.
82432         * modules/stdio-safer (Files): Add stdio--.h.
82433
82434 2005-08-31  Derek Price  <derek@ximbiot.com>
82435
82436         * lib/getdelim.c (getdelim): Return EOF on EOF.
82437         Reported by Larry Jones <lawrence.jones@ugs.com>.
82438
82439 2005-08-31  Bruno Haible  <bruno@clisp.org>
82440
82441         Avoid unnecessary diffs in the generated lib/Makefile.am.
82442         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82443         the generated files.
82444         (func_import): Don't set cmd.
82445
82446 2005-08-31  Bruno Haible  <bruno@clisp.org>
82447
82448         * lib/strstr.c: Include <stddef.h>, for NULL.
82449         * lib/strcasestr.c: Likewise.
82450         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82451
82452 2005-08-31  Bruno Haible  <bruno@clisp.org>
82453
82454         * gnulib-tool: New option --macro-prefix.
82455         (func_import): Use macro_prefix.
82456         (import): Handle option --macro-prefix.
82457
82458 2005-08-31  Bruno Haible  <bruno@clisp.org>
82459
82460         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82461         Also use new variables cached_lgpl, cached_libtool.
82462
82463 2005-08-31  Bruno Haible  <bruno@clisp.org>
82464
82465         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82466         always instantiating them.
82467
82468 2005-08-31  Bruno Haible  <bruno@clisp.org>
82469
82470         * gnulib-tool (func_import): Read the previous cached settings
82471         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82472         earlier added by gnulib but are now dropped. Warn when a gnulib file
82473         overwrites a non-gnulib file.
82474
82475 2005-08-31  Bruno Haible  <bruno@clisp.org>
82476
82477         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82478         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82479         projects that don't keep autogenerated files in CVS. Put into
82480         actioncmd only the specified modules, not the transitive closure.
82481
82482 2005-08-31  Bruno Haible  <bruno@clisp.org>
82483
82484         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82485         Create directories that shall be filled.
82486         (import): Don't look for gl_* macros in configure.ac. Recurse across
82487         all directories containing a gnulib-cache.m4 files, if meaningful.
82488
82489 2005-08-31  Bruno Haible  <bruno@clisp.org>
82490
82491         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82492         (import): Set seen_libtool when we see gl_LIBTOOL.
82493
82494 2005-08-31  Bruno Haible  <bruno@clisp.org>
82495
82496         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82497         declaration macro definitions from generated gnulib.m4.
82498
82499 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82500
82501         * lib/iconvme.h: Add prototype for iconv_alloc.
82502
82503 2005-08-29  Simon Josefsson  <jas@extundo.com>
82504
82505         * lib/iconvme.c: Fix errno.
82506
82507 2005-08-29  Bruno Haible  <bruno@clisp.org>
82508
82509         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82510         that it works when the directory contains spaces.
82511
82512 2005-08-29  Bruno Haible  <bruno@clisp.org>
82513
82514         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82515
82516 2005-08-29  Bruno Haible  <bruno@clisp.org>
82517
82518         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82519         Emit more advice.
82520
82521 2005-08-29  Bruno Haible  <bruno@clisp.org>
82522         and Stepan Kasal  <kasal@ucw.cz>
82523
82524         * check-module: If more parameters are given, check each of them
82525         separately; add more exceptions, as noted by Jim Meyering.
82526         (check_module): New procedure.
82527         (%exempt_header): Now contains all exceptions.
82528
82529 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82530
82531         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82532
82533 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82534
82535         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82536
82537 2005-08-28  Bruno Haible  <bruno@clisp.org>
82538
82539         * m4/gnulib-tool.m4: New file.
82540
82541 2005-08-27  Jim Meyering  <jim@meyering.net>
82542
82543         * modules/unistd-safer (Files): Add pipe-safer.c.
82544         * modules/fcntl-safer (Files): Add creat-safer.c.
82545
82546 2005-08-27  Jim Meyering  <jim@meyering.net>
82547
82548         * m4/stdlib-safer.m4: New file.  From coreutils.
82549         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82550         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82551         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82552         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82553         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82554
82555 2005-08-27  Jim Meyering  <jim@meyering.net>
82556
82557         * lib/fopen-safer.c: Merge minor changes from coreutils.
82558         * lib/dup-safer.c: Likewise.
82559         * lib/fd-safer.c: Likewise.
82560
82561         Merge from coreutils.
82562         * lib/stdio--.h: New file.
82563         * lib/stdlib--.h: New file.
82564         * lib/mkstemp-safer.c: New file.
82565
82566         GNU tar needs these.
82567         * lib/pipe-safer.c: New file.
82568         * lib/creat-safer.c: New file.
82569         * lib/fcntl--.h (creat): Define to creat_safer.
82570         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82571         * lib/unistd--.h (pipe): Define to pipe_safer.
82572         * lib/unistd-safer.h: Declare pipe_safer.
82573
82574 2005-08-26  Simon Josefsson  <jas@extundo.com>
82575
82576         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82577         Haible <bruno@clisp.org>.
82578
82579 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82580
82581         * lib/regex_internal.h: Remove all references to
82582         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82583         or better.
82584         (bitset_not, bitset_merge, bitset_not_merge):
82585         (bitset_mask, re_string_allocate, re_string_construct):
82586         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82587         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82588         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82589         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82590         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82591         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82592         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82593         (re_acquire_state_context):
82594         Remove unnecessary forward decls.
82595         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82596         Put __attribute at function definition,
82597         now that the function decl has been removed.
82598         * lib/regex_internal.c (re_string_peek_byte_case):
82599         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82600         Likewise.
82601
82602 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
82603
82604         * m4/regex.m4: Add AC_PREREQ(2.50).
82605         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
82606
82607 2005-08-25  Simon Josefsson  <jas@extundo.com>
82608
82609         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
82610         __fsetlocking.
82611
82612 2005-08-25  Simon Josefsson  <jas@extundo.com>
82613
82614         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
82615         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
82616         GLIBC specific code.
82617
82618 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82619
82620         Make regex safe for g++.  This fixes one real bug (an "err"
82621         that should have been "*err").  g++ problem reported by
82622         Sam Steingold.
82623         * lib/regex_internal.h (re_calloc): New macro, consistent with
82624         re_malloc etc.  All callers of calloc changed to use re_calloc.
82625         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
82626         not int.  All callers changed.
82627         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
82628         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
82629         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
82630         (find_recover_state): Change "err" to "*err"; this fixes what
82631         appears to be a real bug.
82632         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
82633         versus int.
82634
82635 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82636
82637         * modules/regex (Depends-on): Add malloc, since the code
82638         assumes that !malloc(0) means failure.
82639
82640 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82641
82642         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82643
82644         alloca modernization/simplification for regex.
82645         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82646         needs to be at the start of the file, and can be moved into
82647         regex_internal.h and simplified.
82648         * lib/regex_internal.h: Include <alloca.h>.
82649         (__libc_use_alloca) [!defined _LIBC]: New macro.
82650         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82651         now works outside glibc.
82652
82653 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82654
82655         * config/srclist.txt: Add glibc bugs 1241, 1245.
82656
82657 2005-08-25  Jim Meyering  <jim@meyering.net>
82658
82659         * lib/open-safer.c: Include <config.h>.
82660         Otherwise, we'd lose LARGEFILE support in any file using
82661         e.g. "fcntl--.h"
82662
82663 2005-08-25  Bruno Haible  <bruno@clisp.org>
82664
82665         * m4/minmax.m4: Require autoconf 2.52.
82666         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
82667         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
82668         alternatives of translit over the alphabet.
82669         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
82670
82671 2005-08-24  Simon Josefsson  <jas@extundo.com>
82672
82673         * tests/test-getpass.c: New file.
82674
82675 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82676
82677         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
82678         for GNU regex features.
82679
82680 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82681
82682         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
82683         * lib/regex.h (regerror): Likewise.
82684
82685         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
82686         requires this.  (The code never needed it.)
82687
82688         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
82689         All uses of recently-renamed identifiers changed to use the new,
82690         POSIX-compliant names.  The code will build and run just fine
82691         without these changes, but it's better to eat our own dog food
82692         and use the standard-conforming names.
82693
82694         * lib/regex.h: Fix a multitude of POSIX name space violations.
82695         These changes have an effect only for programs that define
82696         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
82697         do not change anything for programs compiled in the normal way.
82698         Also, there is no effect on the ABI.
82699
82700         (_REGEX_SOURCE): New macro.
82701         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
82702         defined and _GNU_SOURCE is not; this fixes a name space violation.
82703
82704         Rename the following macros to obey POSIX requirements.
82705         The old names are still visible as macros if _REGEX_SOURCE is defined.
82706         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
82707         RE_BACKSLASH_ESCAPE_IN_LISTS.
82708         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
82709         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
82710         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
82711         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
82712         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
82713         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
82714         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
82715         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
82716         (REG_INTERVALS): renamed from RE_INTERVALS.
82717         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
82718         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
82719         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
82720         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
82721         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
82722         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
82723         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
82724         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
82725         RE_UNMATCHED_RIGHT_PAREN_ORD.
82726         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
82727         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
82728         (REG_DEBUG): renamed from RE_DEBUG.
82729         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
82730         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
82731         unusual, since we can't clash with the POSIX REG_ICASE.
82732         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
82733         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
82734         (REG_NO_SUB): renamed from RE_NO_SUB.
82735         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
82736         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
82737         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
82738         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
82739         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
82740         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
82741         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
82742         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
82743         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
82744         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
82745         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
82746         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
82747         RE_SYNTAX_POSIX_MINIMAL_BASIC.
82748         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
82749         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
82750         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
82751         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
82752         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
82753         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
82754         (REG_FIXED): Renamed from REGS_FIXED.
82755         (REG_NREGS): Renamed from RE_NREGS.
82756
82757         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
82758         of other REG_* macros, since POSIX says the user is allowed to
82759         #undef these macros selectively.
82760
82761         (reg_errcode_t): Update comment stating what other tables need
82762         to be consistent.
82763
82764         Rename the following enum values to obey POSIX requirements.
82765         The old names are still visible as macros.
82766         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
82767         is not defined, since GNU is supposed to be a superset of POSIX as
82768         much as possible, and since we want reg_errcode_t to be a signed
82769         type for implementation consistency.
82770         (_REG_NOERROR): Renamed from REG_NOERROR.
82771         (_REG_NOMATCH): Renamed from REG_NOMATCH.
82772         (_REG_BADPAT): Renamed from REG_BADPAT.
82773         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
82774         (_REG_ECTYPE): Renamed from REG_ECTYPE.
82775         (_REG_EESCAPE): Renamed from REG_EESCAPE.
82776         (_REG_ESUBREG): Renamed from REG_ESUBREG.
82777         (_REG_EBRACK): Renamed from REG_EBRACK.
82778         (_REG_EPAREN): Renamed from REG_EPAREN.
82779         (_REG_EBRACE): Renamed from REG_EBRACE.
82780         (_REG_BADBR): Renamed from REG_BADBR.
82781         (_REG_ERANGE): Renamed from REG_ERANGE.
82782         (_REG_ESPACE): Renamed from REG_ESPACE.
82783         (_REG_BADRPT): Renamed from REG_BADRPT.
82784         (_REG_EEND): Renamed from REG_EEND.
82785         (_REG_ESIZE): Renamed from REG_ESIZE.
82786         (_REG_ERPAREN): Renamed from REG_ERPAREN.
82787         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
82788         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
82789         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
82790         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
82791
82792         (_REG_RE_NAME, _REG_RM_NAME): New macros.
82793         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
82794         changed.  But support the old name if the new one is not defined
82795         and if _REGEX_SOURCE.
82796
82797         Change the following member names in struct re_pattern_buffer.
82798         The old names are still supported if !_REGEX_SOURCE.
82799         The new names are always supported, regardless of _REGEX_SOURCE.
82800         (re_buffer): Renamed from buffer.
82801         (re_allocated): Renamed from allocated.
82802         (re_used): Renamed from used.
82803         (re_syntax): Renamed from syntax.
82804         (re_fastmap): Renamed from fastmap.
82805         (re_translate): Renamed from translate.
82806         (re_can_be_null): Renamed from can_be_null.
82807         (re_regs_allocated): Renamed from regs_allocated.
82808         (re_fastmap_accurate): Renamed from fastmap_accurate.
82809         (re_no_sub): Renamed from no_sub.
82810         (re_not_bol): Renamed from not_bol.
82811         (re_not_eol): Renamed from not_eol.
82812         (re_newline_anchor): Renamed from newline_anchor.
82813
82814         Change the following member names in struct re_registers.
82815         The old names are still supported if !_REGEX_SOURCE.
82816         The new names are always supported, regardless of _REGEX_SOURCE.
82817         (rm_num_regs): Renamed from num_regs.
82818         (rm_start): Renamed from start.
82819         (rm_end): Renamed from end.
82820
82821         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
82822         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
82823         Prepend __ to parameter names.
82824
82825         Undo yesterday's changes.
82826
82827 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82828
82829         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
82830         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
82831         lib/regex.c.
82832
82833 2005-08-24  Jim Meyering  <jim@meyering.net>
82834
82835         Sync from coreutils.
82836         * m4/fcntl-safer.m4: New file.
82837
82838         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
82839         and object files for this module.
82840
82841 2005-08-24  Jim Meyering  <jim@meyering.net>
82842
82843         Sync from coreutils.
82844         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
82845
82846 2005-08-24  Jim Meyering  <jim@meyering.net>
82847
82848         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
82849         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
82850
82851 2005-08-24  Jim Meyering  <jim@meyering.net>
82852
82853         * modules/fcntl-safer: New module.
82854         * modules/fts (Depends-on): Add fcntl-safer.
82855         * MODULES.html.sh (File descriptor based Input/Output):
82856         Add fcntl-safer.
82857
82858 2005-08-24  Bruno Haible  <bruno@clisp.org>
82859
82860         Support for unit test modules.
82861         * modules/README: Mention tests modules.
82862         * modules/TEMPLATE-TESTS: New file.
82863         * gnulib-tool: New options --extract-tests-module, --with-tests and
82864         --tests-base (unused for the moment).
82865         (testsbase, inctests): New variables.
82866         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
82867         (func_verify_module): Exclude TEMPLATE-TESTS.
82868         (func_verify_nontests_module, func_verify_tests_module): New functions.
82869         (func_get_dependencies): Add implicit dependency for tests modules.
82870         (func_get_tests_module): New function.
82871         (func_modules_transitive_closure): When --with-tests was specified,
82872         include the unit tests as well, unless explicitly avoided.
82873         (func_emit_lib_Makefile_am): Ignore the tests modules here.
82874         (func_emit_tests_Makefile_am): New function.
82875         (func_create_testdir): When --with-tests was specified, emit a
82876         tests/ directory.
82877         * MODULES.html.sh (Future developments): Update.
82878
82879 2005-08-24  Bruno Haible  <bruno@clisp.org>
82880
82881         * modules/tls-tests: New file.
82882         * tests/test-tls.c: New file, from GNU gettext.
82883
82884 2005-08-24  Bruno Haible  <bruno@clisp.org>
82885
82886         * modules/lock-tests: New file.
82887         * tests/test-lock.c: New file, from GNU gettext.
82888
82889 2005-08-24  Bruno Haible  <bruno@clisp.org>
82890
82891         * lib/lock.h: Add multiple inclusion guard.
82892         * lib/tls.h: Add multiple inclusion guard.
82893
82894 2005-08-24  Bruno Haible  <bruno@clisp.org>
82895
82896         * gnulib-tool: Add support for the --aux-dir option to
82897         --create-testdir, --create-megatestdir, --test, --megatest.
82898         (func_create_testdir, func_create_megatestdir): Optionally emit a
82899         AC_CONFIG_AUX_DIR directive.
82900         (create-testdir, create-megatestdir, test, megatest): Provide a
82901         default value for $auxdir.
82902
82903 2005-08-24  Bruno Haible  <bruno@clisp.org>
82904
82905         * gnulib-tool (import): Use compound statement instead of subshell
82906         where possible.
82907
82908 2005-08-24  Bruno Haible  <bruno@clisp.org>
82909
82910         * gnulib-tool (import): Change --aux-dir default to "build-aux".
82911
82912 2005-08-24  Bruno Haible  <bruno@clisp.org>
82913
82914         * gnulib-tool (func_version): Update.
82915
82916 2005-08-24  Bruno Haible  <bruno@clisp.org>
82917
82918         * gnulib-tool (func_import, func_create_testdir,
82919         func_create_megatestdir): Quote all autoconf macro arguments.
82920
82921 2005-08-24  Bruno Haible  <bruno@clisp.org>
82922
82923         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
82924         option --force, because --force causes the aclocal.m4 of each
82925         subdirectory to be newer than the corresponding config.h.in.
82926
82927 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82928
82929         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
82930         All contents moved to gl_REGEX.
82931         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
82932         assume that it does.
82933
82934 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82935
82936         * lib/regex.h (REG_NOSYS)
82937         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
82938         Define, since POSIX requires it as of 2001.
82939         (_REG_ENOSYS)
82940         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
82941         New private symbol, used to keep the enum signed in all cases.
82942         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
82943         Youngman in
82944         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
82945
82946         * lib/regex_internal.c (re_string_skip_chars, register_state):
82947         (calc_state_hash):
82948         Remove forward decls; no longer needed now that we use prototypes.
82949         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
82950         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
82951         (clean_state_log_if_needed): Likewise.
82952
82953 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82954
82955         * config/srclist.txt: Add glibc bugs 1231-1233.
82956
82957 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82958
82959         Fix problems reported by Sam Steingold in
82960         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
82961         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
82962         assumed that reg_errcode_t is a signed type, which is not
82963         necessarily true if _XOPEN_SOURCE is not defined.
82964         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
82965         since some compilers warn about it otherwise.
82966
82967 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82968
82969         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
82970         (init_word_char, create_initial_state, duplicate_node_closure):
82971         (fetch_token, peek_token_bracket, build_range_exp):
82972         (build_collating_symbol): Remove forward decls; no longer needed
82973         now that we use prototypes.
82974
82975         * lib/regcomp.c:
82976         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
82977         (re_compile_fastmap_iter, regcomp, regerror, regfree):
82978         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
82979         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
82980         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
82981         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
82982         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
82983         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
82984         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
82985         (build_range_exp, build_collating_symbol, parse_bracket_exp):
82986         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
82987         (build_charclass, build_charclass_op, fetch_number, create_tree):
82988         (create_token_tree, mark_opt_subexp, duplicate_tree):
82989         Use prototypes rather than old-style definitions.
82990
82991         * lib/regex_internal.c:
82992         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
82993         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
82994         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82995         (re_string_reconstruct, re_string_peek_byte_case):
82996         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
82997         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82998         (re_node_set_init_copy, re_node_set_add_intersect):
82999         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83000         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83001         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83002         (re_acquire_state, re_acquire_state_context, register_state):
83003         (create_ci_newstate, create_cd_newstate, free_state):
83004         Likewise.
83005         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
83006         re_search_2):
83007         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83008         (re_search_internal, prune_impossible_nodes):
83009         (acquire_init_state_context, check_matching, static):
83010         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83011         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83012         (update_regs, sift_states_backward, build_sifted_states):
83013         (clean_state_log_if_needed, merge_state_array):
83014         (update_cur_sifted_state, add_epsilon_src_nodes):
83015         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83016         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83017         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83018         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83019         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83020         (check_arrival, check_arrival_add_next_nodes):
83021         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83022         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83023         (check_node_accept_bytes, check_node_accept, extend_buffers):
83024         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83025         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83026         (sift_ctx_init):
83027         Likewise.
83028
83029         * lib/regex_internal.h:
83030         (re_string_allocate, re_string_construct, re_string_reconstruct):
83031         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83032         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83033         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83034         (re_string_context_at, re_string_peek_byte_case):
83035         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83036         is defined, since we now use prototypes always.
83037
83038         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83039         C89 or better.  All uses removed.
83040
83041 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83042
83043         * config/srclist.txt: Add glibc bugs 1220-1227.
83044
83045 2005-08-20  Jim Meyering  <jim@meyering.net>
83046
83047         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83048         of unused local, dfa.
83049
83050 2005-08-20  Bruno Haible  <bruno@clisp.org>
83051
83052         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83053
83054 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83055
83056         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83057         (re_node_set_insert_last, re_dfa_add_node):
83058         Rename local variables to avoid GCC shadowing warnings.
83059
83060 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83061
83062         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83063         [defined lint]: Suppress bogus uninitialized-variable warnings.
83064
83065         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
83066         and let the caller return REG_ESPACE if out of space.  This
83067         removes an uninitialied-variable warning with GCC 4.0.1, and also
83068         avoids taking the address of a local variable.  All callers
83069         changed.
83070
83071 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83072
83073         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
83074         $LIBCSRC/posix/regexec.c.
83075         Add glibc bug 1217 for regcomp.c.
83076
83077 2005-08-19  Jim Meyering  <jim@meyering.net>
83078
83079         * lib/regexec.c (proceed_next_node): Redo local variables to
83080         avoid GCC shadowing warnings.
83081
83082 2005-08-18  Bruno Haible  <bruno@clisp.org>
83083
83084         * lib/strstr.c (strstr): Fix return value in multibyte case.
83085         * lib/strcasestr.c (strcasestr): Likewise.
83086
83087 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83088
83089         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
83090
83091 2005-08-17  Jim Meyering  <jim@meyering.net>
83092
83093         Make the %s format (seconds since the epoch) work for a negative
83094         number and when used with a zero-padded field width, e.g. %015s.
83095
83096         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
83097         label so that it precedes the code to set `digits'.  Otherwise,
83098         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
83099         print `00-22'.  Now, it prints `-0022', as it should.
83100
83101 2005-08-17  Bruno Haible  <bruno@clisp.org>
83102
83103         * modules/strstr (Files): Add m4/mbrtowc.m4.
83104         (Depends-on): Add mbuiter.
83105
83106 2005-08-17  Bruno Haible  <bruno@clisp.org>
83107
83108         * modules/strcasestr: New file.
83109         * MODULES.html.sh (String handling, based on ANSI C 89): Add
83110         strcasestr.
83111
83112 2005-08-17  Bruno Haible  <bruno@clisp.org>
83113
83114         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
83115
83116 2005-08-17  Bruno Haible  <bruno@clisp.org>
83117
83118         * modules/mbuiter: New file.
83119         * MODULES.html.sh (Extended multibyte and wide character utilities):
83120         Add mbuiter.
83121
83122 2005-08-17  Bruno Haible  <bruno@clisp.org>
83123
83124         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
83125         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
83126
83127 2005-08-17  Bruno Haible  <bruno@clisp.org>
83128
83129         * m4/strcasestr.m4: New file.
83130
83131 2005-08-17  Bruno Haible  <bruno@clisp.org>
83132
83133         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
83134         * lib/strstr.c: Completely rewritten, with multibyte locale support.
83135
83136 2005-08-17  Bruno Haible  <bruno@clisp.org>
83137
83138         * lib/strcasestr.h: New file.
83139         * lib/strcasestr.c: New file.
83140
83141 2005-08-17  Bruno Haible  <bruno@clisp.org>
83142
83143         * lib/strcasecmp.c: Use mbuiter.h.
83144
83145 2005-08-17  Bruno Haible  <bruno@clisp.org>
83146
83147         * lib/mbuiter.h: New file.
83148
83149 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
83150
83151         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
83152         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
83153         and gl_GETOPT are both invoked via different paths (as happens
83154         with GNU tar CVS because it uses both argp and getopt), the former
83155         wins.
83156
83157 2005-08-16  Bruno Haible  <bruno@clisp.org>
83158
83159         * modules/tls: New file.
83160         * MODULES.html.sh (Multithreading): Add tls.
83161
83162 2005-08-16  Bruno Haible  <bruno@clisp.org>
83163
83164         * modules/strnlen1: New file.
83165         * MODULES.html.sh (String handling): Add strnlen1.
83166
83167 2005-08-16  Bruno Haible  <bruno@clisp.org>
83168
83169         * modules/strcase (Files): Add m4/mbrtowc.m4.
83170         (Depends-on): Add strnlen1, mbchar.
83171
83172 2005-08-16  Bruno Haible  <bruno@clisp.org>
83173
83174         * modules/mbiter: New file.
83175         * MODULES.html.sh (Extended multibyte and wide character utilities):
83176         Add mbiter.
83177
83178 2005-08-16  Bruno Haible  <bruno@clisp.org>
83179
83180         * modules/mbfile: New file.
83181         * MODULES.html.sh (Extended multibyte and wide character utilities):
83182         Add mbfile.
83183
83184 2005-08-16  Bruno Haible  <bruno@clisp.org>
83185
83186         * modules/mbchar: New file.
83187         * MODULES.html.sh (Extended multibyte and wide character utilities):
83188         New section.
83189
83190 2005-08-16  Bruno Haible  <bruno@clisp.org>
83191
83192         * m4/tls.m4: New file, from GNU gettext.
83193
83194 2005-08-16  Bruno Haible  <bruno@clisp.org>
83195
83196         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
83197         always.
83198         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
83199
83200 2005-08-16  Bruno Haible  <bruno@clisp.org>
83201
83202         * m4/mbiter.m4: New file.
83203
83204 2005-08-16  Bruno Haible  <bruno@clisp.org>
83205
83206         * m4/mbfile.m4: New file.
83207
83208 2005-08-16  Bruno Haible  <bruno@clisp.org>
83209
83210         * m4/mbchar.m4: New file.
83211
83212 2005-08-16  Bruno Haible  <bruno@clisp.org>
83213
83214         * lib/tls.h: New file, from GNU gettext.
83215         * lib/tls.c: New file, from GNU gettext.
83216
83217 2005-08-16  Bruno Haible  <bruno@clisp.org>
83218
83219         * lib/strnlen1.h: New file.
83220         * lib/strnlen1.c: New file.
83221
83222 2005-08-16  Bruno Haible  <bruno@clisp.org>
83223
83224         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
83225         (mbi_init): Update.
83226         (mbi_avail, mbi_advance): Let the iteration end before the terminating
83227         NUL byte, not after it.
83228
83229 2005-08-16  Bruno Haible  <bruno@clisp.org>
83230
83231         * lib/strcase.h (strcasecmp): Add note in comments.
83232         * lib/strncasecmp.c: Use code from strcasecmp.c.
83233         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
83234         (strcasecmp): Work correctly in multibyte locales.
83235
83236 2005-08-16  Bruno Haible  <bruno@clisp.org>
83237
83238         * lib/mbiter.h: New file.
83239
83240 2005-08-16  Bruno Haible  <bruno@clisp.org>
83241
83242         * lib/mbfile.h: New file.
83243
83244 2005-08-16  Bruno Haible  <bruno@clisp.org>
83245
83246         * lib/mbchar.h: New file.
83247         * lib/mbchar.c: New file.
83248
83249 2005-08-16  Bruno Haible  <bruno@clisp.org>
83250
83251         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
83252         the valid ones. Makes the comparison operations transitive:
83253         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
83254         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
83255
83256 2005-08-15  Simon Josefsson  <jas@extundo.com>
83257
83258         * modules/ssize_t (License): Change to 'unlimited'.
83259
83260         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
83261
83262 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
83263
83264         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
83265         Add comments for each pending glibc patch.
83266
83267 2005-08-15  Bruno Haible  <bruno@clisp.org>
83268
83269         * lib/regex.h (__restrict_arr): Don't define to __restrict if
83270         __cplusplus is defined.
83271
83272 2005-08-14  Jim Meyering  <jim@meyering.net>
83273
83274         Sync from coreutils.
83275
83276         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
83277         Use the hash-table-based cycle-detection code not just when
83278         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
83279         Reported by James Youngman in
83280         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
83281         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
83282         FTS_TIGHT_CYCLE_CHECK.
83283         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
83284         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
83285         once again.
83286         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
83287         * lib/fts.c (fd_safer): Remove decl.
83288         Include fcntl--.h rather than unistd-safer.h
83289         (fts_safe_changedir): Don't call fd_safer; no longer needed
83290         now that we include fcntl--.h.
83291
83292 2005-08-12  Simon Josefsson  <jas@extundo.com>
83293
83294         * modules/getndelim2: Use ssize_t module.
83295         * modules/getnline: Likewise.
83296         * modules/safe-read: Likewise.
83297         * modules/xreadlink: Likewise.
83298
83299         * modules/ssize_t: New file.
83300
83301 2005-08-12  Simon Josefsson  <jas@extundo.com>
83302
83303         * m4/readline.m4: Look for termcap, curses or ncurses if required.
83304
83305 2005-08-12  Simon Josefsson  <jas@extundo.com>
83306
83307         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83308         ssize_t.
83309
83310 2005-08-12  Simon Josefsson  <jas@extundo.com>
83311
83312         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
83313         readline, getdelim and check_version.
83314         (Support for systems lacking ISO C 99: Sizes of integer types):
83315         Add size_max.
83316
83317 2005-08-12  Bruno Haible  <bruno@clisp.org>
83318
83319         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
83320
83321 2005-08-11  Simon Josefsson  <jas@extundo.com>
83322
83323         * modules/readline: New file.
83324
83325         * modules/strnlen (Files): Add strnlen.h.
83326
83327 2005-08-11  Simon Josefsson  <jas@extundo.com>
83328
83329         * m4/readline.m4: New file.
83330
83331 2005-08-11  Simon Josefsson  <jas@extundo.com>
83332
83333         * lib/readline.h, readline.c: New file.
83334
83335 2005-08-11  Simon Josefsson  <jas@extundo.com>
83336
83337         * doc/gnulib.texi (Initial import, Finishing touches): Mention
83338         gl_AVOID.
83339
83340 2005-08-11  Bruno Haible  <bruno@clisp.org>
83341
83342         * lib/strnlen.h (strnlen): Change parameter name to match comment.
83343
83344 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
83345
83346         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
83347
83348 2005-08-10  Simon Josefsson  <jas@extundo.com>
83349
83350         * tests/test-iconvme.c: New file.
83351
83352 2005-08-10  Simon Josefsson  <jas@extundo.com>
83353
83354         * m4/strnlen.m4: New file.
83355
83356         * m4/strndup.m4: Don't check for strnlen declaration, done in
83357         strnlen.m4.
83358
83359 2005-08-10  Simon Josefsson  <jas@extundo.com>
83360
83361         * lib/strndup.c: Use strnlen.h.
83362
83363         * lib/strnlen.h: New file.
83364
83365 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83366
83367         * README: Typos.
83368
83369 2005-08-02  Simon Josefsson  <jas@extundo.com>
83370
83371         * modules/readline: New file.
83372
83373 2005-08-02  Simon Josefsson  <jas@extundo.com>
83374
83375         * modules/getdelim: New file.
83376
83377         * modules/getline: Rewrite, don't use getndelim2.
83378
83379 2005-08-02  Simon Josefsson  <jas@extundo.com>
83380
83381         * m4/getline.m4: Separate out getdelim stuff into separate module.
83382
83383         * m4/getdelim.m4: New file.
83384
83385 2005-08-02  Simon Josefsson  <jas@extundo.com>
83386
83387         * lib/getline.h, getline.c: Rewrite.
83388
83389         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
83390
83391 2005-07-31  Bruno Haible  <bruno@clisp.org>
83392
83393         * lib/lock.h (gl_lock_initializer): New macro.
83394         (gl_lock_define_initialized): Use it.
83395         (gl_rwlock_initializer): New macro.
83396         (gl_rwlock_define_initialized): Use it.
83397         (gl_recursive_lock_initializer): New macro.
83398         (gl_recursive_lock_define_initialized): Use it.
83399
83400 2005-07-30  Karl Berry  <karl@gnu.org>
83401
83402         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
83403         Report from Ben Pfaff, regarding getopt.
83404
83405 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
83406
83407         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
83408         normal way.
83409         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
83410         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
83411         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
83412         (gl_GETOPT): Use the new macros.  Most of the implementation
83413         is moved to the new macros.  This is for programs like Emacs
83414         that don't want all the functionality of gl_GETOPT.
83415
83416 2005-07-26  Bruno Haible  <bruno@clisp.org>
83417
83418         * m4/lock.m4: Update from GNU gettext.
83419
83420 2005-07-26  Bruno Haible  <bruno@clisp.org>
83421
83422         * lib/lock.h: Update from GNU gettext.
83423         * lib/lock.c: Update from GNU gettext.
83424
83425 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
83426
83427         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
83428         obsolescent AC_TRY_RUN.  Include the default includes files, for
83429         'exit'.
83430
83431 2005-07-24  Bruno Haible  <bruno@clisp.org>
83432
83433         * modules/visibility: New file.
83434         * MODULES.html.sh (Misc): Add visibility.
83435
83436 2005-07-24  Bruno Haible  <bruno@clisp.org>
83437
83438         * m4/visibility.m4: New file.
83439
83440 2005-07-24  Bruno Haible  <bruno@clisp.org>
83441
83442         * doc/visibility.texi: New file.
83443
83444 2005-07-22  Bruno Haible  <bruno@clisp.org>
83445
83446         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83447         $(ALLOCA_H), redundant through BUILT_SOURCES.
83448         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83449         redundant through BUILT_SOURCES.
83450         * modules/byteswap (Makefile.am): Remove explicit dependency on
83451         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83452         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83453         $(FNMATCH_H), redundant through BUILT_SOURCES.
83454         * modules/getopt (Makefile.am): Remove explicit dependency on
83455         $(GETOPT_H), redundant through BUILT_SOURCES.
83456         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83457         redundant through BUILT_SOURCES.
83458         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83459         redundant through BUILT_SOURCES.
83460         * modules/stdbool (Makefile.am): Remove explicit dependency on
83461         $(STDBOOL_H), redundant through BUILT_SOURCES.
83462         * modules/stdint (Makefile.am): Remove explicit dependency on
83463         $(STDINT_H), redundant through BUILT_SOURCES.
83464         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83465         Remove explicit dependency on $(SYSEXITS_H).
83466         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83467
83468 2005-07-18  Simon Josefsson  <jas@extundo.com>
83469
83470         * lib/check-version.c (check_version): Accept identical versions too.
83471
83472 2005-07-18  Bruno Haible  <bruno@clisp.org>
83473
83474         * modules/lock: New file.
83475         * MODULES.html.sh (Multithreading): New section.
83476
83477 2005-07-18  Bruno Haible  <bruno@clisp.org>
83478
83479         * m4/lock.m4: New file, from GNU gettext.
83480
83481 2005-07-18  Bruno Haible  <bruno@clisp.org>
83482
83483         * lib/lock.h: New file, from GNU gettext.
83484         * lib/lock.c: New file, from GNU gettext.
83485
83486 2005-07-18  Bruno Haible  <bruno@clisp.org>
83487
83488         * lib/lock.h (gl_once_t): New type.
83489         (gl_once_define, gl_once): New macros.
83490         * lib/lock.c (fresh_once): New variable.
83491         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83492         functions.
83493
83494 2005-07-16  Simon Josefsson  <jas@extundo.com>
83495
83496         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83497         workaround, suggested by Bruno.
83498
83499 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83500
83501         * modules/xalloc (Depends-on): Add xalloc-die.
83502         * modules/xvasprintf (Depends-on): Add xalloc-die.
83503
83504 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83505
83506         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83507         with a minor change.
83508
83509 2005-07-15  Bruno Haible  <bruno@clisp.org>
83510
83511         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83512         When using lib/poll.c, define poll as rpl_poll.
83513
83514 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83515
83516         * modules/argp (Depends-on): Remove unlocked-io.
83517
83518 2005-07-14  Derek Price  <derek@ximbiot.com>
83519
83520         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83521         for glob symlink bug.
83522
83523 2005-07-14  Bruno Haible  <bruno@clisp.org>
83524
83525         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83526         Instead, test for *_unlocked function declarations directly.
83527
83528 2005-07-11  Simon Josefsson  <jas@extundo.com>
83529
83530         * modules/size_max: New file.
83531
83532         * modules/xsize: Depend on size_max module for size_max.m4.
83533
83534 2005-07-11  Simon Josefsson  <jas@extundo.com>
83535
83536         * lib/size_max.h: New file.
83537
83538 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83539
83540         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83541         copyright symbol and the year.
83542         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83543         (version_etc_va): Use parameterized copyright notice.
83544         Reword to conform to the current GNU coding standards.
83545
83546 2005-07-11  Karl Berry  <karl@gnu.org>
83547
83548         * doc/gnulib.texi (Quoting): new node.
83549         (Initial import): more info, from Patrice.
83550
83551 2005-07-11  Bruno Haible  <bruno@clisp.org>
83552
83553         * gnulib-tool (func_usage): Document option --avoid.
83554         (Command line options): Handle --avoid.
83555         (func_acceptable): New function.
83556         (func_modules_transitive_closure): Use it.
83557
83558 2005-07-11  Bruno Haible  <bruno@clisp.org>
83559
83560         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83561         Reported by Jim Meyering.
83562
83563 2005-07-10  Bruno Haible  <bruno@clisp.org>
83564
83565         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83566         Needed when size_t is smaller than 'unsigned int'.
83567         Reported by Paul Eggert.
83568
83569 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83570
83571         * modules/argp (Depends-on): Add unlocked-io
83572
83573 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83574
83575         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83576         block of defines.
83577
83578 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83579
83580         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83581         fix now.
83582
83583 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83584         and Paul Eggert  <eggert@cs.ucla.edu>
83585
83586         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83587         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83588
83589 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83590
83591         * modules/regex (Files): Add lib/regex_internal.c,
83592         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83593         (Depends-on): Add extensions.
83594         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83595
83596 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83597
83598         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83599         pathconf.
83600         * m4/same.m4 (gl_SAME): Likewise.
83601         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
83602
83603         * m4/regex.m4: Adjust to new libc regex implementation.
83604         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
83605         all the .c and .h parts of (the new) regex.
83606         Quote the m4 stuff better.
83607         Check for RE_ICASE bug of old gnulib.
83608         Check for REG_STARTEND of recent libc.
83609         Rename local variables from jm_* to gl_*.
83610         Quote operand of "test -f".
83611         Say "recent enough" version of libc, not "version 2".
83612         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
83613         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
83614         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
83615         Remove check for btowc, isascii.
83616         Require AM_LANGINFO_CODESET.
83617
83618 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83619
83620         * lib/regex.c, regex.h: Sync from libc.
83621         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
83622         * lib/regexec.c:
83623         New files, synced from libc, except that regex_internal.h
83624         currently has a small porting fix.
83625
83626 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83627
83628         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
83629         regex_internal.c, regexec.c.
83630         Add regex_internal.h too, but as a comment, since the libc version
83631         is currently broken in gnulib mode.
83632
83633 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83634
83635         Support programs like Emacs that use gnulib but not gettext.
83636         * MODULES.html.sh (Internationalization functions): Add gettext-h.
83637         * modules/gettext-h: New file.
83638         * modules/gettext (Files): Remove lib/gettext.h.
83639         (Depends-on): Add gettext-h.
83640         (Makefile.am): Remove lib_SOURCES.
83641         * modules/argmatch, modules/c-stack, modules/closeout:
83642         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83643         * modules/execute, modules/file-type, modules/getaddrinfo:
83644         * modules/getopt, modules/human, modules/javacomp:
83645         * modules/javaexec, modules/mkdir-p, modules/obstack:
83646         * modules/openat, modules/pagealign_alloc, modules/pipe:
83647         * modules/quotearg, modules/regex, modules/rpmatch:
83648         * modules/unicodeio, modules/userspec, modules/version-etc:
83649         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83650         * modules/xsetenv:
83651         Depend on gettext-h, not gettext.
83652
83653 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83654
83655         * gnulib-tool (func_import): Add support for 'public domain' license.
83656         * modules/alloca, modules/atexit, modules/memmove:
83657         Now public domain, not GPL.
83658         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83659         * modules/realloc, modules/strerror, modules/strtod:
83660         Now LGPL, not GPL.
83661
83662 2005-07-05  Bruno Haible  <bruno@clisp.org>
83663
83664         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
83665         autoconf CVS. Needed for mingw.
83666
83667 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83668
83669         Remove the dependency of the strftime module on the tzset module.
83670         * modules/strftime (Depends-on): Remove dependency on tzset.
83671
83672 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83673
83674         Remove the dependency of the strftime module on the tzset module.
83675         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
83676         gl_FUNC_TZSET_CLOBBER.
83677
83678 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83679
83680         Remove the dependency of the strftime module on the tzset module.
83681         * lib/strftime.c (my_strftime)
83682         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
83683         Copy the input structure, to work around some of the bug with
83684         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
83685         Solaris releases, you should also use the tzset module, but we won't
83686         require it as a dependency any more since we don't want LGPLed code
83687         to depend on GPLed code.
83688
83689 2005-07-02  Jim Meyering  <jim@meyering.net>
83690
83691         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
83692         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
83693         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
83694         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
83695
83696 2005-07-02  Jim Meyering  <jim@meyering.net>
83697
83698         * lib/backupfile.c (backup_args): Change a `0' to NULL.
83699
83700 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83701
83702         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
83703         declares only 'struct timespec;' (!).
83704
83705 2005-07-01  Jim Meyering  <jim@meyering.net>
83706
83707         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
83708         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
83709         * lib/save-cwd.c, tempname.c:
83710         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83711         and don't include <sys/file.h>).
83712
83713 2005-06-29  Jim Meyering  <jim@meyering.net>
83714
83715         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
83716         type name.  Use the variable name instead.
83717         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
83718         Likewise.
83719
83720 2005-06-28  Simon Josefsson  <jas@extundo.com>
83721
83722         * modules/check-version (Files): Add check-version.m4.
83723
83724 2005-06-28  Simon Josefsson  <jas@extundo.com>
83725
83726         * m4/check-version.m4: New file, suggested by Jim Meyering
83727         <jim@meyering.net>.
83728
83729 2005-06-28  Simon Josefsson  <jas@extundo.com>
83730
83731         * lib/check-version.h, lib/check-version.c: New files.
83732
83733 2005-06-28  Simon Josefsson  <jas@extundo.com>
83734
83735         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
83736         collision with global variable.  Better indentation.  Don't
83737         increment buffer pointer beyond buffer end.  Based on comments
83738         from Paul Eggert <eggert@cs.ucla.edu>.
83739
83740         * lib/base64.h: Indent.
83741
83742 2005-06-28  Simon Josefsson  <jas@extundo.com>
83743
83744         * doc/gnulib.texi (Library version handling): New section.
83745
83746 2005-06-28  Jim Meyering  <jim@meyering.net>
83747
83748         * check-module (find_included_lib_files): Hard-code another
83749         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
83750         but modules/fts-lgpl (correctly) does not list those files.
83751
83752         * modules/canonicalize (Files): Add lib/pathmax.h.
83753
83754 2005-06-25  Simon Josefsson  <jas@extundo.com>
83755
83756         * modules/check-version: New file.
83757
83758 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83759
83760         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
83761         initializer of struct addrinfo, as an indication that we don't
83762         care how many members the structure has.
83763
83764 2005-06-24  Derek Price  <derek@ximbiot.com>
83765         and Bruno Haible  <bruno@clisp.org>
83766
83767         Remove stat module & update lstat.
83768         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
83769         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83770         * m4/stat.m4: Remove this file.
83771
83772 2005-06-24  Derek Price  <derek@ximbiot.com>
83773         and Bruno Haible  <bruno@clisp.org>
83774
83775         Remove stat module & update lstat.
83776         * lib/stat.c: Remove this file...
83777         (slash_aware_lstat): ...moving this content and its support...
83778         * lib/lstat.c (rpl_lstat): ...into here.
83779         * lib/lstat.h: New file.
83780
83781 2005-06-24  Derek Price  <derek@ximbiot.com>
83782         and Bruno Haible  <bruno@clisp.org>
83783
83784         Remove stat module & update lstat.
83785         * config/srclist.txt (libc sources): Remove stat.
83786
83787 2005-06-24  Derek Price  <derek@ximbiot.com>
83788         and Bruno Haible  <bruno@clisp.org>
83789
83790         Remove stat module & update lstat.
83791         * MODULES.html.sh (stat): Remove.
83792         * MODULES.html: Regenerated.
83793         * modules/lstat (Description): Correct function name.
83794         (Files): Add "lstat.h".
83795         (Depends-on): Remove stat, add xalloc, stat-macros.
83796         * modules/stat: Remove this file.
83797         (Include): Add "lstat.h", remove <sys/stat.h>.
83798
83799 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
83800
83801         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
83802         (ranged_convert): Don't save conversion in a temporary struct.
83803         This causes a warning with GCC 4.0.0, and anyway in the typical
83804         case it's not worth the extra 100 bytes or so of code.
83805         (ranged_convert, __mktime_internal): When calling a function via a
83806         pointer P, use P () rather than (*P) (), as we now assume C89 or
83807         better.
83808
83809 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83810
83811         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
83812         "who -r" failed to give output.  Problem reported by Tim Waugh.
83813
83814         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
83815         (xcalloc): Use it to avoid needless tests.
83816         Problem reported by Jim Meyering.
83817
83818 2005-06-20  Derek Price  <derek@ximbiot.com>
83819
83820         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
83821         unnecessary for Autoconfs > 2.59c.
83822
83823 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83824
83825         * lib/argp.h (__option_is_short): Check upper limit of
83826         __key. Isprint() requires its argument to have the value
83827         of an unsigned char or EOF.
83828
83829 2005-06-16  Jim Meyering  <jim@meyering.net>
83830
83831         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
83832         when either N or S is zero.
83833
83834 2005-06-16  Derek Price  <derek@ximbiot.com>
83835
83836         * m4/bison.m4: Declare YACC & YFLAGS precious.
83837
83838 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
83839
83840         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
83841         multibyte string or pattern, fall back on unibyte matching.
83842         Problem reported by James Youngman.
83843
83844 2005-06-08  Bruno Haible  <bruno@clisp.org>
83845
83846         * modules/csharpcomp: New file.
83847         * MODULES.html.sh (C#): Add csharpcomp.
83848
83849 2005-06-08  Bruno Haible  <bruno@clisp.org>
83850
83851         * m4/csharpcomp.m4: New file, from GNU gettext.
83852
83853 2005-06-08  Bruno Haible  <bruno@clisp.org>
83854
83855         * lib/csharpcomp.h: New file, from GNU gettext.
83856         * lib/csharpcomp.c: New file, from GNU gettext.
83857         * lib/csharpcomp.sh.in: New file, from GNU gettext.
83858
83859 2005-06-08  Bruno Haible  <bruno@clisp.org>
83860
83861         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
83862         warning on mingw.
83863
83864 2005-06-07  Derek Price  <derek@ximbiot.com>
83865
83866         Sync from CVS.
83867         * lib/glob_.h: Indent nested #ifdef.
83868
83869 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83870
83871         Sync from coreutils.
83872         Use "file name" when talking about file names, instead of "filename"
83873         or "path", as per the GNU coding standards.
83874         * lib/mkdir-p.c: Renamed from makepath.c.
83875         (make_dir_parents): Renamed from make_path.  All callers changed.
83876         * lib/mkdir-p.h: Likewise.  All includers changed.
83877         * lib/filenamecat.c: Renamed from path-concat.c.
83878         (file_name_concat): Renamed from path_concat.  All callers changed.
83879         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
83880         * lib/filenamecat.h: Likewise.  All includers changed.
83881         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
83882         in comments or local variable names.
83883         * lib/basename.c: Likewise.
83884         * lib/canonicalize.c, canonicalize.h: Likewise.
83885         * lib/dirname.c, dirname.h: Likewise.
83886         * lib/euidaccess.c: Likewise.
83887         * lib/exclude.c: Likewise
83888         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
83889         * lib/fsusage.c, fsuage.h: Likewise.
83890         * lib/fts.c, fts_.h: Likewise.
83891         * lib/getcwd.c: Likewise.
83892         * lib/getloadavg.c: Likewise.
83893         * lib/mkstemp.c: Likewise.
83894         * lib/mountlist.c, mountlist.h: Likewise.
83895         * lib/openat.c, openat.h: Likewise.
83896         * lib/readlink-stub.c: Likewise.
83897         * lib/readutmp.c, readutmp.h: Likewise.
83898         * lib/rename.c: Likewise.
83899         * lib/rmdir.c: Likewise.
83900         * lib/same.c: Likewise.
83901         * lib/savedir.c: Likewise.
83902         * lib/stripslash.c: Likewise.
83903         * lib/tempname.c: Likewise.
83904         * lib/xreadlink.c: Likewise.
83905         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
83906         All uses changed.
83907         * lib/exclude.h: Likewise.
83908
83909         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
83910         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83911         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
83912         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83913         * lib/pathmax.h: Include <limits.h> unconditionally, since other
83914         files have been getting away with it for years (MORE/BSD 4.3
83915         is extinct now).
83916         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
83917         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83918
83919         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
83920         Define to 256, not 255, as per modern POSIX.
83921
83922 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83923
83924         Sync from coreutils.
83925         Use "file name" when talking about file names, instead of "filename"
83926         or "path", as per the GNU coding standards.
83927         * MODULES.html.sh: mkdir-p renamed from makepath.
83928         filenamecat renamed from path-concat.
83929         * modules/filenamecat: Renamed from modules/path-concat.
83930         (Files): filenamecat.h and filenamecat.c renamed from
83931         path-concat.h and path-concat.c.
83932         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
83933         (Include): filenamecat.h, not path-concat.h.
83934         * modules/mkdir-p: Renamed from modules/makepath.
83935         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
83936         makepath.c.
83937         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
83938         (Include): mkdir-p.h, not makepath.h.
83939
83940 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83941
83942         Sync from coreutils.
83943         * m4/mkdir-p.m4: Renamed from makepath.m4.
83944         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
83945         Rename files from makepath.c to mkdir-p.c, and from
83946         makepath.h to mkdir-p.h.
83947         * m4/filenamecat.m4: Renamed from path-concat.m4.
83948         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
83949         Rename files from path-concat.c to filenamecat.c,
83950         and from path-concat.h to filenamecat.h.
83951         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
83952         "file name" in local variables or comments.
83953         * m4/rename.m4: Likewise.
83954
83955 2005-06-01  Bruno Haible  <bruno@clisp.org>
83956
83957         * modules/csharpexec: New file.
83958         * MODULES.html.sh (C#): New section.
83959
83960 2005-06-01  Bruno Haible  <bruno@clisp.org>
83961
83962         * m4/csharp.m4: New file, from GNU gettext.
83963         * m4/csharpexec.m4: New file, from GNU gettext.
83964
83965 2005-06-01  Bruno Haible  <bruno@clisp.org>
83966
83967         * lib/csharpexec.h: New file, from GNU gettext.
83968         * lib/csharpexec.c: New file, from GNU gettext.
83969         * lib/csharpexec.sh.in: New file, from GNU gettext.
83970
83971 2005-05-31  Derek Price  <derek@ximbiot.com>
83972             Paul Eggert  <eggert@cs.ucla.edu>
83973
83974         Sync from cvs.
83975         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83976
83977 2005-05-31  Derek Price  <derek@ximbiot.com>
83978             Paul Eggert  <eggert@cs.ucla.edu>
83979
83980         Sync from cvs.
83981         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83982
83983 2005-05-29  Derek Price  <derek@ximbiot.com>
83984
83985         * config/srclist.txt (glob_.h, glob.c): Add these files.
83986
83987 2005-05-29  Derek Price  <derek@ximbiot.com>
83988
83989         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
83990         * modules/glob: New file.
83991         * modules/getlogin_r: Add link to POSIX spec in description.
83992
83993 2005-05-29  Derek Price  <derek@ximbiot.com>
83994             Paul Eggert  <eggert@cs.ucla.edu>
83995
83996         * m4/glob.m4: New file.
83997
83998 2005-05-29  Derek Price  <derek@ximbiot.com>
83999             Paul Eggert  <eggert@cs.ucla.edu>
84000
84001         * lib/glob_.h, lib/glob.c: New files.
84002
84003 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84004
84005         * modules/fts (Files): Remove m4/inttypes-pri.m4.
84006         * modules/fts-lgpl (Depends-on): Remove gettext.
84007
84008 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84009
84010         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84011         and don't require gt_INTTYPES_PRI.
84012
84013 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84014
84015         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84016
84017         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84018         the configuration hassle isn't worth it.
84019         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84020         (LONGEST_MODIFIER, PRIuMAX): Remove.
84021
84022 2005-05-27  Bruno Haible  <bruno@clisp.org>
84023
84024         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84025
84026 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84027
84028         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84029         _POSIX_PTHREAD_SEMANTICS for Solaris.
84030
84031 2005-05-25  Derek Price  <derek@ximbiot.com>
84032
84033         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84034
84035 2005-05-25  Derek Price  <derek@ximbiot.com>
84036             Paul Eggert  <eggert@cs.ucla.edu>
84037
84038         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84039         * lib/getlogin_r.c, getlogin_r.h: New files.
84040
84041 2005-05-25  Bruno Haible  <bruno@clisp.org>
84042             Derek Price  <derek@ximbiot.com>
84043
84044         * lib/getlogin_r.h: Simplify API documentation.
84045
84046 2005-05-23  Derek Price  <derek@ximbiot.com>
84047
84048         * modules/minmax (Files): Add m4/minmax.m4.
84049         (configure.ac): Add gl_MINMAX.
84050
84051 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84052
84053         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84054         so that unistd-safer.h (GPL'ed code) need not be included.
84055
84056 2005-05-22  Bruno Haible  <bruno@clisp.org>
84057
84058         * m4/minmax.m4: New file.
84059         Based on a patch by Derek Price <derek@ximbiot.com>.
84060
84061 2005-05-22  Bruno Haible  <bruno@clisp.org>
84062
84063         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
84064         (INT64_MIN): Fix definition.
84065         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
84066
84067         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
84068         NEED_SIGNED_INT_TYPES.
84069
84070         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
84071         HAVE_SYSTEM_INTTYPES.
84072
84073 2005-05-22  Bruno Haible  <bruno@clisp.org>
84074
84075         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
84076         Also include <sys/param.h> if it defines MIN, MAX.
84077         Based on a patch by Derek Price <derek@ximbiot.com>.
84078
84079 2005-05-21  Jim Meyering  <jim@meyering.net>
84080
84081         * modules/fts (Files): Add m4/inttypes-pri.m4.
84082         (Depends-on): Add lstat and remove gettext.  Alphabetize.
84083
84084 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         New fts module.
84087         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
84088         (setup_dir, free_dir): New functions.
84089         (enter_dir, leave_dir): Define trivial
84090         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
84091         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
84092         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
84093         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
84094         Move to fts-cycle.c.
84095         (fts_open): Use setup_dir.
84096         (fts_close): Use free_dir.
84097         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
84098         This adds a label and some gotos, but the alternatives were messier.
84099         Check for memory allocation failure when entering a dir.
84100         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
84101         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
84102         (FTS): New member fts_cycle, that is a union that contains the
84103         old active_dir_ht and cycle_state.  All uses changed to mention
84104         fts_cycle.ht and fts_cycle.state.
84105         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
84106         fts.c, with the following changes:
84107         (setup_dir, free_dir): New functions.
84108         (enter_dir): Now returns bool.  Return true if successful, false
84109         if memory exhausted.  All callers changed.
84110         Do not bother partly cleaning up on
84111         memory allocation failure; that is free_dir's job.
84112         However, free ad if hash_insert fails, to avoid memory leak.
84113         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
84114         fts->fts_options to see which union member to use.
84115
84116 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84117
84118         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
84119         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
84120
84121 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84122
84123         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
84124
84125 2005-05-20  Jim Meyering  <jim@meyering.net>
84126
84127         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
84128         Now a macro, to pacify GCC.
84129
84130 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84131
84132         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
84133         of -1.
84134
84135 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84136
84137         * lib/chown.c (rpl_chown): Return -1 on failure.
84138
84139 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84140
84141         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
84142         Don't check for stddef.h.
84143         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
84144         don't use its results.
84145         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
84146         since we include them unconditionally.  Don't require
84147         AM_STDBOOL_H, since stdbool is a prerequisite.
84148         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
84149         since we assume C89 or better.
84150         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
84151         as we don't use their results.
84152         Don't check for fchdir, memmove, memset, strrchr, as we use
84153         them unconditionally.
84154         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
84155         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
84156
84157 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84158
84159         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
84160         Include <stddef.h> unconditionally, since we assume C89 now.
84161         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
84162         * lib/fts.c: Include fts_.h first, to check interface.
84163         Do not include intprops.h; no longer needed.
84164         Include cycle-check.h and hash.h, since fts_.h no longer does.
84165         Remove unnecessary casts of closedir to void.
84166         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
84167         decide whether to decrement nlinks.
84168         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
84169         (FTS): Use struct hash_table * instead of Hash_table, so that
84170         we no longer need to include hash.h here.
84171
84172 2005-05-18  Jim Meyering  <jim@meyering.net>
84173
84174         * modules/dirfd (License): Change to LGPL.  Most of the code
84175         is already in the public domain.
84176
84177 2005-05-18  Jim Meyering  <jim@meyering.net>
84178
84179         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
84180         Reported by Yoann Vandoorselaere.
84181
84182 2005-05-17  Jim Meyering  <jim@meyering.net>
84183
84184         * m4/fts.m4: New file, from coreutils.
84185
84186 2005-05-17  Jim Meyering  <jim@meyering.net>
84187
84188         * lib/fts.c, lib/fts_.h: New files, from coreutils.
84189
84190 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84191
84192         Sync from coreutils.
84193         * m4/unlinkdir.m4: New file.
84194
84195 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84196
84197         Sync from coreutils.
84198         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
84199         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
84200         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
84201         White space changes only.
84202         * lib/makepath.c (make_path): Port to hosts where leading "//" is
84203         special.
84204         * lib/yesno.c: Include getline.h, not ctype.h.
84205         (yesno): Don't remove leading white space; POSIX doesn't allow it.
84206         Use getline to remove arbitrary restriction on response length.
84207
84208 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84209
84210         * config/srclist-update: Spell out "Street" in FSF postal
84211         mail address; this is the style the FSF seems to prefer.
84212
84213         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
84214         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
84215         this updates FSF postal mail address.
84216
84217         Sync from coreutils.
84218         * modules/unlinkdir: New file.
84219         * modules/yesno (Depends-on): Add getline.
84220         * MODULES.html.sh (File system functions): Add unlinkdir.
84221
84222 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84223
84224         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
84225         lib/strsep.h:
84226         Change the initial comment to refer to GPL, not LGPL.
84227         gnulib-tool will change it to LGPL as needed.
84228
84229         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
84230         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
84231         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
84232         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
84233         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
84234         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
84235         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
84236         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
84237         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
84238         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
84239         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
84240         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
84241         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
84242         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
84243         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
84244         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
84245         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
84246         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
84247         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
84248         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
84249         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
84250         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
84251         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
84252         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
84253         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
84254         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
84255         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
84256         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
84257         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
84258         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
84259         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
84260         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
84261         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
84262         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
84263         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
84264         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
84265         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
84266         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
84267         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
84268         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
84269         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
84270         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
84271         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
84272         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
84273         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
84274         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
84275         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
84276         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
84277         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
84278         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
84279         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84280         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
84281         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
84282         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
84283         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
84284         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
84285         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
84286         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
84287         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
84288         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
84289         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
84290         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
84291         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
84292         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
84293         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
84294         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
84295         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
84296         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
84297         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
84298         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
84299         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
84300         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
84301         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
84302         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
84303         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
84304         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
84305         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
84306         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
84307         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
84308         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
84309         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
84310         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
84311         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
84312         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
84313         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
84314         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
84315         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
84316         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
84317         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
84318         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
84319         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
84320         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
84321         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
84322         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
84323         lib/yesno.c, lib/yesno.h:
84324         Update FSF postal mail address.
84325
84326 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84327
84328         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
84329         tests/test-memmem.c, tests/test-stpncpy.c:
84330         Update FSF postal mail address.
84331
84332 2005-05-13  Bruno Haible  <bruno@clisp.org>
84333
84334         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
84335         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
84336         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
84337         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
84338         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
84339         Add support for 64-bit integers in the MSVC compiler.
84340
84341 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84342
84343         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
84344
84345 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
84346
84347         * gnulib-tool (func_import): Sort and uniquify recommended includes.
84348
84349 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
84350
84351         * doc/getdate.texi (General date syntax): Don't say that date
84352         date --iso-8601=ns generates acceptable dates; it doesn't yet.
84353         Problem reported by Nic Ferrier.
84354
84355 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84356
84357         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
84358         specified in ai_socktype. Fix invalid ai_protocol
84359         check. ai_protocol is usually set to 0 or depending on
84360         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
84361         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
84362         ai_socktype / ai_protocol in the returned addrinfo structure.
84363
84364 2005-05-10  Simon Josefsson  <jas@extundo.com>
84365
84366         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
84367         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84368
84369 2005-05-10  Karl Berry  <karl@gnu.org>
84370
84371         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
84372         (from http://www.gnu.org/licenses).
84373         * doc/COPYING.LIB: also rename to COPYING.LESSER.
84374         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
84375         fdl.texi suffices.
84376
84377 2005-05-10  Karl Berry  <karl@gnu.org>
84378
84379         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
84380         (COPYING.DOC): remove.
84381
84382         * config/srclist-update: new FSF address.
84383
84384 2005-05-10  Derek Price  <derek@ximbiot.com>
84385
84386         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
84387         possible.
84388
84389 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84390             Bruno Haible  <bruno@clisp.org>
84391
84392         * modules/inet_ntop: New file.
84393         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84394         inet_ntop.
84395
84396 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84397             Bruno Haible  <bruno@clisp.org>
84398
84399         * m4/inet_ntop.m4: New file.
84400
84401 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84402             Bruno Haible  <bruno@clisp.org>
84403
84404         * lib/inet_ntop.h: New file.
84405         * lib/inet_ntop.c: New file, from glibc with modifications.
84406
84407 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
84408
84409         * modules/time_r (License): Change to LGPL.
84410         * modules/extensions (License): Change to LGPL.  Actually,
84411         the license is more permissive than that, but currently gnulib-tool
84412         doesn't know how to handle more-permissive licenses.
84413
84414         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
84415         Problem reported by Dave Love.
84416
84417 2005-05-08  Jim Meyering  <jim@meyering.net>
84418
84419         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
84420         blank.
84421
84422 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84423
84424         * modules/argmatch (Depends-on): Add stdbool.
84425         * modules/backupfile (Depends-on): Likewise.
84426         * modules/chdir-long (Depends-on): Likewise.
84427         * modules/closeout (Depends-on): Likewise.
84428         * modules/cycle-check (Depends-on): Likewise.
84429         * modules/dirname (Depends-on): Likewise.
84430         * modules/fnmatch (Depends-on): Likewise.
84431         * modules/fsusage (Depends-on): Likewise.
84432         * modules/fwriteerror (Depends-on): Likewise.
84433         * modules/getcwd (Depends-on): Likewise.
84434         * modules/getloadavg (Depends-on): Likewise.
84435         * modules/hard-locale (Depends-on): Likewise.
84436         * modules/makepath (Depends-on): Likewise.
84437         * modules/mountlist (Depends-on): Likewise.
84438         * modules/nanosleep (Depends-on): Likewise.
84439         * modules/posixtm (Depends-on): Likewise.
84440         * modules/quotearg (Depends-on): Likewise.
84441         * modules/readtokens (Depends-on): Likewise.
84442         * modules/readtokens0 (Depends-on): Likewise.
84443         * modules/readutmp (Depends-on): Likewise.
84444         * modules/save-cwd (Depends-on): Likewise.
84445         * modules/strftime (Depends-on): Likewise.
84446         * modules/userspec (Depends-on): Likewise.
84447         * modules/utimecmp (Depends-on): Likewise.
84448         * modules/xgetcwd (Depends-on): Likewise.
84449         * modules/xnanosleep (Depends-on): Likewise.
84450         * modules/xstrtod (Depends-on): Likewise.
84451         * modules/yesno (Depends-on): Likewise.
84452
84453 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84454
84455         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84456         needless checks.
84457
84458 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84459
84460         Merge from coreutils.  Among other things,
84461         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84462         * lib/fd-safer.c: New file.
84463         * lib/fcntl-safer.h, open-safer.c: Remove.
84464         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84465         * lib/dup-safer.c: Include unistd-safer.h first.
84466         Don't include errno.h.
84467         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84468         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84469         * lib/file-type.c: Rely on file-type.h change.
84470         * lib/getloadavg.c: Include unistd-safer.h.
84471         (getloadavg): Use safer open.
84472         * lib/getusershell.c: Include "stdio-safer.h".
84473         (getusershell): Use safer fopen.
84474         * lib/long-options.c (long_options): Use NULL rather than 0.
84475         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84476         'free'.
84477         * lib/modechange.c: Likewise.
84478         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84479         (MODE_DONE): New constant.
84480         (struct mode_change): Remove 'next' member.
84481         (make_node_op_equals): New function; like the old one of the
84482         same name, except it allocates an array.
84483         (mode_compile, mode_create_from_ref): Use it.
84484         (mode_compile): Allocate result as an array, not a linked list.
84485         Parse octal string ourself, so that we catch mistakes like "+0".
84486         (mode_adjust): Arg is an array, not a linked list.
84487         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84488         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84489         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84490         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84491         Remove.  This is now stat-macros.h's job.
84492         (talloc): Remove.  All callers replaced by xalloc, so that
84493         our invokers don't have to worry about reporting memory failures.
84494         (make_node_op_equals): Remove.
84495         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84496         New constants.
84497         (struct mode_change): Moved here from modechange.h.
84498         (mode_append_entry): Remove.
84499         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84500         apps to have incorrect behavior.  Use simpler algorithm for head
84501         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84502         Detect more invalid usages rather than having somewhat-random behavior.
84503         Don't insert an "a=" action, as that leads to incorrect behavior.
84504         (mode_compile, mode_create_from_ref): Return NULL on error instead
84505         of an enum, since now there's only one way to have an error.  All
84506         callers changed.
84507         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84508         at the correct time.  Simplify calculation of "+u" and its ilk.
84509         Don't mishandle "+X".
84510         (mode_free): Remove "register" and localize decls.
84511         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84512         (struct mode_change): Move to modechange.c; callers don't
84513         need to see this stuff.
84514         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84515         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84516         (mode_change, mode_adjust): Reflect the new signatures noted above.
84517         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84518         that might redefine system include files.
84519         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84520         (my_usleep): Use NULL rather than (void *) 0.
84521         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84522         Use siginterrupt to specify that system calls should be interrupted.
84523         (rpl_nanosleep): Move initialization of suspended closer to call of
84524         my_usleep.
84525         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84526         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84527         (desirable_utmp_entry): New function.
84528         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84529         using x2nrealloc, to simplify logic.
84530         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84531         size calculation.  Do not assume utmp file is a regular file.
84532         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84533         (READ_UTMP_CHECK_PIDS): New constant.
84534         * lib/save-cwd.c: Include unistd-safer.h.
84535         (save_cwd): Use fd_safer.
84536         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84537         [!_LIBC] Include "stat-macros.h" instead.
84538         * lib/unistd-safer.h (fd_safer): New decl.
84539
84540 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84541
84542         * modules/getloadavg (Depends-on): Add unistd-safer.
84543         * modules/getusershell (Depends-on): Add stdio-safer.
84544         * modules/lstat (Depends-on): Remove xalloc.
84545         * modules/mkstemp (Depends-on): Add stat-macros.
84546         * modules/modechange (Depends-on): Remove xstrtol.
84547         Add stat-macros, xalloc.
84548         * modules/save-cwd (Depends-on): Add unistd-safer.
84549         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84550         * modules/unistd-safer (Files): Add lib/fd-safer.c
84551         (Makefile.am): Remove lib_SOURCES.
84552
84553         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84554         Remove fcntl-safer; unistd-safer supersedes it.
84555
84556 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84557
84558         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84559         AC_HEADER_STAT.
84560         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84561         (gl_PREREQ_CHOWN): Remove.
84562         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84563         it.  Don't require AC_HEADER_STAT.
84564         (gl_PREREQ_LSTAT): Remove.
84565         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84566         Don't require AC_HEADER_STAT.
84567         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84568         (gl_PREREQ_RMDIR): Remove.
84569         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84570         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84571         the stat-macros module a prerequisite.
84572         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84573         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84574         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84575         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84576         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84577         variable names.
84578         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84579         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84580         variable prefixes.
84581         * m4/fcntl-safer.m4: Remove.
84582         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84583         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84584         Invoke gl_PREREQ_FD_SAFER.
84585         (gl_PREREQ_FD_SAFER): New macro.
84586         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84587         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84588         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84589         Remove duplicate call to AC_LIBOBJ(readutmp).
84590         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84591
84592         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84593         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84594
84595 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84596
84597         * MODULES.html.sh (Misc): Add byteswap.
84598
84599 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84600
84601         * modules/getcwd (Depends-on): Add extensions.
84602         * modules/openat (Depends-on): Likewise.
84603
84604 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84605
84606         * modules/byteswap: New file.
84607
84608 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84609
84610         * m4/byteswap.m4: New file.
84611
84612 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84613
84614         * lib/byteswap_.h: New file.
84615
84616 2005-04-25  Karl Berry  <karl@gnu.org>
84617
84618         * m4/gettext.m4: Update from GNU gettext 0.14.4.
84619
84620 2005-04-25  Albert Chin  <china@thewrittenword.com>
84621
84622         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
84623         Toolkit C bug.
84624
84625 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
84626
84627         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
84628         (func_ln_if_changed): Remove forcibly for no error message
84629         in case file does not exist.
84630
84631 2005-04-19  Simon Josefsson  <jas@extundo.com>
84632
84633         * gnulib-tool (Options): Make --symlink mean --symbolic.
84634
84635 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
84636
84637         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
84638
84639 2005-04-16  Simon Josefsson  <jas@extundo.com>
84640
84641         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84642
84643 2005-04-15  Simon Josefsson  <jas@extundo.com>
84644
84645         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84646
84647 2005-04-15  Simon Josefsson  <jas@extundo.com>
84648
84649         * gnulib-tool: Rename --symlink to --symbolic.
84650
84651 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84652
84653         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84654         symbolic links to files instead of copying/moving.  Add --aux-dir,
84655         specifying directory relative --dir where auxiliary build tools
84656         are placed.
84657
84658 2005-04-14  Bruno Haible  <bruno@clisp.org>
84659
84660         * modules/allocsa (License): Change to LGPL.
84661         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84662
84663 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
84664
84665         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
84666         that "UTC +1 second" continues to work.  Problem reported
84667         by Dmitry V. Levin.
84668         (relunit_snumber): New rule.
84669         (relunit): Use it.
84670
84671 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
84672
84673         * lib/getdate.y (universal_time_zone_table): New constant.
84674         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
84675         universal_time_zone_table.
84676         (lookup_zone): Prefer universal_time_zone_table to
84677         local_time_zone_table, so that "GMT" time stamps are allowed in
84678         London during the summer.  Problem reported by Ian Abbott.
84679
84680 2005-04-12  Jim Meyering  <jim@meyering.net>
84681
84682         * lib/human.c (humblock): Set *options even when returning due to
84683         xstrtoumax conversion failure.  Thanks to a used-uninitialized
84684         warning from gcc-4.
84685
84686 2005-04-09  Jim Meyering  <jim@meyering.net>
84687
84688         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
84689         -Wuninitialized: initialize tm0.tm_year.
84690
84691 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84692
84693         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
84694         count, since there's no maximum.  All uses changed.
84695         Add member dsts_seen.
84696         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
84697         not being INT_MAX.
84698         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
84699         Use pc_rels_seen to decide whether a date is absolute.
84700
84701         * lib/getdate.y (number): Don't overwrite year.
84702         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
84703         check.
84704
84705 2005-04-02  Simon Josefsson  <jas@extundo.com>
84706
84707         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
84708         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
84709
84710 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
84711
84712         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
84713         where no absolute path name can be longer than PATH_MAX.
84714
84715 2005-03-27  Jim Meyering  <jim@meyering.net>
84716
84717         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
84718
84719 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
84720
84721         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
84722         "one's complement" -> "ones' complement" in comment, as per Knuth.
84723         "value of type" -> "type or expression" in comment.
84724         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
84725
84726 2005-03-26  Jim Meyering  <jim@meyering.net>
84727
84728         Comment nits.
84729         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
84730         Correct typos: s/or/of/.
84731
84732 2005-03-26  Jim Meyering  <jim@meyering.net>
84733
84734         * modules/check-include-files: Move to ../ and rename to...
84735         * check-module: ...this.
84736
84737 2005-03-25  Jim Meyering  <jim@meyering.net>
84738
84739         * modules/xvasprintf (Files): Add xalloc.h.
84740
84741 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84742
84743         * modules/gettext (Files): config/config.rpath ->
84744         build-aux/config.rpath
84745         * modules/iconv (Files): Likewise.
84746         Problem reported by Oskar Liljeblad.
84747
84748 2005-03-23  Jim Meyering  <jim@meyering.net>
84749
84750         * modules/check-include-files: New script to check for
84751         missing dependencies, multiple includes, etc.
84752
84753         * modules/c-strtold (Depends-on): Add xalloc.
84754         * modules/c-strtod (Depends-on): Add xalloc.
84755         * modules/hash (Depends-on): Add xalloc.
84756         (Files): Remove lib/xalloc.h.
84757
84758         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
84759         * modules/userspec (Files): Add lib/inttostr.h.
84760
84761 2005-03-23  Jim Meyering  <jim@meyering.net>
84762
84763         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
84764
84765 2005-03-22  Jim Meyering  <jim@meyering.net>
84766
84767         * modules/stat-macros: New module.
84768         * modules/canonicalize, modules/euidaccess, modules/file-type,
84769         * modules/filemode, modules/lchown, modules/makepath,
84770         * modules/rmdir, modules/stat: Depend on new stat-macros module
84771         rather than listing lib/stat-macros.h manually.
84772         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
84773
84774 2005-03-22  Jim Meyering  <jim@meyering.net>
84775
84776         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
84777
84778 2005-03-22  Bruno Haible  <bruno@clisp.org>
84779
84780         * config/srclist.txt: Replace target directory 'config' with
84781         'build-aux'.
84782         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
84783         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
84784         ../build-aux/.
84785
84786 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84787
84788         * modules/chdir-long (Depends-on): Add mempcpy.
84789
84790         * modules/acl, modules/backupfile, modules/c-strtod,
84791         modules/c-strtold, modules/canon-host, modules/canonicalize,
84792         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
84793         modules/exclude, modules/exitfail, modules/file-type,
84794         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
84795         modules/getdate, modules/getline, modules/getpagesize,
84796         modules/getpass, modules/getugroups, modules/group-member,
84797         modules/hard-locale, modules/hash, modules/human, modules/idcache,
84798         modules/inttostr, modules/long-options, modules/makepath,
84799         modules/md5, modules/memcasecmp, modules/memcoll,
84800         modules/modechange, modules/mountlist, modules/path-concat,
84801         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
84802         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
84803         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
84804         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
84805         modules/strftime, modules/strndup, modules/strverscmp,
84806         modules/timespec, modules/unlocked-io, modules/userspec,
84807         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
84808         modules/yesno:
84809         Remove lib_SOURCES line from Makefile.am section, as this is now
84810         done automatically by the corresponding Autoconf macro.
84811
84812 2005-03-21  Jim Meyering  <jim@meyering.net>
84813
84814         Changes imported from coreutils.
84815
84816         * lib/cycle-check.c: Don't include xalloc.h.
84817
84818         * lib/path-concat.c: Don't include assert.h.
84819         (path_concat): Remove assertion that would have triggered
84820         for ABASE starting with more than one slash.
84821         Reported by Andreas Schwab.
84822
84823         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
84824         properly when ABASE is an absolute file name.
84825         Correct the description of this function.
84826         Include <assert.h>.
84827         Add an assertion and a test driver.
84828         This fixes a bug introduced on 2004-07-02.
84829         Andreas Schwab reported the resulting failure of cp --parents:
84830         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
84831
84832 2005-03-21  Jim Meyering  <jim@meyering.net>
84833
84834         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
84835         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
84836
84837 2005-03-21  Jim Meyering  <jim@meyering.net>
84838         and  Paul Eggert  <eggert@cs.ucla.edu>
84839
84840         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
84841         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
84842         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
84843         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
84844         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
84845         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
84846         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
84847         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
84848         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
84849         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
84850         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
84851         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
84852         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
84853         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
84854         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
84855         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
84856         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
84857         for these modules.
84858
84859 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
84860
84861         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
84862         (which shouldn't happen), generate nothing instead of returning 0
84863         immediately, so that nstrftime (NULL, ...) doesn't return 0.
84864
84865 2005-03-16  Bruno Haible  <bruno@clisp.org>
84866
84867         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
84868         HAVE_LONGLONG_64BIT.
84869
84870 2005-03-16  Bruno Haible  <bruno@clisp.org>
84871
84872         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
84873         HAVE_LONGLONG_64BIT.
84874
84875 2005-03-16  Bruno Haible  <bruno@clisp.org>
84876
84877         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
84878         HAVE_LONGLONG_64BIT.
84879
84880 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84881
84882         * lib/strftime.c (my_strftime): Prepend space to format so that we can
84883         reliably distinguish strftime failure from empty output on POSIX
84884         hosts.
84885
84886 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84887
84888         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
84889         (iconv_string): Don't guess a size-zero buffer, as that might cause
84890         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
84891         result would be 'too large', where 'too large' is (heuristically)
84892         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
84893         overflow concerns.  This will prevent some unwanted malloc failures
84894         when the inputs are very large.
84895
84896 2005-03-15  Karl Berry  <karl@gnu.org>
84897
84898         * config/srclist.txt (config.rpath): from gettext.
84899         * config/config.rpath: update.
84900
84901 2005-03-15  Bruno Haible  <bruno@clisp.org>
84902
84903         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
84904         to 'negate'.
84905
84906         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
84907         variable.
84908
84909         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
84910         results.
84911
84912 2005-03-14  Simon Josefsson  <jas@extundo.com>
84913
84914         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
84915         <fx@gnu.org>.
84916
84917 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
84918
84919         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
84920         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
84921         intprops.h.
84922         * lib/strtol.c: Likewise.
84923
84924 2005-03-14  Jim Meyering  <jim@meyering.net>
84925
84926         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
84927         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
84928         to be nonzero so that we (and caller) can detect the difference
84929         between a valid zero-length expansion and an error return, even
84930         when the underlying strftime fails before writing anything into
84931         that location.
84932
84933 2005-03-14  Bruno Haible  <bruno@clisp.org>
84934
84935         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
84936         Update from GNU gettext 0.14.3.
84937
84938 2005-03-10  Jim Meyering  <jim@meyering.net>
84939
84940         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
84941
84942 2005-03-10  Jim Meyering  <jim@meyering.net>
84943
84944         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
84945         so that this module works on systems without fchdir.
84946
84947 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
84948
84949         Factor int-properties macros into a single file, except for
84950         glibc-related files.
84951         * lib/intprops.h: New file.
84952         * lib/getloadavg.c: Include it instead of limits.h.
84953         (INT_STRLEN_BOUND): Remove.
84954         * lib/human.c: Include intprops.h.
84955         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
84956         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
84957         302/1000.
84958         * lib/inttostr.h: Include intprops.h instead of limits.h.
84959         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
84960         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
84961         for consistency with intprops.h.
84962         (time_t_is_integer, twos_complement_arithmetic): Use them.
84963         * lib/sig2str.h: Include <signal.h>, intprops.h.
84964         (INT_STRLEN_BOUND): Remove.
84965         * lib/strftime.c (TYPE_SIGNED): Remove.
84966         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
84967         * lib/strtol.c: Adjust comments to match intprops.h.
84968         * lib/userspec.c: Include intprops.h.
84969         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
84970         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
84971         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
84972         instead of rolling our own expressions.
84973         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
84974
84975         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
84976         instead of int.
84977         (my_strftime): Do not mishandle years close to INT_MAX, by doing
84978         the right thing even if adding 1900 would overflow.  Similarly
84979         for tm_mon + 1 and tm_yday + 1.
84980         Make %Y always equivalent to %C%y, and similarly for %G and %g.
84981         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
84982         (DO_SIGNED_NUMBER): New macro.
84983         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
84984
84985 2005-03-07  Bruno Haible  <bruno@clisp.org>
84986
84987         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
84988
84989 2005-03-07  Bruno Haible  <bruno@clisp.org>
84990
84991         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
84992
84993 2005-03-04  Derek R. Price  <derek@ximbiot.com>
84994
84995         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
84996         (func_import): Only replace files via --import when they have actually
84997         changed.
84998
84999 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85000
85001         * m4/mmap-anon.m4: New file.
85002         * m4/pagealign_alloc.m4: New file.
85003
85004 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85005             Bruno Haible  <bruno@clisp.org>
85006
85007         * modules/pagealign_alloc: New file.
85008         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85009
85010 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85011             Bruno Haible  <bruno@clisp.org>
85012
85013         * lib/pagealign_alloc.h: New file.
85014         * lib/pagealign_alloc.c: New file.
85015
85016 2005-03-03  Bruno Haible  <bruno@clisp.org>
85017
85018         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85019         Use an all-permissive copyright notice, recommended by RMS.
85020
85021 2005-03-02  Bruno Haible  <bruno@clisp.org>
85022
85023         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85024         of AIX, the replacement has to be done only after <string.h> is
85025         included, therefore not in config.h. stpncpy.h does the replacement,
85026         and stpncpy.c uses it.
85027
85028 2005-03-02  Bruno Haible  <bruno@clisp.org>
85029
85030         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85031         stpncpy.c uses it.
85032
85033 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85034
85035         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85036         The workaround isn't strictly needed for POSIX conformance, and
85037         it's too much of a pain to configure and maintain.  We'll ask
85038         people to fix their kernels instead.
85039         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85040         (NANOSLEEP_BUG_WORKAROUND): Remove.
85041         (xnanosleep): Remove the workaround.
85042
85043 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85044
85045         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85046         Reported by Derek Price.
85047         (Include): Add "timespec.h".
85048
85049         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85050
85051 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85052
85053         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85054         to detect nanosleep bug.
85055
85056 2005-03-01  Bruno Haible  <bruno@clisp.org>
85057
85058         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85059
85060 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85061
85062         * modules/gethrxtime: New file.
85063         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
85064         (Depends-on): Add gethrxtime.
85065         (configure.ac): Add gl_XNANOSLEEP.
85066         (Makefile.am): Remove lib_SOURCES line.
85067
85068 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85069
85070         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
85071         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
85072
85073 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85074
85075         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
85076         * lib/timespec.h (gettime): Return void, since it always
85077         succeeds now.  All uses changed.
85078         * lib/gettime.c (gettime): Likewise.
85079         [HAVE_NANOTIME]: Prefer nanotime.
85080         Assume gettimeofday succeeds, as POSIX requires.
85081         Assime time () succeeds, since other code already does.
85082         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
85083         (timespec_subtract): Remove.
85084         (NANOSLEEP_BUG_WORKAROUND): New constant.
85085         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
85086         things considerably.  Use it only on GNU/Linux hosts, since the
85087         workaround shouldn't be needed elsewhere.
85088
85089 2005-02-24  Bruno Haible  <bruno@clisp.org>
85090
85091         * modules/gettext (Files): Add m4/glibc2.m4.
85092
85093 2005-02-24  Bruno Haible  <bruno@clisp.org>
85094
85095         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
85096         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
85097         * m4/progtest.m4:
85098         Update from GNU gettext 0.14.2.
85099         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
85100
85101 2005-02-24  Bruno Haible  <bruno@clisp.org>
85102
85103         * lib/localcharset.c: Update from GNU gettext 0.14.2.
85104         * lib/config.charset: Update from GNU gettext 0.14.2.
85105
85106 2005-02-24  Bruno Haible  <bruno@clisp.org>
85107
85108         * lib/gettext.h: Update from GNU gettext 0.14.2.
85109
85110 2005-02-23  Simon Josefsson  <jas@extundo.com>
85111
85112         * m4/iconvme.m4: New file.
85113
85114 2005-02-23  Jim Meyering  <jim@meyering.net>
85115
85116         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
85117         change.
85118         Thanks to Bruno Haible for catching it.
85119
85120 2005-02-22  Simon Josefsson  <jas@extundo.com>
85121
85122         * modules/iconvme: New file.
85123
85124         * MODULES.html.sh: Add iconvme.
85125
85126 2005-02-22  Simon Josefsson  <jas@extundo.com>
85127
85128         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
85129
85130 2005-02-22  Simon Josefsson  <jas@extundo.com>
85131
85132         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
85133
85134 2005-02-22  Jim Meyering  <jim@meyering.net>
85135
85136         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
85137         s/ifndef/ifdef/.
85138
85139 2005-02-20  Neil Conway  <neilc@samurai.com>
85140
85141         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
85142         returned by OSX/Darwin if the specified buffer is not large
85143         enough for the hostname.
85144
85145 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85146
85147         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
85148         pass it to _help, otherwise the latter coredumps trying to
85149         dereference state.root_argp.
85150
85151 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85152
85153         * modules/chdir-long (Depends-on): Add memrchr.
85154         * modules/memrchr (Files): Add lib/memrchr.h.
85155         (Include): "memrchr.h".
85156
85157 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85158
85159         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
85160
85161 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85162
85163         * lib/memrchr.h: New file.
85164         * lib/chdir-long.c: Include it.
85165         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
85166         Don't bother including stddef.h.
85167
85168 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
85169
85170         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
85171         inclusion.
85172         Include <sys/types.h>, for dev_t.
85173         (ME_DUMMY, ME_REMOTE): Move from here....
85174         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
85175         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
85176         Dmitry V. Levin.
85177         Include mountlist.h first, to test the interface.
85178
85179 2005-01-29  Bruno Haible  <bruno@clisp.org>
85180
85181         * lib/progname.c (program_name): Initialize.
85182         Needed when linking statically on MacOS X.
85183
85184 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85185
85186         Sync from coreutils.
85187         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
85188         (Depends-on): Add c-strtod.
85189         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
85190
85191 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85192
85193         Sync from coreutils.
85194         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
85195
85196         Remove files that are specific to coreutils.
85197         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
85198
85199 2005-01-28  Bruno Haible  <bruno@clisp.org>
85200
85201         * modules/javacomp: New file.
85202         * MODULES.html.sh (Java): Add javacomp.
85203
85204 2005-01-28  Bruno Haible  <bruno@clisp.org>
85205
85206         * m4/javacomp.m4: New file, from GNU gettext.
85207
85208 2005-01-28  Bruno Haible  <bruno@clisp.org>
85209
85210         * lib/javacomp.sh.in: New file, from GNU gettext.
85211         * lib/javacomp.h: New file, from GNU gettext.
85212         * lib/javacomp.c: New file, from GNU gettext.
85213
85214 2005-01-26  Simon Josefsson  <jas@extundo.com>
85215
85216         * lib/gai_strerror.c: Use GPL in header.
85217
85218 2005-01-26  Bruno Haible  <bruno@clisp.org>
85219
85220         * modules/javaexec: New file.
85221         * MODULES.html.sh (Java): Add javaexec.
85222
85223 2005-01-26  Bruno Haible  <bruno@clisp.org>
85224
85225         * m4/javaexec.m4: New file, from GNU gettext.
85226
85227 2005-01-26  Bruno Haible  <bruno@clisp.org>
85228
85229         * lib/javaexec.sh.in: New file, from GNU gettext.
85230         * lib/javaexec.h: New file, from GNU gettext.
85231         * lib/javaexec.c: New file, from GNU gettext.
85232
85233 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85234
85235         * modules/lchown (Depends-on): Remove lchown.h
85236
85237 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85238
85239         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
85240         must be defined if the header file was not found, in order
85241         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
85242
85243 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85244
85245         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
85246         initializers for struct pentry_state.
85247         (__argp_error): Check return value of __asprintf
85248         (__argp_failure): Translate error message
85249
85250         * lib/argp-parse.c: Removed braces around the expansion of N_()
85251
85252 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
85253
85254         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
85255         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
85256         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
85257         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
85258         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
85259         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
85260         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
85261         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
85262         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
85263         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
85264         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
85265         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
85266         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
85267         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
85268         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
85269         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
85270         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
85271         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
85272         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
85273         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
85274         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
85275         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
85276         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
85277         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
85278         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
85279         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
85280         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
85281         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
85282         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
85283         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
85284         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
85285         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
85286         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
85287         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
85288         xstrtol.m4, xstrtoumax.m4, yesno.m4:
85289         Use an all-permissive copyright notice, recommended by RMS.
85290
85291 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
85292
85293         * modules/chdir-long (Depends-on): Remove mempcpy.
85294
85295 2005-01-21  Jim Meyering  <jim@meyering.net>
85296
85297         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
85298         same value as for Solaris 9.
85299
85300         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
85301         component length.  This included changing the parameter to be
85302         of type `char *' rather than `char const *'.
85303         * lib/chdir-long.h (chdir_long): Update prototype.
85304
85305         * lib/openat.c (fdopendir, fstatat): New functions.
85306         * lib/openat.h: Include headers required for use of DIR and struct
85307         stat.
85308         [AT_SYMLINK_NOFOLLOW]: Define.
85309         (fdopendir, fstatat): Add prototypes.
85310
85311 2005-01-21  Bruno Haible  <bruno@clisp.org>
85312
85313         * modules/classpath: New file.
85314         * MODULES.html.sh (Java): Add classpath.
85315
85316 2005-01-21  Bruno Haible  <bruno@clisp.org>
85317
85318         * lib/classpath.h: New file, from GNU gettext.
85319         * lib/classpath.c: New file, from GNU gettext.
85320
85321 2005-01-20  Simon Josefsson  <jas@extundo.com>
85322
85323         * modules/version-etc-fsf: New file.
85324
85325 2005-01-20  Simon Josefsson  <jas@extundo.com>
85326
85327         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
85328         * lib/version-etc.c: Remove version_etc_copyright.
85329         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
85330         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
85331
85332 2005-01-20  Simon Josefsson  <jas@extundo.com>
85333
85334         * lib/base64.h (isbase64): Add.
85335
85336         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
85337         using a unsigned prototype, don't inline.
85338         (base64_decode): Use it.
85339
85340 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85341
85342         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
85343         it.
85344
85345 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85346
85347         * lib/save-cwd.c (save_cwd): Remove code to support the case
85348         where fchdir is missing or flaky.
85349
85350 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85351
85352         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
85353
85354 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
85355
85356         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
85357         AC_LIBSOURCES now does this.
85358         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
85359         with new ullong_max module.
85360
85361 2005-01-19  Bruno Haible  <bruno@clisp.org>
85362
85363         * modules/sh-quote: New file.
85364         * MODULES.html.sh (Executing programs): Add sh-quote.
85365
85366 2005-01-19  Bruno Haible  <bruno@clisp.org>
85367
85368         * lib/sh-quote.h: New file, from GNU gettext.
85369         * lib/sh-quote.c: New file, from GNU gettext.
85370
85371 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85372
85373         Merge from coreutils.
85374         * m4/ullong_max.m4: New file.
85375         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
85376         (gl_MACROS): Assume localeconv exists.
85377
85378 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85379
85380         Merge changes from coreutils, as described below in several
85381         changelogs dated today.
85382
85383         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
85384         (O_DIRECTORY): Remove; not needed here, since "." must be
85385         a directory.  All uses removed.
85386         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
85387         universal on Suns, and we also need to test for IRIX.
85388         Revamp code to use 'if' rather than '#if'.
85389         Avoid unnecessary comparison of cwd->desc to 0.
85390
85391         * lib/utimens.c (futimens): Robustify the previous patch, by checking
85392         for known valid error numbers rather than observed invalid ones.
85393
85394 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85395
85396         * modules/ullong_max: New file.
85397
85398         * modules/chdir-long, modules/openat: New files.
85399         * modules/save-cwd (Depends-on): Depend on chdir-long.
85400         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
85401
85402 2005-01-18  Jim Meyering  <jim@meyering.net>
85403
85404         Merge from coreutils.
85405         * m4/chdir-long.m4, m4/openat.m4: New files.
85406         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
85407         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
85408         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
85409         is sane and DOES follow symlinks.  Besides, testing 20 different
85410         systems found no broken chown implementations.
85411         Prompted by a change in rsync's copy of this macro.
85412         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
85413
85414         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
85415
85416         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
85417         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
85418         NULL-means-set-to-current-time semantics.
85419         Remove temporary file immediately, rather than waiting
85420         for configure's at-exit trap code to do it.
85421
85422 2005-01-18  Jim Meyering  <jim@meyering.net>
85423
85424         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85425
85426         * lib/utimens.c (futimens): Account for the fact that futimes
85427         can also fail with errno == ENOSYS or errno == ENOENT.
85428         Patch from Dmitry V. Levin.
85429
85430         Change the name of the robust chdir function from chdir to chdir_long.
85431         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85432         (restore_cwd): Use chdir_long, not chdir.
85433         * lib/chdir-long.c: Renamed from chdir.c.
85434         * lib/chdir-long.h: Renamed from chdir.h.
85435         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85436         Hurd.
85437
85438 2005-01-18  Bruno Haible  <bruno@clisp.org>
85439
85440         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85441         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85442         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85443         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85444         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85445         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85446         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85447         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85448         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85449         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85450         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85451         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85452         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85453         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85454         Use an all-permissive copyright notice, recommended by RMS.
85455
85456 2005-01-18  Bob Proulx  <bob@proulx.com>
85457
85458         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85459         simplify offsetof() macro construct to avoid compile failure with
85460         native HP-UX 11.0 ANSI C compiler.
85461
85462 2005-01-17  Bruno Haible  <bruno@clisp.org>
85463
85464         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85465         redundant because stpncpy.m4 takes care of it.
85466
85467 2005-01-17  Bruno Haible  <bruno@clisp.org>
85468
85469         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85470
85471 2005-01-17  Bruno Haible  <bruno@clisp.org>
85472
85473         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85474         used.
85475
85476 2005-01-17  Bruno Haible  <bruno@clisp.org>
85477
85478         * lib/fwriteerror.h (fwriteerror): Change specification to include
85479         fclose.
85480         * lib/fwriteerror.c: Include <stdbool.h>.
85481         (fwriteerror): At the end, close the file stream. Record whether
85482         stdout was already closed.
85483
85484 2005-01-17  Bruno Haible  <bruno@clisp.org>
85485
85486         * lib/execute.c (environ): Declare if needed.
85487         * lib/pipe.c (environ): Likewise.
85488         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85489
85490 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85491
85492         * modules/argp: Depend on vsnprintf
85493
85494 2005-01-10  Jim Meyering  <jim@meyering.net>
85495
85496         * modules/closeout (Depends-on): Add atexit.
85497
85498 2005-01-06  Bruno Haible  <bruno@clisp.org>
85499
85500         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85501
85502 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85503
85504         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85505         definitions to be after all include files, to avoid collisions.
85506         Problem reported by Bob Proulx.
85507
85508 2005-01-04  Jim Meyering  <jim@meyering.net>
85509
85510         Changes imported from coreutils.
85511         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85512         as the mkstemp template, use a temporary directory and an
85513         8.3-friendly template to avoid trouble on systems like DJGPP.
85514         Reported by Juan M. Guerrero via Stepan Kasal.
85515         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85516         close. Remove the temporary directory right away, rather than waiting
85517         for configure's at-exit trap code to do it.
85518         Suggestion from Stepan Kasal.
85519
85520 2005-01-01  Simon Josefsson  <jas@extundo.com>
85521
85522         * gnulib-tool: Print #include directives when --import'ing.
85523
85524 2004-12-28  Simon Josefsson  <jas@extundo.com>
85525
85526         * tests/test-base64.c: Include required header files.  Remove
85527         unused variables.
85528
85529 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85530
85531         * modules/error (Depends-on): Remove gettext.
85532
85533 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85534
85535         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85536         not needed.  This removes a dependency on the gettext module.
85537         [defined _LIBC]: Do not include <libintl.h>; not needed.
85538
85539 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85540
85541         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85542         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85543
85544 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85545
85546         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85547         HAVE_DECL_STRTOLD.
85548
85549 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85550
85551         * modules/getdate (Depends-on): Remove alloca-opt.
85552
85553 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85554
85555         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85556
85557 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85558
85559         * lib/argp-parse.c: Include <stddef.h>.
85560         (alignof, alignto): New macros.
85561         (parser_init): Don't assume that void * is aligned sufficiently
85562         for struct option.
85563
85564         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85565         need to extend the stack.
85566         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85567         large.
85568
85569 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85570
85571         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85572
85573 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85574
85575         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85576         (2004-10-24) change.  Apparently this was a false alarm.
85577
85578         * modules/getdate: Depend on alloca-opt, not alloca.
85579
85580 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85581
85582         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85583         Remove now-obsolete comment about AIX.
85584         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85585         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85586         (YYMAXDEPTH): New macro.
85587
85588 2004-12-18  Simon Josefsson  <jas@extundo.com>
85589
85590         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85591
85592 2004-12-18  Bruno Haible  <bruno@clisp.org>
85593
85594         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85595
85596 2004-12-18  Bruno Haible  <bruno@clisp.org>
85597
85598         * lib/fatal-signal.c (fatal_signals): Make non-const.
85599         (init_fatal_signals): New function.
85600         (uninstall_handlers, install_handlers): Ignore signals that were set to
85601         SIG_IGN.
85602         (at_fatal_signal): Call init_fatal_signals.
85603         (init_fatal_signal_set): Likewise. Ignore signals that were set to
85604         SIG_IGN.
85605         Reported by Paul Eggert.
85606
85607 2004-12-18  Bruno Haible  <bruno@clisp.org>
85608
85609         * doc/alloca.texi: New file.
85610         * doc/alloca-opt.texi: New file.
85611
85612 2004-12-17  Jim Meyering  <jim@meyering.net>
85613
85614         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
85615         Otherwise, install-sh could exit with improper exit status when
85616         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
85617
85618 2004-12-16  Simon Josefsson  <jas@extundo.com>
85619
85620         * tests/test-base64.c: Add license.
85621
85622 2004-12-15  Stepan Kasal  <address@hidden>
85623
85624         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
85625
85626 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
85627
85628         * modules/getcwd (Files): Add m4/d-ino.m4.
85629         Suggested by Mark D. Baushke.
85630
85631 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85632
85633         * lib/getdate.y (textint): New member "negative".
85634         (time_zone_hhmm): New function.
85635         Expect 14 shift-reduce conflicts, not 13.
85636         (o_colon_minutes): New rule.
85637         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
85638         (yylex): Set the "negative" member of signed numbers.
85639
85640 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85641
85642         * doc/getdate.texi (Time of day items, Time zone items):
85643         Describe new formats +00:00, UTC+00:00.
85644
85645 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85646
85647         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85648         spurious "-l"s.  Problem reported by Stepan Kasal.
85649
85650 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85651
85652         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85653         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85654
85655 2004-12-04  Simon Josefsson  <jas@extundo.com>
85656
85657         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85658         Vandoorselaere <yoann@prelude-ids.org>.
85659
85660 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85661
85662         Changes imported from coreutils.
85663         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
85664         exist.
85665         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
85666
85667 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85668
85669         Changes imported from coreutils.
85670         * lib/hard-locale.c: Assume <locale.h> exists.
85671         Include "strdup.h".
85672         (GLIBC_VERSION): New macro.
85673         (hard_locale): Assume setlocale exists.
85674         Rewrite to avoid #ifdef.
85675         Use strdup rather than malloc + strcpy.
85676         * lib/human.c: Assume <locale.h> exists.
85677         (human_readable): Assume localeconv exists.
85678
85679 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85680
85681         * modules/hard-locale (Depends-on): Add strdup.
85682
85683 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
85684
85685         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
85686         convert T2, not T.  (Imported from libc.)
85687
85688 2004-11-30  Simon Josefsson  <jas@extundo.com>
85689
85690         * modules/restrict (License): Change to LGPL.
85691
85692 2004-11-30  Simon Josefsson  <jas@extundo.com>
85693
85694         * m4/restrict.m4: Add copyright and copying conditions.
85695
85696 2004-11-30  Simon Josefsson  <jas@extundo.com>
85697
85698         * m4/base64.m4: New file.
85699
85700 2004-11-30  Simon Josefsson  <jas@extundo.com>
85701
85702         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
85703         base64.
85704
85705         * tests/test-base64.c: New file.
85706
85707         * modules/base64: New file.
85708
85709 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85710
85711         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
85712         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
85713
85714         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
85715
85716 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85717
85718         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
85719         (__getcwd.c): Don't restore errno; glibc doesn't.
85720         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
85721         first, falling back to our code only if its results look suspicious.
85722         Ensure that the resulting buffer is only as large as necessary.
85723
85724         * lib/readutmp.c: Include readutmp.h first.
85725         Include <errno.h>, since readutmp.h no longer does that.
85726         * lib/readutmp.h: Don't include <errno.h>,
85727         <sys/param.h>, <time.h>; not needed to establish interface.
85728         (errno): Remove decl.
85729         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
85730         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
85731         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
85732
85733 2004-11-28  Simon Josefsson  <jas@extundo.com>
85734
85735         * lib/base64.h, base64.c: New file.
85736
85737 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
85738
85739         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
85740
85741 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
85742
85743         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
85744         (Depends-on): Remove pathmax, same.  Add mempcpy.
85745         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
85746         (Makefile.am): Append getcwd.h to lib_SOURCES.
85747         (Include): Add getcwd.h.
85748         (Maintainer): Change from Jim Meyering to "all, glibc",
85749         since getdate now uses intended-for-glibc code.
85750         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
85751         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
85752
85753 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85754
85755         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
85756         HP's ANSI C compiler.
85757         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
85758         Declaring int functions causes warnings on some modern systems and
85759         shouldn't be needed to compile on ancient ones.
85760         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
85761         defined.
85762
85763         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
85764         with the following changes.
85765         (__set_errno): Parenthesize properly.
85766         Include <stdbool.h>.
85767         (MIN, MAX, MATCHING_INO): New macros.
85768         (__getcwd): Define with prototype, not K&R form.
85769         Use heuristics to allocate default buffer on stack if possible.
85770         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
85771         behavior, and to avoid the PATH_MAX limit when computing
85772         ../../../../...
85773         Use MATCHING_INO to compare inode number to file.
85774         Check for arithmetic overflow in size calculations.
85775         Fix bug in reallocation of dot array that caused getcwd to fail
85776         on directories nested deeper than 75.
85777         Be more careful about saving errno on error.
85778         Do not use realloc; use only free+malloc, as this is a bit
85779         more flexible and avoids a needless copy operation.
85780         Do not inspect st_dev and st_ino for symbolic links; POSIX
85781         doesn't specify the latter.
85782         Check for closedir errors.
85783         Avoid needless casts.
85784         Use "#ifdef weak_alias" around weak_alias, to be like other
85785         glibc code.
85786         The following changes to getcwd.c have effect only when used in
85787         gnulib; they have no effect inside glibc proper.
85788         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
85789         as alloca isn't used.
85790         (alloca, __alloca): Likewise.
85791         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
85792         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85793         unconditionally, as gnulib assumes C89 or better.
85794         Do not include <sys/param.h>.
85795         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
85796         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
85797         better.
85798         (NULL) [!defined NULL]: Remove; we assume C89 or better.
85799         Include <dirent.h> in a way that is compatible with modern Autoconf.
85800         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
85801         New macros, if not already defined.
85802         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
85803         Use "_LIBC", not "defined _LIBC", for consistency.
85804         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
85805         a mempcpy module.
85806         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
85807         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
85808         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
85809         credit only to Jim Meyering and adjust the copyright dates.
85810         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
85811         <stdlib.h>, <unistd.h>, "pathmax.h".
85812         Instead, include "xgetcwd.h" (first) and "getcwd.h".
85813         (INITIAL_BUFFER_SIZE): Remove.
85814         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
85815
85816 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85817
85818         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
85819         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
85820         Use the _ONCE methods, for efficiency.
85821         Check for fcntl.h.  In test program, include <errno.h>
85822         and <fcntl.h> if available.  Remove old K&R cruft from
85823         test program.  Check for common errors in GNU/Linux,
85824         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
85825         don't do AC_LIBOBJ, as that's getcwd.m4's job.
85826         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
85827         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
85828         name accordingly.
85829         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
85830         accommodate new getcwd.c.
85831         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
85832         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
85833         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
85834         that's all we need now.
85835
85836 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85837
85838         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
85839         argp-parse.c depends on getopt internals, that means we should
85840         always use our getopt, to be on the safe side.
85841         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
85842         order not to spoil the result of an eventual previous invocation
85843         of gl_GETOPT_SUBSTITUTE.
85844
85845 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85846
85847         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
85848         redefinition warnings. To avoid them, include the defines
85849         in `#if !defined __need_getopt ... #endif'. The only place
85850         where __getopt_argv_const is used is in definitions
85851         of getopt_long and getopt_long_only below, which are as well
85852         protected by `#ifndef __need_getopt'.
85853         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
85854         __need_getopt after including <stdio.h> and <unistd.h> These
85855         headers might have defined it.
85856
85857 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85858
85859         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
85860
85861 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85862
85863         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
85864         (futimens): New function, which uses futimes if available.
85865         (futimens, utimens): Support timespec==NULL, with same semantics
85866         as utime and utimens.
85867         * lib/utimens.h (futimens): New decl.
85868
85869 2004-11-23  Jim Meyering  <jim@meyering.net>
85870
85871         * lib/getopt_.h: Remove trailing blanks.
85872
85873 2004-11-23  Jim Meyering  <jim@meyering.net>
85874
85875         * lib/__fpending.c: Add comment.
85876
85877 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
85878
85879         * modules/canonicalize (Depends-on): Add xreadlink.
85880         Problem reported by James Youngman.
85881
85882 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
85883
85884         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
85885         New macros.
85886         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
85887         optopt): Use them instead of invoking ## directly; otherwise, the
85888         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
85889
85890 2004-11-19  Bruno Haible  <bruno@clisp.org>
85891
85892         * lib/strtok_r.c: Move comments from here...
85893         * lib/strtok_r.h: ... to here.
85894
85895 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85896
85897         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
85898         implementations that mishandle size_t overflow.
85899
85900 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85901
85902         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
85903         might fail.  Problem reported by Yoann Vandoorselaere.
85904         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
85905         implementations that mishandle size_t overflow.
85906
85907 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85908
85909         * modules/canon-host (Depends-on): Add strdup.
85910
85911 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85912
85913         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
85914
85915 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85916
85917         * lib/canon-host.c: Include "strdup.h".
85918         (canon_host): Use getaddrinfo if available, so that IPv6 works.
85919         Use strdup instead of malloc/strcpy to duplicate strings.
85920
85921         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
85922         (human_space_before_unit): New constant.
85923         * lib/human.c (human_readable): Support it.
85924
85925         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
85926         (xgetcwd): Set errno correctly when failing.
85927         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
85928         the failure is actually due to a PATH_MAX problem.
85929
85930         Further getopt changes to make it more likely that glibc will
85931         buy the changes back.
85932         * lib/getopt.c (POSIXLY_CORRECT): New constant.
85933         (getopt): Use it, so to preserve glibc semantic
85934         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
85935         when compiling for libc.
85936         * lib/getopt_.h (__getopt_argv_const): Bring it back.
85937         (getopt_long, getopt_long_only): Use it.
85938
85939         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85940         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
85941         (getopt): Argv is now char * const *, as per standard.
85942         (_getopt_internal_r, _getopt_internal): Argv is now char **,
85943         not char *__getopt_argv_const *.
85944         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85945         _getopt_long_only_r): Likewise.
85946         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
85947         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85948         _getopt_long_r, _getopt_long_only_r): Likewise.
85949         * lib/getopt_.h (__getopt_argv_const): Remove.
85950         (getopt): Argv is now char * const *, as per standard.
85951
85952         * lib/getdate.y (tORDINAL): New token.
85953         (day, relunit): Allow it for relative times.
85954         (relative_time_table): Use tORDINAL for ordinals.
85955
85956 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85957
85958         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
85959         Document that "second" isn't allowed as an ordinal number.
85960
85961 2004-11-16  Jim Meyering  <jim@meyering.net>
85962
85963         * modules/closeout (Depends-on): Add fpending.
85964
85965 2004-11-15  Jim Meyering  <jim@meyering.net>
85966
85967         * lib/closeout.c: Include "__fpending.h" once again.
85968         Include <stdbool.h>.
85969         (close_stdout): Don't fail just because stdout was closed initially,
85970         since some programs don't write to stdout in the normal course of
85971         operation (other than --version and --help), and we don't want this
85972         function to make e.g. `touch file >&-' fail.
85973         But do fail if it was closed and someone has tried to write to it.
85974         E.g., `printf foo >&-' must fail.
85975
85976 2004-11-13  Jim Meyering  <jim@meyering.net>
85977
85978         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
85979
85980 2004-11-12  Simon Josefsson  <jas@extundo.com>
85981
85982         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
85983         small doc fix is still pending.
85984
85985 2004-11-11  Simon Josefsson  <jas@extundo.com>
85986
85987         * modules/strtok_r: New file.
85988
85989         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85990         strtok_r.
85991
85992 2004-11-11  Simon Josefsson  <jas@extundo.com>
85993
85994         * m4/strtok_r.m4: New file.
85995
85996         * m4/getopt.m4: Replace opterr.
85997
85998 2004-11-11  Simon Josefsson  <jas@extundo.com>
85999
86000         * lib/strtok_r.h, strtok_r.c: New file.
86001
86002 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86003
86004         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
86005         of replacing opterr, getopt, etc.  This should handle the
86006         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86007
86008 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86009
86010         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86011         we can stop lying to compilers about the constness of argv when we
86012         are compiled outside glibc.
86013         (getopt, getopt_long, getopt_long_only): Use it.
86014         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86015         _getopt_internal, getopt): Likewise.
86016         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86017         _getopt_long_only_r): Likewise.
86018         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86019         _getopt_long_r, _getopt_long_only_r): Likewise.
86020
86021         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86022         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86023         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86024         the other external symbols.
86025         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86026         declaration, since the above renaming now works around collisions.
86027
86028 2004-11-11  Jim Meyering  <jim@meyering.net>
86029
86030         * lib/linebreak.c: Remove trailing blanks.
86031         * lib/alloca_.h: Likewise.
86032         * lib/acosl.c: Likewise.
86033         * lib/euidaccess.c: Likewise.
86034         * lib/allocsa.h: Likewise.
86035
86036 2004-11-10  Simon Josefsson  <jas@extundo.com>
86037
86038         * m4/getaddrinfo.m4: New file.
86039
86040 2004-11-10  Simon Josefsson  <jas@extundo.com>
86041
86042         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86043
86044 2004-11-10  Simon Josefsson  <jas@extundo.com>
86045
86046         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86047         getaddrinfo.
86048
86049         * modules/getaddrinfo: New file.
86050
86051 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86052
86053         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86054
86055 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86056
86057         * lib/mktime.c (SHR): New macro, which is a portable
86058         substitute for >> that should work even on Crays.
86059         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86060         Problem reported by Mark D. Baushke in
86061         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86062         * lib/getdate.y (SHR): Likewise.
86063         (tm_diff): Use it.
86064         * lib/strftime.c (SHR): Likewise.
86065         (tm_diff): Use it.
86066         * lib/quotearg.c (struct quoting_options): Use unsigned int for
86067         quote_these_too, so that right shifts are well defined.  All uses
86068         changed.
86069
86070 2004-11-10  Jim Meyering  <jim@meyering.net>
86071
86072         Ensure that no close failure goes unreported.
86073         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
86074         return early when it seems there's nothing to flush.
86075         Don't include __fpending.h.
86076
86077 2004-11-10  Jim Meyering  <jim@meyering.net>
86078
86079         * modules/closeout (Depends-on): Remove fpending.
86080
86081 2004-11-10  Jim Meyering  <jim@meyering.net>
86082
86083         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
86084
86085 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86086
86087         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
86088         gl_FUNC_STRFTIME.
86089         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
86090         and AC_REQUIRE when possible, to avoid duplicate checks.
86091         Check for <wchar.h>.
86092
86093 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86094
86095         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
86096
86097 2004-11-09  Bruno Haible  <bruno@clisp.org>
86098
86099         * m4/sockpfaf.m4: New file.
86100
86101 2004-11-05  Bruno Haible  <bruno@clisp.org>
86102
86103         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
86104         Reported by Mark D. Baushke <mdb@cvshome.org>.
86105
86106 2004-11-04  Bruno Haible  <bruno@clisp.org>
86107
86108         2004-09-11  Bruno Haible  <bruno@clisp.org>
86109                 * allocsa.valgrind: New file.
86110         2004-02-06  Bruno Haible  <bruno@clisp.org>
86111                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
86112                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
86113                 Reported by Christopher Seip <chris.seip@hp.com>.
86114
86115 2004-11-04  Bruno Haible  <bruno@clisp.org>
86116
86117         * modules/allocsa (Files): Add lib/allocsa.valgrind.
86118         (Makefile.am): Distribute it.
86119
86120 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
86121
86122         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
86123         with errno == ERANGE if the buffer is too small.
86124         Problem reported by Mark D. Baushke.
86125
86126 2004-11-03  Albert Chin  <china@thewrittenword.com>
86127             Paul Eggert  <eggert@cs.ucla.edu>
86128
86129         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
86130         equivalent, substitute $ac_type for equivalent type rather than
86131         blindly using uint32_t *always* which won't work if uint32_t is not
86132         available.  Define _UINT32_T to work around typedef of uint32_t if
86133         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
86134         2.5.1.
86135
86136 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86137
86138         * m4/jm-macros.m4: Sync from coreutils.
86139         (gl_MACROS): Check for mbrlen, for pathchk.
86140         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
86141
86142 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86143
86144         * lib/xreadlink.c (MAXSIZE): New macro.
86145         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
86146         size does not exceed MAXSIZE.  Avoid cast.
86147         As suggested by Mark D. Baushke in
86148         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
86149         if readlink fails with buffer size just under MAXSIZE, try again
86150         with MAXSIZE.
86151
86152 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86153
86154         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
86155
86156 2004-11-02  Derek R. Price  <derek@ximbiot.com>
86157         and  Paul Eggert  <eggert@cs.ucla.edu>
86158
86159         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
86160         (get_date): Overparenthesize to avoid GCC warning.
86161
86162 2004-11-02  Bruno Haible  <bruno@clisp.org>
86163
86164         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
86165         returns void.
86166
86167 2004-11-02  Bruno Haible  <bruno@clisp.org>
86168
86169         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
86170         function returns void.
86171
86172 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86173
86174         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
86175         fflush_unlocked, flockfile, funlockfile, funlockfile,
86176         fputs_unlocked, putc_unlocked.
86177
86178 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86179
86180         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86181         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
86182         already declared.
86183
86184 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86185
86186         * modules/getdate (Files): Add doc/getdate.texi.
86187         (Depends-on): Add setenv, xalloc.
86188
86189 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86190
86191         * lib/getdate.y: Add support for TZ="foo" within a date string.
86192         Fix some bugs near time_t boundaries.  Reject dates with
86193         out-of-range components, e.g., "Sept 31".
86194         Include <stdlib.h>, "setenv.h", "xalloc.h".
86195         (ISDIGIT_LOCALE): Remove; unused.
86196         Note that the TZ and time functions used here are not reentrant.
86197         (mktime_ok, get_tz): New functions.
86198         (TZBUFSIZE): New constant.
86199         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
86200         This requires that we sometimes generate our own TZ="XXX..." setting.
86201
86202 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         * doc/getdate.texi: New file, from coreutils with modifications for
86205         the new TZ parsing.
86206
86207 2004-10-27  Derek R. Price  <derek@ximbiot.com>
86208
86209         * lib/mktime.c (not_equal_tm): Remove redundant check.
86210
86211 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86212
86213         * modules/regex (lib_SOURCES): Add regex.c.
86214         Reported by James Youngman in
86215         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
86216
86217 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86218
86219         * lib/getdate.y: Use Bison 1.875 features, and some minor
86220         code cleanups.  This change does not affect semantics.
86221         Don't include <stdlib.h>; no longer needed.
86222         Don't include unlocked-io.h; only the "#if TEST" code uses
86223         stdio, and performance isn't crucial there.
86224         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
86225         Bison 1.875 features as described below.
86226         All uses of "PC." replaced by "pc->".
86227         (YYSTYPE): Add a forward declaration.
86228         (yylex, yyerror): Use full prototypes in forward decls.
86229         Use "%pure-parser" rather than obsolescent "%pure_parser".
86230         Use %parse-param and %lex-param instead of obsolescent
86231         YYPARSE_PARAM and YYLEX_PARAM.
86232         (meridian_table, month_and_day_table, time_units_table,
86233         relative_time_table, time_zone_table, military_table,
86234         lookup_zone, lookup_word, get_date):
86235         Use NULL instead of 0 where appropriate.
86236         (to_hour): Avoid abort (), to avoid a dependency on
86237         stdlib.h.
86238         (yyerror, yylex): Now accepts parser_control * arg.
86239         (main) [TEST]: Use '\0' rather than 0 for char.
86240
86241 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86242
86243         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
86244
86245 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86246
86247         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
86248         It's now the caller's responsibility to handle the case where
86249         !HAVE_GETPAGESIZE && !defined getpagesize.
86250
86251         * lib/mktime.c (leapyear): Arg is long int, not int.
86252
86253 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
86254
86255         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
86256
86257 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
86258
86259         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
86260         missing.  Problem reported by James Youngman.
86261
86262 2004-10-16  Simon Josefsson  <jas@extundo.com>
86263
86264         * gnulib-tool: Fix comments.  Fix parse problem.
86265         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
86266
86267 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
86268
86269         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
86270         implementation of getopt_long.  Problem reported by Alexander Taler in:
86271         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
86272
86273 2004-10-15  Bruno Haible  <bruno@clisp.org>
86274
86275         * gnulib-tool: Untabify. Initialize supplied_libname.
86276         (func_usage): More homogenous output.
86277         (func_modules_transitive_closure, func_modules_to_filelist,
86278         func_emit_lib_Makefile_am): New functions.
86279         (func_import): New function, extracted from big case statement. Use
86280         func_get_license, func_modules_transitive_closure,
86281         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
86282         opt_lgpl. Don't use test -a, as it's not portable.
86283         (func_create_testdir): Use func_modules_transitive_closure,
86284         func_modules_to_filelist, func_emit_lib_Makefile_am.
86285
86286 2004-10-15  Bruno Haible  <bruno@clisp.org>
86287
86288         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
86289
86290 2004-10-15  Bruno Haible  <bruno@clisp.org>
86291
86292         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
86293         the portions belonging to each module.
86294         Suggested by Derek Robert Price <derek@ximbiot.com>.
86295
86296 2004-10-12  Simon Josefsson  <jas@extundo.com>
86297
86298         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86299         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
86300         to real functions.
86301
86302 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86303
86304         * modules/vsnprintf: New file.
86305
86306 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86307
86308         * m4/vsnprintf.m4: New file.
86309
86310 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86311
86312         * lib/vsnprintf.h: New file.
86313         * lib/vsnprintf.c: New file.
86314
86315 2004-10-11  Bruno Haible  <bruno@clisp.org>
86316
86317         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
86318         vsnprintf.
86319
86320 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
86321
86322         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
86323
86324 2004-10-07  Bruno Haible  <bruno@clisp.org>
86325
86326         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
86327         fits into the provided buffer.
86328
86329 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
86330
86331         * lib/diacrit.c, diacrit.h: Add GPL notice.
86332
86333         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
86334         notice.
86335         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
86336         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
86337         This avoids a potential constant-folding bug.
86338
86339 2004-10-05  Bruno Haible  <bruno@clisp.org>
86340
86341         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
86342         for the declaration of strsep.
86343
86344 2004-10-05  Bruno Haible  <bruno@clisp.org>
86345
86346         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
86347
86348 2004-10-04  Simon Josefsson  <jas@extundo.com>
86349
86350         * modules/memmem: New file.
86351         * tests/test-memmem.c: New file.
86352         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
86353
86354 2004-10-04  Simon Josefsson  <jas@extundo.com>
86355
86356         * m4/memmem.m4: New file.
86357
86358 2004-10-04  Simon Josefsson  <jas@extundo.com>
86359
86360         * lib/memmem.h: New file.
86361         * lib/memmem.c: New file, taken from glibc.
86362
86363 2004-10-04  Simon Josefsson  <jas@extundo.com>
86364
86365         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
86366         '#ifdef USE_UNLOCKED_IO'.
86367
86368 2004-10-04  Simon Josefsson  <jas@extundo.com>
86369
86370         * config/srclist.txt: Add memmem from glibc.
86371
86372 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86373
86374         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
86375
86376         * modules/argmatch, modules/argp, modules/closeout, modules/error,
86377         modules/exclude, modules/getdate, modules/getline,
86378         modules/getndelim2, modules/getpass, modules/getpass-gnu,
86379         modules/getusershell, modules/linebuffer, modules/md5,
86380         modules/mountlist, modules/posixtm, modules/readtokens,
86381         modules/readutmp, modules/regex, modules/sha1,
86382         modules/version-etc, modules/yesno:
86383         Remove dependency on unlocked-io.
86384
86385 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86386
86387         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
86388
86389         * m4/unlocked-io.m4: Add copyright notice.
86390         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
86391
86392 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86393
86394         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
86395         * lib/xmalloc.c (xmemdup): Likewise.
86396         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
86397         XFREE): Remove these long-obsolescent macros.
86398         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
86399         * lib/xstrdup.c: Remove.
86400
86401         * lib/regex.c (re_comp): Cast gettext return value to char *,
86402         Problem reported by Martin Neitzel via Mark D. Baushke.
86403
86404 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86405
86406         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
86407         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
86408         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
86409         regex.c, sha1.c, version-etc.c, yesno.c:
86410         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
86411         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
86412         the includer's responsibility.
86413
86414         Sync from coreutils.
86415
86416         * lib/modechange.c (mode_compile): Don't decrement a pointer that
86417         points to the start of a string, as the C Standard says the
86418         resulting behavior is undefined.
86419
86420         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
86421         simple -> simple_backups, numbered_existing ->
86422         numbered_existing_backups, numbered -> numbered_backups
86423         to avoid shadowing problems.  All uses changed.
86424         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
86425         * lib/backupfile.c (check_extension, numbered_backup):
86426         Rename locals to avoid shadowing 'basename'.
86427         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
86428         once.
86429
86430         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86431         * lib/.cvsignore: Add getopt.h.
86432
86433 2004-10-04  Bruno Haible  <bruno@clisp.org>
86434
86435         * modules/README: New file.
86436         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86437         not a module.
86438
86439 2004-10-02  Jim Meyering  <jim@meyering.net>
86440
86441         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86442
86443 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86444
86445         * modules/strsep: New file.
86446
86447 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86448
86449         * m4/strsep.m4: New file.
86450
86451 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86452
86453         * lib/strsep.h: New file.
86454         * lib/strsep.c: New file.
86455
86456 2004-10-01  Simon Josefsson  <jas@extundo.com>
86457
86458         * lib/snprintf.c (snprintf): Handle size==0.
86459
86460 2004-10-01  Simon Josefsson  <jas@extundo.com>
86461             Bruno Haible  <bruno@clisp.org>
86462
86463         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86464         (snprintf): Declare 'args'.
86465
86466 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86467
86468         * lib/snprintf.c: Remove comments as to why each header is needed.
86469
86470 2004-10-01  Bruno Haible  <bruno@clisp.org>
86471
86472         * MODULES.html.sh: Add strsep.
86473
86474 2004-09-30  Simon Josefsson  <jas@extundo.com>
86475
86476         * modules/snprintf: New file.
86477
86478 2004-09-30  Simon Josefsson  <jas@extundo.com>
86479
86480         * m4/snprintf.m4: New file.
86481
86482 2004-09-30  Simon Josefsson  <jas@extundo.com>
86483
86484         * lib/snprintf.h, lib/snprintf.c: New files.
86485
86486 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86487
86488         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86489         (hol_entry_help): Never translate an empty string.
86490         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86491         * lib/argp.h (OPTION_NO_TRANS): New option.
86492
86493 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86494
86495         * modules/argp (Maintainer): Replace Simon Josefsson
86496         by Sergey Poznyakoff.
86497
86498 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86499
86500         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86501         changes merged back into glibc.
86502
86503 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86504
86505         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86506
86507 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86508
86509         * lib/xvasprintf.c: Include xalloc.h.
86510         (xvasprintf): Use xalloc_die, not xmalloc_die.
86511
86512 2004-09-29  Bruno Haible  <bruno@clisp.org>
86513
86514         * modules/alloca-opt: New file, derived from modules/alloca.
86515         * modules/allocsa: Depend on alloca-opt instead of alloca.
86516         * modules/setenv: Likewise.
86517         * modules/vasnprintf: Likewise.
86518         * MODULES.html.sh: Add alloca-opt.
86519
86520 2004-09-28  Simon Josefsson  <jas@extundo.com>
86521
86522         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86523         LGPL, and to replace license template from GPL to LGPL.
86524
86525 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86526
86527         * modules/dummy: Change license to LGPL.
86528
86529 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86530
86531         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86532
86533 2004-09-24  Simon Josefsson  <jas@extundo.com>
86534
86535         * modules/minmax (License): Change from GPL to LGPL.
86536
86537 2004-09-23  Simon Josefsson  <jas@extundo.com>
86538
86539         * gnulib-tool (--import): Typo.
86540
86541 2004-09-23  Simon Josefsson  <jas@extundo.com>
86542
86543         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86544
86545 2004-09-22  Bruno Haible  <bruno@clisp.org>
86546
86547         * modules/*: Add 'License' field.
86548         * gnulib-tool: Accept --extract-license option.
86549         (func_get_license): New function.
86550
86551 2004-09-21  Bruno Haible  <bruno@clisp.org>
86552
86553         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86554         Reported by Simon Josefsson.
86555
86556 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86557
86558         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86559         gl_AC_TYPE_LONG_LONG.
86560
86561 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86562
86563         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86564
86565 2004-09-18  Simon Josefsson  <jas@extundo.com>
86566         and  Paul Eggert  <eggert@cs.ucla.edu>
86567
86568         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86569         calls with autoreconf.  Define GL_LIB.
86570
86571 2004-09-14  Karl Berry  <karl@gnu.org>
86572
86573         * config/srclist.txt: unsync setenv.c, sigh.
86574
86575 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86576
86577         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86578         Problem reported by Bruno Haible in:
86579         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86580
86581 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86582
86583         * config/srclist.txt: Comment out argp-pvh.c.
86584
86585 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86586
86587         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86588         in case some system header has #define'd it.  Problem reported by
86589         Soeren D. Schulze in
86590         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86591
86592 2004-09-09  Karl Berry  <karl@gnu.org>
86593
86594         * regex.[ch]: delete from the root.  These were supposed to be
86595                 synced with emacs cvs, but this has not happened for about
86596                 a year, and anyway nothing else uses emacs regex.[ch].
86597                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86598                 lib/regex[.ch] is untouched.
86599
86600 2004-09-09  Bruno Haible  <bruno@clisp.org>
86601
86602         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
86603
86604 2004-09-09  Bruno Haible  <bruno@clisp.org>
86605
86606         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
86607         modifications.
86608         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
86609
86610 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86611
86612         * modules/xvasprintf: New file.
86613         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
86614
86615 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86616
86617         * lib/xvasprintf.h: New file.
86618         * lib/xvasprintf.c: New file.
86619         * lib/xasprintf.c: New file.
86620
86621 2004-09-08  Bruno Haible  <bruno@clisp.org>
86622
86623         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
86624
86625 2004-09-08  Bruno Haible  <bruno@clisp.org>
86626
86627         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
86628         length is > INT_MAX.
86629         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
86630         more.
86631
86632 2004-09-08  Bruno Haible  <bruno@clisp.org>
86633
86634         * lib/stdint_.h: New file, taken from GNU clisp.
86635
86636 2004-09-08  Bruno Haible  <bruno@clisp.org>
86637             Oskar Liljeblad  <oskar@osk.mine.nu>
86638
86639         * modules/stdint: New file.
86640         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
86641
86642 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86643
86644         Import from coreutils.
86645         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86646         strings on unbounded length.  alloca's performance benefits aren't
86647         that important here.
86648         (V_STRDUP): Remove.
86649         (parse_with_separator): New function, with most of the internals
86650         of the old parse_user_spec.  Allow user to omit both user and group,
86651         for compatibility with FreeBSD.
86652         Clone only the user name, not the entire spec.
86653         Do not set *uid, *gid unless entirely successful.
86654         Avoid memory leak in some failing cases.
86655         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86656         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86657         (parse_user_spec): Rewrite to use parse_with_separator.
86658
86659 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86660
86661         * modules/userspec: Don't depend on alloca.
86662
86663 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86664
86665         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
86666
86667 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86668
86669         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
86670         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
86671         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
86672
86673 2004-08-16  Simon Josefsson  <jas@extundo.com>
86674
86675         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
86676         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
86677         Add --dry-run for --import.
86678         Let user provided command line parameters override configure.ac
86679         settings.
86680
86681 2004-08-12  Simon Josefsson  <jas@extundo.com>
86682
86683         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
86684         as discussed with Paul Eggert in threads rooted at
86685         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
86686         and
86687         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
86688         Before, the test was empty, and relied on ELIDE_CODE in source
86689         code.)
86690         (gl_PREREQ_GETOPT): New macro.
86691         (gl_GETOPT): Use them.
86692
86693 2004-08-12  Simon Josefsson  <jas@extundo.com>
86694
86695         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
86696         * lib/getopt_.h: Renamed from getopt.h.
86697
86698 2004-08-12  Simon Josefsson  <jas@extundo.com>
86699
86700         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
86701         Change default library name from libfoo to libgnu.
86702         Now, if you have a configure.ac that says:
86703                 gl_SOURCE_BASE(gl)
86704                 gl_M4_BASE(gl/m4)
86705                 gl_MODULES(error getopt etcetera)
86706                 gl_INIT
86707         you can import all you need by running:
86708                 ../gnulib/gnulib-tool --import
86709
86710         * modules/getopt (Files): Rename getopt.h to getopt_.h.
86711         (Makefile.am): Rewrite, use logic from argz.
86712         (Include): Use <getopt.h> instead of "getopt.h".
86713
86714 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86715
86716         * modules/argp (Files): Add m4/unlocked-io.m4.
86717         (Depends-on): Add extensions.
86718
86719 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86720
86721         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
86722         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
86723         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
86724         Check for program_invocation_name, program_invocation_short_name,
86725         flockfile, funlockfile, features.h, _getopt_long_only_r.
86726
86727 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86728
86729         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
86730         its complicated substitute.
86731         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
86732         and program_invocation_name.
86733         (__argp_basename) [!_LIBC]: Remove; the only use was
86734         replaced by its body.
86735         (__argp_short_program_name): Change condition from
86736         !defined __argp_short_program_name to
86737         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
86738         to match argp-namefrob.h.
86739         (__argp_failure): Don't assume strerror_r returns char *.
86740         * lib/argp-parse.c (N_): Define unconditionally.
86741         (argp_default_options): Fill out initializers with 0 to avoid
86742         gcc warnings.
86743
86744 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86745
86746         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
86747         getopt1.c.
86748
86749 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86750
86751         Merge from coreutils.
86752
86753         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
86754
86755         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
86756         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
86757
86758 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86759
86760         Merge from coreutils.
86761
86762         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
86763         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
86764         for Reliant Unix 5.43.
86765
86766         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
86767         (union fooround): Use uintmax_t, not long int.
86768         The rest is a merge from libc:
86769         [defined _LIBC]: Include <shlib-compat.h>.
86770         (_obstack) [defined _LIBC]: Remove after 2.3.4.
86771
86772         * lib/settime.c (settime): Recode to avoid warning with
86773         Sun Forte C 6U2.
86774
86775         * lib/strverscmp.c: Convert to UTF-8.
86776
86777 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86778
86779         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86780         m4/uintmax_t.m4.
86781
86782 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86783
86784         * modules/xalloc-die: New file.
86785         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
86786
86787         * modules/md5 (Files): Add m4/uint32_t.m4.
86788         * modules/sha1: Renamed from modules/sha.
86789         (Files):
86790         Rename lib/sha.h to lib/sha1.h.
86791         Rename lib/sha.c to lib/sha1.c.
86792         Rename m4/sha.m4 to m4/sha1.m4.
86793         (lib_SOURCES): Likewise.
86794         (configure.ac): Rename gl_SHA to gl_SHA1.
86795         (Include): sha.h -> sha1.h.
86796
86797 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86798
86799         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
86800         * m4/sha1.m4: Renamed from sha.m4.
86801         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
86802
86803 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86804
86805         * lib/obstack.h (obstack_empty_p):
86806         Don't assume that chunk->contents is suitably aligned.
86807         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
86808         Likewise. Problem reported by Benno in
86809         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
86810
86811         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
86812         readable.  This could be improved further but it'd take some work.
86813
86814 2004-08-08  Simon Josefsson  <jas@extundo.com>
86815
86816         * modules/xgethostname (Depends-on): Remove exit and error (not
86817         used).
86818
86819         * modules/getpass-gnu: Add getpass.h.
86820         (Depends-on): Add stdbool.
86821         * modules/getpass: Add getpass.h.
86822
86823 2004-08-08  Simon Josefsson  <jas@extundo.com>
86824
86825         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
86826         Check getpass declaration.
86827
86828 2004-08-08  Simon Josefsson  <jas@extundo.com>
86829
86830         * lib/xgethostname.c: Don't include error.h (not used).
86831
86832         * lib/getpass.h: Add.
86833         * lib/getpass.c: Include getpass.h first.
86834
86835 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
86836
86837         * lib/xalloc-die.c: New file.
86838         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
86839         All uses removed.
86840         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
86841         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
86842         xalloc-die.c.
86843         (_, N_, xalloc_die): Move to xalloc-die.c.
86844         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
86845         so that we needn't mess with xalloc_msg_memory_exhausted.
86846
86847         * lib/sha1.h: Renamed from sha.h.
86848         (SHA1_H): Renamed from _SHA_H.
86849         (sha1_ctx): Renamed from sha_ctx.
86850         (sha1_init_ctx): Renamed from sha_init_ctx.
86851         (sha1_process_block): Renamed from sha_process_block.
86852         (sha1_process_bytes): Renamed from sha_process_bytes.
86853         (sha1_finish_ctx): Renamed from sha_finish_ctx.
86854         (sha1_read_ctx): Renamed from sha_read_ctx.
86855         (sha1_stream): Renamed from sha_stream.
86856         (sha1_buffer): Renamed from sha_buffer.
86857         * lib/sha1.c: Likewise; renamed from sha.c.
86858         Do not include <sys/types.h>.
86859         Include <stddef.h> rather than <stdlib.h>.
86860
86861 2004-08-08  Bruno Haible  <bruno@clisp.org>
86862
86863         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
86864         FILESYSTEM_PREFIX_LEN.
86865         * lib/progreloc.c: Likewise.
86866         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
86867
86868 2004-08-06  Simon Josefsson  <jas@extundo.com>
86869
86870         * modules/progname (Depends-on): Don't depend on stdbool.
86871
86872 2004-08-06  Simon Josefsson  <jas@extundo.com>
86873
86874         * modules/getsubopt: New file.
86875         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86876         getsubopt.
86877
86878 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86879
86880         More merge from coreutils.
86881
86882         * m4/utimens.m4, m4/utimecmp.m4: New files.
86883         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
86884         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
86885         prereq.m4, sha.m4: Import changes from coreutils.
86886
86887 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86888
86889         More merge from coreutils.
86890         * modules/raise, modules/readtokens0, modules/utimens:
86891         * modules/utimecmp, module/xnanosleep: New files.
86892         * modules/strftime: Add lib/strftime.h.
86893         Change include from <time.h> to "strftime.h".
86894         * modules/yesno: Add lib/yesno.h.
86895         * modules/backupfile: Remove lib/addext.c.
86896         * modules/euidaccess: Add stat-macros.h.
86897         * modules/canonicalize, modules/euidaccess,
86898         modules/filemode, modules/lchown, modules/makepath,
86899         modules/rmdir, modules/stat: Likewise.
86900
86901 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86902
86903         Merge from tar.
86904         * lib/argp-help.c (make_hol, hol_append): Don't assume that
86905         SIZE_MAX is a valid preprocessor constant.
86906         (__argp_basename): Change from "#ifndef _LIBC"
86907         to "#ifndef __argp_short_program_name", so that
86908         we don't compile these functions for tar.
86909
86910         More merges from coreutils.
86911         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
86912         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
86913         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
86914         * lib/addext.c: Remove; no longer needed.
86915         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
86916         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
86917         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
86918         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
86919         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
86920         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
86921         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
86922         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
86923         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
86924         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86925         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
86926         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
86927         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
86928         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
86929         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
86930         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
86931         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
86932         Import changes from coreutils.
86933
86934 2004-08-05  Simon Josefsson  <jas@extundo.com>
86935
86936         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
86937
86938 2004-08-05  Simon Josefsson  <jas@extundo.com>
86939
86940         * m4/getsubopt.m4: New file.
86941
86942 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86943
86944         Merge from coreutils.
86945
86946         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
86947         * m4/getcwd-path-max.m4: New files.
86948
86949         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
86950         FILESYSTEM_PREFIX_LEN ->
86951         FILE_SYSTEM_PREFIX_LEN.
86952         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
86953         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
86954         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
86955         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
86956
86957         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
86958         prerequisite modules now handle the DOS stuff.
86959         Don't check for unistd.h.
86960
86961 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86962
86963         Merge from coreutils.
86964
86965         * lib/.gdb-history: Remove; this doesn't belong here.
86966
86967         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
86968         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
86969         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
86970         * lib/getcwd.c: New files.
86971
86972         * lib/dirname.h: Include <stdbool.h>.
86973         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
86974         for consistency with POSIX terminology.  All uses changed.
86975         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
86976         (strip_trailing_slashes): Use bool for booleans.
86977         * lib/stripslash.c (strip_trailing_slashes): Likewise.
86978
86979         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
86980         sometimes returns a positive errno value even when it succeeds.
86981         (print_errno_message) [!LIBC]: Fall back on strerror if
86982         __strerror_r fails.
86983
86984         * lib/path-concat.c (mempcpy): Don't define if a system header defines
86985         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
86986         (longest_relative_suffix): New function.
86987         (path_concat): Use it.  Assume first argument is not NULL.
86988         Port to DOS.  Omit redundant separators.
86989         Report an error instead of returning NULL.
86990         Use mempcpy instead of memcpy.
86991         (xpath_concat): Remove: not declared or used.
86992
86993         * lib/same.h: Include <stdbool.h>
86994         (same_name): Return bool, not int.
86995         * lib/same.c (same_name): Likewise.
86996         (errno): Don't declare; we assume C89 or better now.
86997
86998         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
86999         if not already defined.
87000
87001         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
87002         * lib/dup-safer.c (errno): Likewise.
87003
87004 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87005
87006         Merge from coreutils.
87007         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87008         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87009         * modules/path-concat: Don't depend on strdup.
87010
87011 2004-08-03  Simon Josefsson  <jas@extundo.com>
87012
87013         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87014         * lib/progname.h: Don't include stdbool.h.
87015
87016 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87017
87018         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87019         * MODULES.html.sh (func_all_modules): Remove fatal.
87020
87021 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87022
87023         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87024
87025 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87026
87027         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87028         working.
87029
87030 2004-08-02  Simon Josefsson  <jas@extundo.com>
87031
87032         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87033         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87034         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87035
87036 2004-08-01  Simon Josefsson  <jas@extundo.com>
87037
87038         * lib/xgetdomainname.c: Include stdlib.h, for free().
87039
87040 2004-07-19  Bruno Haible  <bruno@clisp.org>
87041
87042         * MODULES.html.sh (func_all_modules): Add dummy.
87043
87044 2004-07-16  Simon Josefsson  <jas@extundo.com>
87045
87046         * modules/dummy: New file.
87047
87048 2004-07-16  Simon Josefsson  <jas@extundo.com>
87049
87050         * lib/dummy.c: New file.
87051
87052 2004-07-16  Bruno Haible  <bruno@clisp.org>
87053
87054         * lib/backupfile.h: Add extern "C" for C++.
87055         * lib/closeout.h: Likewise.
87056         * lib/copy-file.h: Likewise.
87057         * lib/findprog.h: Likewise.
87058         * lib/full-write.h: Likewise.
87059         * lib/pathname.h: Likewise.
87060         * lib/progname.h: Likewise.
87061         * lib/stpcpy.h: Likewise.
87062         * lib/stpncpy.h: Likewise.
87063         * lib/strcase.h: Likewise.
87064         * lib/strstr.h: Likewise.
87065         * lib/xalloc.h: Likewise.
87066
87067         * lib/mbswidth.h: Add extern "C" for C++.
87068         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
87069
87070 2004-07-13  Robert Millan  <robertmh@gnu.org>
87071
87072         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
87073
87074 2004-07-09  Simon Josefsson  <jas@extundo.com>
87075
87076         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
87077         failed without this.)
87078
87079 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87080
87081         * modules/chown (Files): Add lib/fchown-stub.c, since
87082         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
87083
87084 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87085
87086         * lib/fchown-stub.c: New file.
87087
87088 2004-06-24  Jim Meyering  <jim@meyering.net>
87089
87090         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
87091
87092 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87093
87094         * modules/argz: Omit "#include".
87095
87096         * MODULES.html.sh (func_all_modules): Add calloc, to match
87097         2004-06-01 addition of calloc module.
87098
87099 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87100
87101         * m4/argz.m4: New file, which is autoupdated from libtool.
87102
87103 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87104
87105         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
87106         libtool.
87107
87108 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87109
87110         * config/srclist-update: Don't insist on "USA." before the
87111         close-comment, as libtool omits the period and puts the */ on a
87112         separate line.
87113         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
87114         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
87115
87116 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
87117
87118         * modules/argz: New file.
87119         * MODULES.html.sh (func_all_modules): Add argz.
87120
87121 2004-06-12  Jim Meyering  <jim@meyering.net>
87122         and  Paul Eggert  <eggert@cs.ucla.edu>
87123
87124         * modules/hash (Files): Add lib/xalloc.h.
87125         * modules/pipe (Depends-on): Add wait-process.
87126         * modules/stat (Depends-on): Add xalloc.
87127         * modules/userspec (Files): Add lib/userspec.h.
87128         * modules/xstrto
87129
87130         Upgrade from gettext-0.13.
87131         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
87132         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
87133         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
87134
87135 2004-06-10  Jim Meyering  <jim@meyering.net>
87136
87137         * lib/calloc.c: New file.
87138
87139 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87140
87141         * lib/getdate.y (yylex): Allow space between sign and number.
87142         Problem reported by Dan Jacobson.
87143
87144 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87145
87146         Merge from coreutils CVS.
87147
87148         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
87149         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
87150         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
87151         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
87152         xstrtol.m4: Fix copyright date and/or serial number.
87153
87154         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
87155         See if we need an fchown replacement.
87156         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
87157         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
87158         and use the replacement function if we detect either defect.
87159
87160         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
87161         gl_UTIMECMP.
87162
87163 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87164         and  Jim Meyering  <jim@meyering.net>
87165
87166         Merge from coreutils CVS.
87167
87168         * lib/stat-macros.h: New file, with contents from file-type.h
87169         and coreutils' system.h.
87170         * lib/file-type.c: Include "stat-macros.h".
87171         * lib/file-type.h (file_type): Move all macro definitions to new file,
87172         stat-macros.h.
87173
87174         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
87175         Wrap old code with this conditional.
87176         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
87177         function that does not dereference symlinks.
87178         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
87179
87180         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
87181         dependency problems.
87182         (xreadlink): Accept new arg SIZE, for efficiency.
87183         All decls and uses changed.
87184         * lib/xreadlink.h: Include <stddef.h>, for size_t.
87185
87186         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
87187         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
87188
87189         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
87190         sysexits.h.
87191
87192 2004-06-01  Jim Meyering  <jim@meyering.net>
87193
87194         * m4/calloc.m4: New file.
87195
87196 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
87197
87198         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
87199         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
87200         Also, fix a typo in a diagnostic.
87201
87202 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87203
87204         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
87205         or AC_FUNC_REALLOC.
87206
87207 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87208
87209         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
87210         macros to be defined.
87211         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
87212         the allocator returns NULL because the requested size is zero.
87213
87214 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87215
87216         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
87217         var.  Add comment explaining why libc still defines it.  This
87218         merges the following patch from glibc:
87219         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
87220
87221 2004-05-20  Andreas Schwab  <schwab@suse.de>
87222
87223         * m4/free.m4: Replace free if it not known to work, not the other
87224         way round.
87225
87226 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
87227
87228         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
87229         present in glibc since revision 1.1 of this file.
87230         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
87231         obstack_alignment_mask, obstack_alloc, obstack_base,
87232         obstack_blank, obstack_blank_fast, obstack_chunk_size,
87233         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
87234         obstack_grow0, obstack_init, obstack_int_grow,
87235         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
87236         obstack_next_free, obstack_object_size, obstack_ptr_grow,
87237         obstack_ptr_grow_fast, obstack_room): Remove declarations of
87238         nonexistent functions.
87239
87240 2004-05-18  Karl Berry  <karl@gnu.org>
87241
87242         * config/srclist.txt: break link for vasnprintf.c.
87243
87244 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87245
87246         Port obstack to the AS/400, where pointers are 16 bytes wide and
87247         you cannot cast an integer to a valid pointer.  This patch is
87248         currently waiting to be integrated into glibc; see
87249         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
87250
87251         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
87252         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
87253         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
87254         (struct obstack): temp member is now a union of a pointer and
87255         an integer, instead of an integer.  All integer uses changed.
87256         This does not affect the physical layout of struct obstack,
87257         except on hosts (like the AS/400) where the size or alignment of
87258         void * is greater than that of ptrdiff_t.
87259         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
87260         __STDC__)]: Store temporary in pointer member of union, not
87261         integer member.
87262         * lib/obstack.c: Include <stddef.h>, for offsetof.
87263         (struct fooalign): Remove; it doesn't need a name.
87264         (union fooround): Change double to long double, and add void *.
87265         (DEFAULT_ALIGNMENT): Use offsetof to compute.
87266         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
87267         not a macro.  Hence the values are always int; so remove all
87268         casts-to-int in uses.
87269
87270 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87271
87272         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
87273         we can get this patch merged into glibc.
87274
87275 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87276             Paul Eggert  <eggert@cs.ucla.edu>
87277
87278         * m4/argp: Depend on alloca.
87279
87280 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87281             Paul Eggert  <eggert@cs.ucla.edu>
87282
87283         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
87284         freecoding.
87285
87286 2004-05-17  Bruno Haible  <bruno@clisp.org>
87287
87288         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
87289         precision that consists of a '.' followed by an empty digit string.
87290         Patch by Tor Lillqvist <tml@iki.fi>.
87291
87292 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87293
87294         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
87295         for backward compatibility with older code.  We need our own
87296         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
87297         it under some other name, and our alloca.h will define it.
87298
87299 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87300             Derek Price  <derek@ximbiot.com>
87301
87302         * lib/alloca.c: Include <alloca.h>, to get our interface.
87303         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
87304         include <alloca.h> first.  Use C89 prototype for alloca; this
87305         requires including <stddef.h> for size_t.  Use extern "C" if C++.
87306         Use #elif for simplicity, since we can assume C89 now.
87307         Don't try to source the system alloca.h since it will not be found
87308         and to prevent recursively including its replacement.
87309         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
87310         * lib/regex.c: Likewise.
87311
87312 2004-05-16  Derek Price  <derek@ximbiot.com>
87313             Paul Eggert  <eggert@cs.ucla.edu>
87314
87315         getline cleanup.  This changes the getndelim2 API: both order of
87316         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
87317         no delimiter).
87318
87319         * lib/getline.c: Don't include stddef.h or stdio.h, since our
87320         interface does that.
87321         (getline): Always use getdelim, so that we don't have two
87322         copies of this code.
87323         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
87324         if available.
87325         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
87326         (GETNDELIM2_MAXIMUM): New macro.
87327         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
87328         instead of the old practice of delim2==0.  All callers changed.
87329         Return -1 on overflow, instead of returning junk.
87330         Do not set *linesize unless allocation succeeds.
87331         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
87332         that we include sys/types.h.
87333         * lib/getnline.h: Likewise.
87334         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
87335         (getndelim2): Reorder arguments.
87336         * lib/getnline.c (getnline, getndelim):
87337         Don't discard the NMAX argument.
87338         (getnline): Invoke getndelim, to avoid code duplication.
87339         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
87340         of (size_t) -1 by callers of the getnline family.
87341
87342 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87343
87344         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
87345         Check for gettimeofday.
87346         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
87347         Check for settimeofday, stime.
87348
87349 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87350
87351         * lib/nanosleep.c (suspended): Change its type from int to
87352         sig_atomic_t volatile.
87353         (first_call): Make it private to rpl_nanosleep, and have it
87354         be zero initially as that's a bit faster.
87355         (my_usleep): Round up fractional times instead of truncating them,
87356         as this is the usual meaning for 'sleep'.
87357
87358         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
87359         doesn't work.
87360         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
87361         (ENOSYS): Define if not defined.
87362         (settime): Fall back on stime if it exists and settimeofday fails.
87363         But don't bother with fallbacks if a method fails with errno == EPERM.
87364
87365 2004-05-11  Jim Meyering  <jim@meyering.net>
87366
87367         Prior to this change, the save_cwd caller required read access to the
87368         current directory on most systems (ones with the fchdir function).
87369
87370         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
87371         fails, try write-only, and finally, resort to using xgetcwd.
87372
87373 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87374
87375         * lib/obstack.c, obstack.h: Import changes from libc.
87376
87377 2004-04-28  Bruno Haible  <bruno@clisp.org>
87378
87379         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
87380         also implicitly appends .exe to executables.
87381         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
87382         accepts Windows pathnames.
87383         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87384         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87385         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87386         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87387         Reported by Derek Robert Price <derek@ximbiot.com>.
87388
87389 2004-04-21  Karl Berry  <karl@gnu.org>
87390
87391         * config/srclist.txt (localcharset.c): break sync.
87392
87393 2004-04-20  Paul Eggert  <eggert@twinsun.com>
87394
87395         * m4/host-os.m4: Add a copyright notice.
87396
87397 2004-04-20  Jim Meyering  <jim@meyering.net>
87398
87399         Change UTILS_ to gl_ in AC_DEFINE'd names.
87400         Change utils_- and jm_-prefixed variables, too.
87401         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
87402         UTILS_FUNC_MKDIR_TRAILING_SLASH.
87403         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
87404
87405         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
87406         Don't emit trailing blanks.
87407         Also rename jm_-prefixed variables to have gl_ prefix.
87408
87409         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
87410         Also rename jm_-prefixed variables to have gl_ prefix.
87411
87412         * m4/jm-macros.m4: Reflect the renamings.
87413         * m4/prereq.m4: Likewise.
87414
87415 2004-04-20  Jim Meyering  <jim@meyering.net>
87416
87417         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
87418         memory.
87419
87420 2004-04-20  Jim Meyering  <jim@meyering.net>
87421             Bruno Haible  <bruno@clisp.org>
87422
87423         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
87424         memory when realloc fails.
87425
87426 2004-04-19  Jim Meyering  <jim@meyering.net>
87427
87428         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
87429         now that readutmp.c may call `free (0)'.
87430
87431 2004-04-19  Bruno Haible  <bruno@clisp.org>
87432
87433         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87434         * m4/inttypes_h.m4: Likewise.
87435         * m4/stdint_h.m4: Likewise.
87436         * m4/intmax_t.m4: Likewise.
87437         * m4/uintmax_t.m4: Likewise.
87438
87439 2004-04-18  Jim Meyering  <jim@meyering.net>
87440
87441         * m4/prereq.m4: Don't forbid jm_ prefix.
87442
87443         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87444         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87445         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87446         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87447         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87448         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87449         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87450         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87451         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87452         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87453         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87454         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87455         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87456         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87457         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87458         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87459         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87460         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87461         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87462
87463 2004-04-18  Jim Meyering  <jim@meyering.net>
87464
87465         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87466         failure, don't leak memory and do call END_UTMP_ENT.
87467
87468 2004-04-16  Jim Meyering  <jim@meyering.net>
87469
87470         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87471         coreutils' stat program.
87472         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87473
87474 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87475
87476         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87477         C89.
87478         (CHAR_BIT): Remove, since we assume C89.
87479         Include <stdint.h> if available, as per current Autoconf CVS advice.
87480
87481 2004-03-31  Jim Meyering  <jim@meyering.net>
87482
87483         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87484         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87485         * m4/xalloc.m4: Likewise.
87486
87487 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87488
87489         Merge from coreutils.
87490
87491         * m4/inttostr.m4: New file.
87492         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87493         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87494         Require gl_CLOCK_TIME.
87495         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87496
87497 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87498
87499         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87500         not bool, to be more consistent with Unix conventions.
87501         Suggested by Bruno Haible.
87502
87503         Merge from coreutils.
87504
87505         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87506         * lib/umaxtostr.c: New files.
87507
87508         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87509         the usual <time.h> dance.
87510         (get_date): Change signature to support fractional time stamps.
87511         All callers changed.
87512         * lib/getdate.y: Include "getdate.h" first, as we can now
87513         assume C89 and don't need to worry about 'const'.
87514         Similarly, include "unlocked-io.h" near start, not in middle.
87515         Include <limits.h>.
87516         (textint.value): Use long int rather than int.
87517         (textint.digits): Use size_t rather than int.
87518         (BILLION, LOG10_BILLION): New constants.
87519         (parser_control): New member rel_ns.  Members day_ordinal,
87520         time_zone, month, day, hour, minutes, rel_year, rel_month,
87521         rel_day, rel_hour, rel_minutes, rel_seconds
87522         are now long int, not int.  Member seconds is now struct timespec,
87523         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87524         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87525         not int.
87526         (%union.intval): Now long int, not int.
87527         New member timespec.
87528         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87529         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87530         (spec): Now is a timespec or an item list.
87531         (timespec, items): New nonterminals.
87532         (time, rel, relunit, number, get_date):
87533         Add support for fractional seconds.
87534         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87535         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87536         (to_hour): First arg is now long int, not int.
87537         (to_year): Returns long int, not int.
87538         Don't treat year -70 like 70.
87539         (tm_diff): Returns long int, not int.
87540         (lookup_word): Use bool instead of int when appropriate.
87541         (yylex): Use size_t for count, not int.
87542         Detect overflow when parsing large integer constants.
87543         Add support for fractions.
87544         (get_date): Make pointers 'const' if possible.
87545         Use more-portable code to detect integer overflow.
87546         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87547         Don't use ctime; it's not reliable if the year has >4 digits.
87548
87549         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87550         This is for compatibility with BSD.
87551
87552         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87553         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87554         From coreutils' system.h.
87555
87556         * lib/userspec.c: Don't include "posixver.h".
87557         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87558         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87559         compatible extension.  Simplify code by removing a boolean int
87560         that was always nonzero if a string was nonnull.
87561
87562 2004-03-30  Jim Meyering  <jim@meyering.net>
87563
87564         Merge from coreutils.
87565
87566         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87567         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87568         on some systems one must include <grp.h> before it.
87569         Reported by Christian Krackowizer.
87570
87571 2004-03-30  Jim Meyering  <jim@meyering.net>
87572
87573         Merge from coreutils.
87574
87575         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87576
87577         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87578         an empty input stream.
87579
87580         * lib/readtokens.c: Include <stdbool.h>.
87581         (readtoken): Use `size_t' rather than int/long.
87582         All callers adjusted.
87583         Use `bool' rather than `int' where appropriate.
87584         Use memset rather than an explicit loop.
87585         Use x2nrealloc rather than xrealloc.
87586         Allow the use of `\0' as a delimiter.
87587         (readtokens): Likewise.
87588         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87589
87590 2004-03-30  Jim Meyering  <jim@meyering.net>
87591
87592         * m4/realloc.m4: Remove file, since now it does no more than
87593         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87594         the `configure.ac' section of module/realloc.
87595         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87596
87597 2004-03-30  Bruno Haible  <bruno@clisp.org>
87598
87599         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87600         nonnull.
87601
87602 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87603
87604         Merge changes to getloadavg.c from coreutils and Emacs.
87605
87606         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
87607         Define to an expression, not to the empty string.
87608         Include cloexec.h and xalloc.h.
87609         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
87610         Use set_cloexec_flag rather than rolling our own.
87611         * lib/cloexec.c, lib/cloexec.h: New files.
87612
87613 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87614
87615         * m4/cloexec.m4: New file.
87616
87617 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87618
87619         * lib/getopt.h: Sync with libc CVS.
87620
87621 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87622             Bruno Haible  <bruno@clisp.org>
87623
87624         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
87625         mbswidth.
87626
87627 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87628             Bruno Haible  <bruno@clisp.org>
87629
87630         * lib/mbswidth.h: Include <wchar.h> only if
87631         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
87632         <wchar.h>.
87633         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
87634
87635 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87636
87637         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
87638         Sync with libc CVS.
87639         * lib/getopt_int.h: New file, also synced from libc.
87640
87641 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87642
87643         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87644         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87645         Bring back getopt.c, getopt.h, getopt1.c.
87646
87647 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87648
87649         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87650         All uses changed.  Check for sa_sigaction member; this fixes
87651         a bug first reported by Jason Andrade in
87652         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87653
87654 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87655
87656         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87657         '#if' expressions.  Unlike the code it replaces, it does not
87658         depend on (defined _SC_PAGESIZE).  However, it does depend on
87659         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87660         first reported by Jason Andrade in
87661         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87662
87663 2004-02-25  Simon Josefsson  <jas@extundo.com>
87664
87665         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
87666
87667 2004-02-25  Simon Josefsson  <jas@extundo.com>
87668
87669         * lib/strdup.h: New file.
87670         * lib/strdup.c: Include it.
87671         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
87672         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
87673
87674 2004-02-23  Karl Berry  <karl@gnu.org>
87675
87676         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
87677         (from fencepost.gnu.org:/gd/gnuorg).
87678
87679 2004-02-23  Karl Berry  <karl@gnu.org>
87680
87681         * config/srclistvars.sh (GNUORG) [karl]: redefine.
87682         * config/srclist.txt: add maintain/standards documents.
87683
87684 2004-02-18  Bruno Haible  <bruno@clisp.org>
87685
87686         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
87687         Reported by Derek Robert Price <derek@ximbiot.com>.
87688
87689 2004-02-16  Karl Berry  <karl@gnu.org>
87690
87691         * config/mkinstalldirs, install-sh: update from automake.
87692
87693 2004-02-06  Karl Berry  <karl@gnu.org>
87694
87695         * m4/po.m4: update from gettext 0.14.1.
87696
87697 2004-02-06  Karl Berry  <karl@gnu.org>
87698
87699         * lib/config.charset: update from gettext 0.14.1.
87700
87701 2004-02-05  Paul Eggert  <eggert@twinsun.com>
87702
87703         Add comments and code, prompted by suggestions from Bruno Haible
87704         for sh-quote.
87705         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
87706         describing the enum quoting_style values.
87707         * lib/quotearg.c (quotearg_alloc): New function.
87708         (quotearg_buffer_restyled): Treat lone { and } as special.
87709         Treat = as special.  Work around bug with older shells
87710         that "see" a '\' that is really the 2nd byte of a multibyte char.
87711         Quote empty string with shell_quoting_style.
87712
87713 2004-02-03  Bruno Haible  <bruno@clisp.org>
87714
87715         * m4/pipe.m4: New file, from GNU gettext.
87716
87717 2004-02-03  Bruno Haible  <bruno@clisp.org>
87718
87719         * lib/pipe.h: New file, from GNU gettext.
87720         * lib/pipe.c: New file, from GNU gettext.
87721
87722 2004-01-27  Bruno Haible  <bruno@clisp.org>
87723
87724         * m4/execute.m4: New file, from GNU gettext.
87725
87726 2004-01-27  Bruno Haible  <bruno@clisp.org>
87727
87728         * lib/execute.h: New file, from GNU gettext.
87729         * lib/execute.c: New file, from GNU gettext.
87730         * lib/w32spawn.h: New file, from GNU gettext.
87731
87732 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87733
87734         Merge from diffutils.
87735
87736         * lib/file-type.c (file_type): Add typed memory objects.
87737         * lib/file-type.h (S_TYPEISTMO): New macro.
87738
87739         * lib/c-stack.h (c_stack_action): Remove argv argument.
87740         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
87741         (die): Don't calculate message unless segv_action returns.
87742         (get_stack_location, min_address_from_argv, max_address_from_argv,
87743         volatile stack_base, volatile_stack_size): Remove.
87744         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
87745         that every segmentation violation is a stack overflow.  (Ouch!)
87746         See Debian bug 136249 (still outstanding) for more info about why
87747         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
87748
87749 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87750
87751         Exit-status fix from coreutils.
87752
87753         Use exit_failure consistently in place of EXIT_FAILURE,
87754         so that program exit statuses are consistent on failure.
87755
87756         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
87757         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
87758         * lib/argmatch.h: Comment fix to match the above.
87759         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
87760         Now a macro referring to exit_failure, instead of a separate
87761         variable.  Include "exitfail.h" to get it.
87762         * lib/xstrtol.h: Include "exitfail.h".
87763         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
87764
87765         * lib/long-options.c (parse_long_options): Use prototype
87766         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
87767         for clarity.
87768
87769 2004-01-21  Jim Meyering  <jim@meyering.net>
87770
87771         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
87772         so as not to conflict with a different-sized __mktime_internal
87773         function in GNU libc.
87774         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
87775         Problem building statically-linked `ls' reported by Michael Brunnbauer.
87776
87777 2004-01-20  Karl Berry  <karl@gnu.org>
87778
87779         * config/config.guess: update from config.
87780
87781         * config/srclistvars.sh: GNUWWWLICENSES for karl.
87782
87783 2004-01-20  Bruno Haible  <bruno@clisp.org>
87784
87785         Safer stack allocation.
87786         * lib/setenv.c: Include allocsa.h.
87787         (alloca): Remove fallback definition.
87788         (freea): Remove macro.
87789         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
87790         instead of freea.
87791
87792 2004-01-20  Bruno Haible  <bruno@clisp.org>
87793
87794         * m4/eealloc.m4: New file, from GNU gettext.
87795
87796 2004-01-20  Bruno Haible  <bruno@clisp.org>
87797
87798         * m4/allocsa.m4: New file, from GNU gettext.
87799
87800 2004-01-20  Bruno Haible  <bruno@clisp.org>
87801
87802         * lib/xallocsa.h: New file, from GNU gettext.
87803         * lib/xallocsa.c: New file, from GNU gettext.
87804
87805 2004-01-20  Bruno Haible  <bruno@clisp.org>
87806
87807         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
87808
87809 2004-01-20  Bruno Haible  <bruno@clisp.org>
87810
87811         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
87812         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
87813         specially.
87814
87815 2004-01-20  Bruno Haible  <bruno@clisp.org>
87816
87817         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
87818         patch.
87819
87820 2004-01-20  Bruno Haible  <bruno@clisp.org>
87821
87822         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
87823
87824 2004-01-20  Bruno Haible  <bruno@clisp.org>
87825
87826         * lib/eealloc.h: New file.
87827
87828 2004-01-20  Bruno Haible  <bruno@clisp.org>
87829
87830         * lib/binary-io.h: Avoid warnings on Cygwin.
87831
87832 2004-01-20  Bruno Haible  <bruno@clisp.org>
87833
87834         * lib/allocsa.h: New file, from GNU gettext.
87835         * lib/allocsa.c: New file, from GNU gettext.
87836
87837 2004-01-18  Karl Berry  <karl@gnu.org>
87838
87839         * doc/gpl.texi, doc/lgpl.texi: new files.
87840
87841 2004-01-18  Karl Berry  <karl@gnu.org>
87842
87843         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
87844         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
87845
87846 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87847
87848         Merge from coreutils.
87849
87850         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
87851         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
87852         (gl_DEFAULT_POSIX2_VERSION): Move
87853         the documentation from 'configure' into 'config.hin',
87854         so that 'configure --help' isn't burdened by it and
87855         we don't have to worry about its formatting there.
87856         Reword the documentation so that it's more succinct
87857         and can be run together into a single paragraph.
87858         * m4/same.m4 (gl_SAME): Check for pathconf.
87859
87860 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87861
87862         Merge from coreutils.
87863
87864         * lib/posixver.c: Include posixver.h.
87865
87866         * lib/same.c: Include <stdbool.h>, <limits.h>.
87867         (_POSIX_NAME_MAX): Define if not defined.
87868         (MIN): New macro.
87869         (same_name): If file names are silently truncated, report
87870         that the file names are the same if they are the same after
87871         the silent truncation.
87872
87873         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
87874         conversion function.
87875         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
87876         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
87877         longer needed.
87878
87879 2004-01-15  Jim Meyering  <jim@meyering.net>
87880
87881         Merge from coreutils.
87882
87883         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
87884         if no library is required.
87885         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
87886         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
87887         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
87888         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
87889         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
87890         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
87891         value, $ac_cv_search_crypt, if it's "none required".
87892         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
87893         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
87894         not gl_FUNC_GETLOADAVG.
87895         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
87896         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
87897
87898 2004-01-15  Jim Meyering  <jim@meyering.net>
87899
87900         Merge from coreutils.
87901
87902         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
87903         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
87904         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
87905
87906         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
87907         optional configure-time default.
87908
87909         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87910
87911         * lib/xreadlink.c (xreadlink): Correct outdated comment.
87912
87913 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
87914
87915         Merge from coreutils.
87916
87917         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
87918         value, $ac_cv_search_nanosleep, if it's "none required".
87919
87920 2004-01-14  Paul Eggert  <eggert@twinsun.com>
87921
87922         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
87923         with like-named macro in fnmatch.c.
87924         (EXT): Use an internal constant instead.
87925
87926         Merge fnmatch patches from glibc.
87927         * lib/fnmatch.c (mbsinit): Remove define.
87928         Add libc_hidden_ver (__fnmatch, fnmatch).
87929         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
87930         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
87931
87932 2004-01-14  Karl Berry  <karl@gnu.org>
87933
87934         * config/install-sh: update from automake.
87935
87936 2004-01-13  Karl Berry  <karl@gnu.org>
87937
87938         * config/install-sh: update from automake.
87939
87940 2004-01-09  Karl Berry  <karl@gnu.org>
87941
87942         * config/install-sh: update from automake.
87943
87944 2004-01-05  Karl Berry  <karl@gnu.org>
87945
87946         * config/config.{sub,guess}: update from config.
87947
87948 2003-12-31  Karl Berry  <karl@gnu.org>
87949
87950         * config/depcomp: update from automake.
87951
87952 2003-12-14  Karl Berry  <karl@gnu.org>
87953
87954         * lib/config.charset: update from gettext-runtime.
87955
87956 2003-12-03  Paul Eggert  <eggert@twinsun.com>
87957
87958         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
87959         Bug reported by Alfred M. Szmidt.
87960
87961 2003-12-03  Bruno Haible  <bruno@clisp.org>
87962
87963         * m4/gettext.m4: Upgrade from gettext-0.13.
87964         * m4/po.m4: Upgrade from gettext-0.13.
87965         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
87966         * m4/intmax.m4: New file, from gettext-0.13.
87967         * m4/printf-posix.m4: New file, from gettext-0.13.
87968
87969 2003-11-29  Karl Berry  <karl@gnu.org>
87970
87971         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
87972
87973 2003-11-25  Paul Eggert  <eggert@twinsun.com>
87974             Bruno Haible  <bruno@clisp.org>
87975
87976         * lib/printf-parse.h: Don't include sys/types.h.
87977         (ARG_NONE): New macro.
87978         (char_directive): Change type of *arg_index fields to size_t.
87979         * lib/printf-parse.c: Don't include sys/types.h.
87980         (SSIZE_MAX): Remove macro.
87981         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
87982         Remove unnecessary overflow check.
87983         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
87984         fields.
87985
87986 2003-11-25  Bruno Haible  <bruno@clisp.org>
87987
87988         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
87989
87990 2003-11-25  Bruno Haible  <bruno@clisp.org>
87991
87992         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
87993         gt_TYPE_SSIZE_T.
87994
87995 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87996
87997         * modules/alloca: Remove dependency on xalloc.
87998
87999 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88000
88001         * lib/alloca.c: Remove dependency on xalloc module.
88002         (xalloc_die): Remove.
88003         (memory_full) [!defined emacs]: New macro.
88004         [!defined emacs]: Don't include xalloc.h.
88005         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
88006         address arithmetic overflows.  Change datatypes a bit to avoid
88007         unnecessary casts.
88008
88009 2003-11-22  Jim Meyering  <jim@meyering.net>
88010
88011         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88012         s/size/size_t/.
88013
88014 2003-11-21  Karl Berry  <karl@gnu.org>
88015
88016         * config/config.{sub,guess}: update from config.
88017
88018 2003-11-18  Karl Berry  <karl@gnu.org>
88019
88020         * config/config.{sub,guess}: update from config.
88021
88022         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88023
88024 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88025
88026         * README: Mention that S+T cannot overflow if S is the size of
88027         an existing object and T is sufficiently small.
88028
88029 2003-11-17  Jim Meyering  <jim@meyering.net>
88030
88031         On systems without utime and without a utimes function capable of
88032         dealing with a NULL struct utimbuf* argument, this utime replacement
88033         could -- in unusual circumstances -- leak a file descriptor.
88034         * lib/utime.c: Include <unistd.h> and <errno.h>.
88035         (utime_null): Be sure to close `fd' and to preserve errno.
88036         Reported by Geoff Collyer via Arnold Robbins.
88037
88038 2003-11-17  Bruno Haible  <bruno@clisp.org>
88039
88040         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88041         (Depends-on): Add xsize.
88042
88043 2003-11-17  Bruno Haible  <bruno@clisp.org>
88044
88045         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88046
88047 2003-11-17  Bruno Haible  <bruno@clisp.org>
88048
88049         * lib/vasnprintf.c (alloca): Remove fallback definition.
88050         (freea): Remove definition.
88051         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88052         Reported by Paul Eggert.
88053
88054 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88055             Bruno Haible  <bruno@clisp.org>
88056
88057         Protect against address arithmetic overflow.
88058         * lib/printf-args.h: Include stddef.h.
88059         (arguments): Change type of field 'count' to size_t.
88060         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88061         'unsigned int' where appropriate.
88062         * lib/printf-parse.h: Include sys/types.h.
88063         (char_directive): Change type of *arg_index fields to ssize_t.
88064         (char_directives): Change type of fields 'count', max_*_length to
88065         size_t.
88066         * lib/printf-parse.c: Include sys/types.h and xsize.h.
88067         (SSIZE_MAX): Define fallback value.
88068         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
88069         instead of 'int' where appropriate. Check a_allocated, d_allocated
88070         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
88071         * lib/vasnprintf.c: Include xsize.h.
88072         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
88073         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
88074         overflow. Avoid wraparound when converting a width or precision from
88075         decimal to binary.
88076
88077 2003-11-16  Bruno Haible  <bruno@clisp.org>
88078
88079         Update from GNU gettext.
88080         * lib/printf-parse.c: Generalize to it can be compiled for wide
88081         strings.
88082         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
88083         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
88084         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
88085         SNPRINTF): New macros.
88086         Don't include <alloca.h> if the file is used inside libintl.
88087         (local_wcslen): New function, for Solaris 2.5.1.
88088         (VASNPRINTF): Use it instead of wcslen.
88089
88090 2003-11-16  Bruno Haible  <bruno@clisp.org>
88091
88092         * lib/xsize.h (xmax): New function.
88093         (xsum, xsum3, xsum4): Declare as "pure" functions.
88094
88095 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88096
88097         * modules/xalloc (Files): Undo latest change, since xalloc.h
88098         no longer needs SIZE_MAX or PTRDIFF_MAX.
88099
88100 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88101
88102         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
88103         gl_PTRDIFF_MAX.
88104
88105 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88106
88107         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
88108         "return", to pacify some unknown compiler.  Problem reported
88109         by Joerg Schilling.
88110
88111 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88112
88113         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
88114         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
88115         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
88116         heuristic is just as accurate as far as we know, and it removes a
88117         dependency on size_max.m4 and ptrdiff_max.m4.
88118
88119 2003-11-11  Bruno Haible  <bruno@clisp.org>
88120
88121         * modules/xsize (Files): Add m4/size_max.m4.
88122         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
88123
88124 2003-11-11  Bruno Haible  <bruno@clisp.org>
88125
88126         * m4/size_max.m4: New file.
88127         * m4/ptrdiff_max.m4: New file.
88128         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
88129         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
88130         (gl_XALLOC): Invoke it.
88131
88132 2003-11-11  Bruno Haible  <bruno@clisp.org>
88133
88134         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
88135         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
88136         defined.
88137
88138 2003-11-10  Paul Eggert  <eggert@twinsun.com>
88139
88140         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
88141         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
88142         rejected some allocations of exactly SIZE_MAX - 2 bytes.
88143         From Bruno Haible.
88144         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
88145         not (size_t) -1, since it's defined here.
88146
88147 2003-11-09  Karl Berry  <karl@gnu.org>
88148
88149         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
88150
88151 2003-11-06  Paul Eggert  <eggert@twinsun.com>
88152
88153         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
88154         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
88155         Reject sizes of exactly SIZE_MAX bytes.
88156         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
88157         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
88158
88159 2003-11-05  Bruno Haible  <bruno@clisp.org>
88160
88161         * lib/xsize.h: Include limits.h, to avoid a possible collision with
88162         SIZE_MAX defined in <limits.h> on Solaris.
88163
88164 2003-11-04  Jim Meyering  <jim@meyering.net>
88165
88166         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
88167         variable names, rather than @VAR@.
88168         * modules/poll: Likewise.
88169
88170 2003-11-04  Bruno Haible  <bruno@clisp.org>
88171
88172         * modules/xsize: New file.
88173         * modules/linebreak: Depend on xsize.
88174         * MODULES.html.sh (func_all_modules): Add xsize.
88175
88176 2003-11-04  Bruno Haible  <bruno@clisp.org>
88177
88178         * m4/xsize.m4: New file.
88179
88180 2003-11-04  Bruno Haible  <bruno@clisp.org>
88181
88182         * lib/xsize.h: New file.
88183         * lib/linebreak.c: Include xsize.h.
88184         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
88185         argument for overflow.
88186         Suggested by Paul Eggert.
88187
88188 2003-11-03  Karl Berry  <karl@gnu.org>
88189
88190         * config/config.{guess,sub}: update from config.
88191
88192 2003-11-03  Jim Meyering  <jim@meyering.net>
88193
88194         * modules/userspec (lib_SOURCES): Add userspec.h.
88195         (Include): Add "userspec.h".
88196         Improve description.
88197
88198 2003-11-03  Jim Meyering  <jim@meyering.net>
88199
88200         * lib/userspec.c: Include "userspec.h".
88201         * lib/userspec.h: New file.
88202
88203 2003-11-03  Bruno Haible  <bruno@clisp.org>
88204
88205         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
88206
88207 2003-11-03  Bruno Haible  <bruno@clisp.org>
88208
88209         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
88210         available, to avoid (extremely rare) race condition.
88211         Suggested by Paul Eggert.
88212
88213 2003-11-02  Karl Berry  <karl@gnu.org>
88214
88215         * config/srclist.txt (vasprintf.c): sync broken, sigh.
88216
88217 2003-10-31  Paul Eggert  <eggert@twinsun.com>
88218
88219         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
88220         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
88221         (read_filesystem_list): Set and use me_type_malloced.
88222         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
88223         whatever the type happens to be), for brevity and consistency.
88224         Check for size calculation overflow on Alphas running OSF/1.
88225
88226 2003-10-31  Jim Meyering  <jim@meyering.net>
88227
88228         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
88229
88230         * lib/linebuffer.c: Include <string.h> for declaration of memset.
88231
88232 2003-10-30  Paul Eggert  <eggert@twinsun.com>
88233             Bruno Haible  <bruno@clisp.org>
88234
88235         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
88236         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
88237
88238 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
88239
88240         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
88241         netbsd*-gnu*.  Suggested by Robert Millan.
88242
88243 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88244
88245         * modules/group-member: Depend on stdbool.
88246
88247 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88248
88249         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
88250
88251 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88252
88253         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
88254         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
88255         after the 'gnu' in these cases.  This fixes some bugs in the
88256         previous change, and is based on suggestions by Robert Millan.
88257
88258 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88259
88260         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
88261         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
88262         no longer needed.
88263         * lib/quotearg.c (quotearg_n_options): Use it.
88264         * lib/group-member.c: Include <stdbool.h>.
88265         (free_group_info): Arg is now const *; don't free arg.
88266         (get_group_info): Now returns bool and accepts struct group_info *,
88267         rather than returning a malloc'ed struct group_info *.
88268         All uses changed.  Check for overflow in internal size calculation.
88269
88270         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
88271         rather than xmalloc/xrealloc.
88272         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
88273         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
88274         conformance bug: the old code used a pointer after freeing the
88275         storage that it addressed.
88276         * lib/hash.c (hash_initialize): Simplify the code by using
88277         xalloc_oversized rather than doing it by hand.
88278         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
88279         the buffer preserved.  Use free and xmalloc instead.
88280         * lib/quotearg.c (quotearg_n_options): Likewise.
88281         Use a simpler test for size overflow.  Don't use xalloc_oversized
88282         because unsigned int might be wider than size_t (!); this suggests
88283         that we should switch from unsigned int to size_t for slot numbers.
88284
88285 2003-10-28  Paul Eggert  <eggert@twinsun.com>
88286
88287         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
88288         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
88289         NetBSD kernels.  Requested by Richard Stallman.
88290
88291 2003-10-27  Paul Eggert  <eggert@twinsun.com>
88292
88293         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
88294         to allocate the returned structure.  Do not allocate a subarray,
88295         as x2nrealloc will do that.
88296         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
88297         instead of xnrealloc.
88298         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
88299
88300 2003-10-27  Bruno Haible  <bruno@clisp.org>
88301
88302         * lib/stdbool_.h: Better support for BeOS.
88303
88304 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88305
88306         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
88307         now uses inline.
88308
88309 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88310
88311         * lib/xalloc.h (xalloc_oversized): New static inline function, for
88312         callers that want to do their own size-overflow checking.  Include
88313         <stdbool.h>, since xalloc_oversized returns bool.
88314         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
88315         to use xalloc_oversized.
88316
88317         Add two functions x2realloc, x2nrealloc, for programs that grow
88318         arrays dynamically by doubling their sizes.
88319         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
88320         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
88321         New functions.
88322
88323         Port to C99 semantics for 'inline' of external functions.
88324         Bug reported by Bruno Haible.
88325         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
88326         with the old contents of xnmalloc.
88327         (xnmalloc, xmalloc): Use it.
88328         (xnrealloc_inline): New static inline function,
88329         with the old contents of xnrealloc.
88330         (xnrealloc, xrealloc): Use it.
88331
88332         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
88333         that.
88334
88335 2003-10-26  Karl Berry  <karl@gnu.org>
88336
88337         * config/srclist.txt (COPYING.DOC): no longer available from
88338         /gd/gnuorg; don't know where the ultimate source is.
88339
88340 2003-10-25  Paul Eggert  <eggert@twinsun.com>
88341
88342         Fix several address-calculation bugs in the hash modules,
88343         plus some minor code cleanup.
88344
88345         * lib/hash.h: Include <stdbool.h>, for bool.
88346         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
88347         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
88348         hash_get_n_entries, hash_get_max_bucket_length,
88349         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
88350         hash_rehash): Use size_t rather than unsigned.
88351         * lib/hash.c (struct hash_table, hash_get_n_buckets,
88352         hash_get_n_buckets_used, hash_get_n_entries,
88353         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
88354         hash_get_entries, hash_do_for_each, hash_string, is_prime,
88355         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
88356         Likewise.
88357         (SIZE_MAX): Define if not defined.
88358         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
88359         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
88360         hash_print):
88361         Use const * when possible.
88362         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
88363         (check_tuning): Fix bug: if tuning parameters were very close to
88364         0 or 1, rounding errors could have caused subscript violations.
88365         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
88366         (hash_initialize): Add 'fail:' label
88367         to free table and return NULL, and use it to simplify code.
88368         Use calloc rather than clearing the storage ourself.
88369         (hash_initialize, hash_rehash): Check for arithmetic overflow in
88370         buffer size calculations.
88371         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
88372         Include <stddef.h>, for size_t.
88373         * lib/hash-pjw.c (hash_pjw): Likewise.
88374         Switch to method described by Bruno Haible.
88375         Include <limits.h>, for CHAR_BIT.
88376         (SIZE_BITS): New macro.
88377
88378 2003-10-23  Paul Eggert  <eggert@twinsun.com>
88379
88380         * m4/getline.m4 (AM_FUNC_GETLINE):
88381         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
88382         hosts.  Problem reported by Derek Robert Price in
88383         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
88384         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
88385         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
88386
88387 2003-10-21  Paul Eggert  <eggert@twinsun.com>
88388
88389         * lib/getndelim2.c (getndelim2): When size calculation overflows,
88390         ceiling the allocation at NMAX bytes rather than silently
88391         discarding input bytes before NMAX is reached.  This makes
88392         a difference only if NMAX exceeds SIZE_MAX / 2.
88393
88394         * lib/obstack.c: Merge from glibc.
88395         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
88396         Add libc_hidden_def (_obstack_newchunk).
88397         (_obstack_free) [! defined _LIBC]: Remove.
88398         [defined _LIBC]: Make a strong alias from obstack_free, rather than
88399         a clone of the function body.
88400         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
88401         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
88402
88403         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
88404         glibc.
88405         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
88406         arg to memcpy.
88407
88408         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
88409         (obstack_ptr_grow_fast, obstack_int_grow_fast):
88410         Don't use lvalue casts, as GCC plans to remove support for them
88411         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
88412         was also present in the non-GCC version, indicating that this
88413         code had always been buggy and had never been widely used.
88414         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
88415         Use the fast variant of each macro, rather than copying the
88416         definiens of the fast variant; that way, we'll be more likely to
88417         catch future bugs in the fast variants.
88418
88419 2003-10-20  Bruno Haible  <bruno@clisp.org>
88420
88421         * modules/wait-process: New file.
88422         * MODULES.html.sh (func_all_modules): Add wait-process.
88423
88424 2003-10-20  Bruno Haible  <bruno@clisp.org>
88425
88426         * m4/wait-process.m4: New file.
88427
88428 2003-10-20  Bruno Haible  <bruno@clisp.org>
88429
88430         * lib/wait-process.h: New file, from GNU gettext.
88431         * lib/wait-process.c: New file, from GNU gettext.
88432
88433 2003-10-19  Jim Meyering  <jim@meyering.net>
88434
88435         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88436         HPUX 10.20.
88437
88438 2003-10-18  Karl Berry  <karl@gnu.org>
88439
88440         * config/config.guess: update from config.
88441
88442 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88443
88444         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88445         (getgroups): First arg is int, not size_t.
88446         Don't let 'free' mangle errno.
88447
88448 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88449
88450         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88451
88452 2003-10-16  Karl Berry  <karl@gnu.org>
88453
88454         * config/config.{guess,sub}: update from config.
88455
88456 2003-10-16  Jim Meyering  <jim@meyering.net>
88457
88458         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88459         memcpy.
88460
88461 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88462
88463         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88464         (SIZE_MAX): Remove.
88465         (new_exclude, add_exclude_file): Initial size no longer needs to
88466         be a power of 2.
88467         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88468         our own address arithmetic overflow checking.
88469
88470         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88471         (fnmatch): Do not alloca more than 2000 wide characters;
88472         instead, use malloc for large buffers.
88473         Check for address arithmetic overflow, and return -1
88474         with errno set to ENOMEM in that case.
88475         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88476         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88477         instead, return -1.  Check for address arithmetic overflow.
88478
88479 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88480
88481         Handle invalid suffixes and overflow independently, so that
88482         callers can treat them independently as needed.  Fix some bugs in
88483         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88484         suffix for a human-readable blocksize.  The major caller-visible
88485         change is the addition of a new
88486         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88487         that both overflow and suffix chars were found.
88488
88489         * lib/human.c (humblock): Don't check separately for invalid suffix
88490         char; that is xstrtoumax's job (now that its bug is fixed).
88491         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88492         INTMAX_MAX]: New macros.
88493         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88494         TYPE_MAXIMUM): New macros.
88495         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88496         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88497         if overflow occurs, as it's what __strtol does and it's more useful
88498         in practice.
88499         (__xstrtol): If __strtol reports some error other than ERANGE,
88500         reflect it to the caller as LONGINT_INVALID.  If it reports
88501         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88502         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88503         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88504         value.
88505         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88506         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88507         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88508         [defined UINTMAX_MAX]: New macros.
88509
88510 2003-10-14  Bruno Haible  <bruno@clisp.org>
88511
88512         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88513
88514 2003-10-14  Bruno Haible  <bruno@clisp.org>
88515
88516         * m4/sig_atomic_t: New file, from GNU gettext.
88517         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88518
88519 2003-10-14  Bruno Haible  <bruno@clisp.org>
88520
88521         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88522         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88523         Also use volatile where needed.
88524
88525 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88526
88527         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88528         Change maintainer from Bruno Haible to 'all'.
88529
88530 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88531
88532         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88533
88534 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88535
88536         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88537         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88538         and define in terms of the other primitives.
88539         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88540         (SIZE_MAX): Define if not already defined.
88541         (array_size_overflow): New function.
88542         (xalloc_die): Abort instead of exiting if 'error' returns.
88543         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88544         (xmalloc, xrealloc): Use them.
88545         (xcalloc): Check for address arithmetic overflow.
88546         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88547         a bit faster than strcpy.
88548
88549 2003-10-10  Simon Josefsson  <jas@extundo.com>
88550
88551         * modules/argp (Depends-on): Add restrict and strcase.
88552
88553 2003-10-10  Simon Josefsson  <jas@extundo.com>
88554
88555         * m4/argp.m4: Add AC_C_INLINE.
88556
88557 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88558
88559         Merge getpass from libc, plus a few fixes.
88560
88561         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88562         Include <stdbool.h>.
88563         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88564         __fsetlocking to empty.
88565         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88566         do include <bits/libc-lock.h>.
88567         Do not include <fcntl.h>; not needed.
88568         [_LIBC]: Include <wchar.h>.
88569         (NOTCANCEL_MODE): New macro.
88570         (flockfile, funlockfile) [_LIBC]: New macros.
88571         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88572         [!_LIBC]: New macros.
88573         (call_fclose): New function.
88574         (getpass): Use it.  Save tty stream separately; this simplifies the
88575         code and makes it more reliable if stdin happens to equal stdout.
88576         Invoke __fsetlocking on tty.
88577         Handle thread cancellation if needed.
88578         Namespace cleanup (use __tcgetattr, __getline).
88579         Use bool for Booleans.
88580         [USE_IN_LIBIO]: Handle wide streams.
88581         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88582         stream might go where.
88583
88584         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88585         doesn't have to include <stdio.h> before us.
88586         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88587         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88588         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88589         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88590         if not declared, so that we can use getpass.c code from libc without
88591         rewriting it.
88592         (flockfile, ftrylockfile, funlockfile): New macros.
88593
88594 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88595
88596         * modules/getpass: Depend on stdbool.
88597
88598 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88599
88600         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
88601
88602 2003-10-07  Karl Berry  <karl@gnu.org>
88603
88604         * config/config.{guess,sub}: update from config.
88605
88606 2003-10-06  Jim Meyering  <jim@meyering.net>
88607             Bruno Haible  <bruno@clisp.org>
88608
88609         This lets translators provide better translations for the
88610         "Written by ..." part of --version output.
88611         * lib/version-etc.h: Include stdarg.h.
88612         (version_etc_copyright): Declare as readonly.
88613         (version_etc): Make this function variadic with a NULL-terminated list
88614         of author name strings.
88615         (version_etc_va): New declaration.
88616         * lib/version-etc.c: Include stdarg.h, stdlib.h.
88617         (version_etc_copyright): Declare as readonly.
88618         (version_etc_va): New function. Provide a different translatable string
88619         for each possible number of authors < 10. Abbreviate when there are 10
88620         authors or more.
88621         (version_etc): Make this function variadic. Call version_etc_va.
88622         Suggestion from Gary V. Vaughan.
88623
88624         * lib/long-options.h (parse_long_options): Change prototype: the
88625         authors string is moved to the end and becomes variadic.
88626         * lib/long-options.c: Include stdarg.h.
88627         (parse_long_options): Make this function variadic, too.
88628         Call version_etc_va, not version_etc.
88629
88630 2003-10-06  Bruno Haible  <bruno@clisp.org>
88631
88632         * modules/version-etc-2: Remove file.
88633         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
88634
88635 2003-10-06  Bruno Haible  <bruno@clisp.org>
88636
88637         * modules/fatal-signal: New file.
88638         * MODULES.html.sh (func_all_modules): Add fatal-signal.
88639
88640 2003-10-06  Bruno Haible  <bruno@clisp.org>
88641
88642         * m4/fatal-signal.m4: New file.
88643         * m4/signalblocking.m4: New file, from GNU gettext.
88644
88645 2003-10-06  Bruno Haible  <bruno@clisp.org>
88646
88647         * lib/version-etc-2.h: Remove file.
88648         * lib/version-etc-2.c: Remove file.
88649
88650 2003-10-06  Bruno Haible  <bruno@clisp.org>
88651
88652         * lib/fatal-signal.h: New file, from GNU gettext.
88653         * lib/fatal-signal.c: New file, from GNU gettext.
88654
88655 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88656
88657         * README: Rework advice for preventing empty .o files.
88658         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88659         not <sys/types.h>.
88660
88661 2003-10-04  Karl Berry  <karl@gnu.org>
88662
88663         * lib/argp*: update from libc.
88664
88665 2003-10-04  Karl Berry  <karl@gnu.org>
88666
88667         * config/config.{guess,sub}: update from config.
88668
88669 2003-10-02  Bruno Haible  <bruno@clisp.org>
88670
88671         * modules/lchown (Include): Add lchown.h.
88672         * modules/time_r (Include): Use "..." syntax.
88673         * modules/xgetdomainname (Include): Add xgetdomainname.h.
88674
88675 2003-10-01  Simon Josefsson  <jas@extundo.com>
88676
88677         * MODULES.html.sh (func_all_modules): Move gethostname from section
88678         'based on' to section 'lacking' POSIX:2001.
88679
88680 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
88681
88682         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
88683         to output mode on the same stream.
88684
88685 2003-09-29  Paul Eggert  <eggert@twinsun.com>
88686
88687         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
88688         Fix arg typo in previous patch.
88689
88690 2003-09-28  Jim Meyering  <jim@meyering.net>
88691
88692         * lib/error.c: Correct cpp indentation.
88693
88694 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88695
88696         * modules/free: New file.
88697
88698 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88699
88700         * m4/free.m4: New file.
88701
88702 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88703
88704         * lib/minmax.h (MIN, MAX)
88705         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
88706         Omit the special code that used __typeof__, since we worry that
88707         it could be more trouble than it's worth.  See:
88708         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
88709         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
88710
88711         * lib/free.c: New file.
88712
88713 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
88714
88715         Trivial fixes to Makefile.am parts of module listings.
88716         * modules/strstr: Append strstr.h to lib_SOURCES.
88717         * modules/strcase: Likewise, for strcase.h.
88718
88719 2003-09-27  Karl Berry  <karl@gnu.org>
88720
88721         * config/mkinstalldirs: update from automake.
88722
88723 2003-09-26  Paul Eggert  <eggert@twinsun.com>
88724
88725         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
88726         (error_tail): Do not loop, reallocating temporary buffer, since
88727         the output cannot contain more wide characters than the input
88728         contains bytes, the size must be big enough already.  This avoids
88729         one potential size overflow calculation.  Check for size overflow
88730         when calculating temporary buffer size.  Free temporary buffer
88731         when done, if it was allocated with malloc; this plugs a memory
88732         leak.  Remove casts from void * to pointers, that are no longer
88733         needed now that we're assuming C89 or better.
88734
88735         Merge error changes from glibc.
88736
88737         * lib/error.c, error.h: Update copyright notice header to match glibc.
88738         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
88739         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
88740         Disable cancellation while printing error.
88741         * lib/error.h: Prepend __ to parameter names.
88742
88743 2003-09-26  Jim Meyering  <jim@meyering.net>
88744
88745         * lib/error.c (error_tail): Move some declarations
88746         into inner scope where the local variables are used.
88747
88748 2003-09-26  Bruno Haible  <bruno@clisp.org>
88749
88750         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
88751         stpncpy().
88752         Don't define stpncpy through config.h; it's now done through stpncpy.h.
88753
88754 2003-09-26  Bruno Haible  <bruno@clisp.org>
88755
88756         * lib/stpncpy.h (gnu_stpncpy): New declaration.
88757         (stpncpy): Define as alias for gnu_stpncpy.
88758         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
88759
88760 2003-09-25  Simon Josefsson  <jas@extundo.com>
88761
88762         * lib/xgetdomainname.h: New file.
88763         * lib/xgetdomainname.c: New file.
88764
88765 2003-09-25  Simon Josefsson  <jas@extundo.com>
88766             Bruno Haible  <bruno@clisp.org>
88767
88768         * modules/getdomainname: New file.
88769         * modules/xgetdomainname: New file.
88770         * MODULES.html.sh (func_all_modules): Add getdomainname,
88771         xgetdomainname.
88772
88773 2003-09-25  Simon Josefsson  <jas@extundo.com>
88774             Bruno Haible  <bruno@clisp.org>
88775
88776         * m4/getdomainname.m4: New file.
88777
88778 2003-09-25  Simon Josefsson  <jas@extundo.com>
88779             Bruno Haible  <bruno@clisp.org>
88780
88781         * lib/getdomainname.h: New file.
88782         * lib/getdomainname.c: New file.
88783
88784 2003-09-25  Karl Berry  <karl@gnu.org>
88785
88786         * lib/argp-fmtstream.c, argp-help.c: update from libc.
88787
88788 2003-09-25  Karl Berry  <karl@gnu.org>
88789
88790         * config/install-sh: update from automake.
88791
88792 2003-09-25  Bruno Haible  <bruno@clisp.org>
88793
88794         * modules/version-etc-2: New file, from modules/version-etc with
88795         modifications.
88796         * MODULES.html.sh (func_all_modules): Add version-etc-2.
88797
88798 2003-09-25  Bruno Haible  <bruno@clisp.org>
88799
88800         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
88801         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
88802
88803 2003-09-24  Simon Josefsson  <jas@extundo.com>
88804
88805         * modules/xgethostname: Add xgethostname.h.
88806
88807 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88808
88809         * lib/linebuffer.c (freebuffer): Don't free the argument, just
88810         the buffer associated with the argument.  Bug reported by
88811         Simon Josefsson.
88812
88813 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88814
88815         * README: Document assumptions that 'int' is at least 32 bits
88816         wide, that integer arithmetic is 2's complement without overflow,
88817         that there are no holes in integer values, that adding sizes of
88818         two nonoverlapping objects can't overflow, and that all-bits-zero
88819         yields scalar zero.  Fix spelling and capitalization typos.
88820
88821 2003-09-19  Karl Berry  <karl@gnu.org>
88822
88823         * lib/argp.h: update from libc.
88824
88825 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88826
88827         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
88828         to avoid spurious warnings like "AC_RUN_IFELSE was called before
88829         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
88830
88831 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88832
88833         * gnulib-tool: Use "test -h", not "test -L", for portability
88834         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
88835         (tags_regexp): Remove, since \| doesn't conform to POSIX.
88836         (sed_extract_prog): Issue s commands one-by-one, rather than
88837         using \| in one s command.
88838
88839 2003-09-16  Paul Eggert  <eggert@twinsun.com>
88840
88841         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
88842         input error, instead of returning NULL the next time we are called
88843         (and therefore losing track of errno).
88844
88845 2003-09-16  Bruno Haible  <bruno@clisp.org>
88846
88847         * gnulib-tool (func_create_testdir): Warn about duplicated
88848         dependencies.
88849
88850 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88851
88852         * modules/argmatch, modules/fatal, modules/obstack,
88853         modules/xalloc, modules/xgethostname: Sort dependencies by
88854         importance, not alphabetically.
88855
88856 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88857
88858         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
88859         fails, so that the caller gets the proper errno.
88860
88861         * lib/readutmp.c (read_utmp): Likewise.
88862         Check for fstat error.  Close stream and free storage
88863         when failing.
88864
88865 2003-09-14  Karl Berry  <karl@gnu.org>
88866
88867         * config/srclist.txt (strdup.c): disable for c89 changes.
88868
88869 2003-09-14  Jim Meyering  <jim@meyering.net>
88870
88871         * lib/getloadavg.c: Correct cpp indentation.
88872         * lib/strdup.c: Likewise.
88873         * lib/vasnprintf.c: Likewise.
88874
88875 2003-09-14  Bruno Haible  <bruno@clisp.org>
88876
88877         * modules/fwriteerror: New file.
88878         * MODULES.html.sh (func_all_modules): Add fwriteerror.
88879
88880 2003-09-14  Bruno Haible  <bruno@clisp.org>
88881
88882         * lib/fwriteerror.h: New file.
88883         * lib/fwriteerror.c: New file.
88884
88885 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88886
88887         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
88888         modules/xgethostname, modules/xalloc: Depend on exit.
88889
88890 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88891
88892         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
88893
88894         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
88895         and AC_MINIX, too, so that their extensions are available.
88896
88897         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
88898         This macro has been superseded by gl_BACKUPFILE.
88899
88900         More patches to assume C89 or better.
88901
88902         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
88903
88904         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
88905         unconditionally.
88906         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
88907         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
88908         Include <string.h>, <stdlib.h> unconditionally.
88909         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
88910         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
88911         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
88912         headers or for string.h.
88913         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
88914         or strtoul.
88915
88916         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
88917         headers.
88918         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
88919         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88920         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
88921         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
88922         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88923         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
88924         memcpy, memset.
88925         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
88926         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
88927         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
88928         strtol.
88929         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
88930         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
88931         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
88932         strtoul.
88933
88934 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88935
88936         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
88937         * lib/obstack.c [!defined _LIBC]: Likewise.
88938         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
88939         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
88940         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
88941
88942         More changes to assume C89 or better.
88943
88944         * lib/error.c (error_tail): Assume vprintf.
88945
88946         * lib/argmatch.c (getenv): Remove decl.
88947         * lib/progreloc.c (get_full_program_name): Define via prototype.
88948         * lib/setenv.c (clearenv): Likewise.
88949         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
88950         needed.
88951         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
88952         (malloc, memcpy): Remove decls.
88953         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
88954         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
88955         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88956         (memcpy): Remove macro.
88957         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
88958         (__P): Remove.  All uses removed.
88959         (PTR): Remove.  All uses changed to void *.
88960         (CHAR_BIT, NULL): Remove.
88961         (spaces, zeros, memset_space, memset_zero)
88962         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
88963         Remove.
88964         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
88965         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
88966         Define with prototype.
88967         Remove now-unnecessary prototype decl.
88968         (extra_args_spec): Assume ANSI C.  All uses changed.
88969         (extra_args_spec_iso): Remove.
88970         (my_strftime, emacs_strftimeu): Define via prototype.
88971         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
88972         unconditionally.
88973         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
88974         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
88975         (strtoul, strtol): Remove decls.
88976         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
88977         LONG_MAX): Remove.
88978         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88979         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
88980         (LOCALE_PARAM_PROTO): New macro.
88981         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
88982         (INTERNAL (strtol), strtol): Define with a prototype.
88983         (PARAMS): Remove.  All uses removed.
88984         * lib/tempname.c: Include <string.h> unconditionally.
88985         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
88986         * lib/xgethostname.c (main): Define with a prototype.
88987         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
88988         Include <stdlib.h> unconditionally.
88989         (calloc, malloc, realloc, free): Remove decls.
88990         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
88991         Include <stdlib.h> unconditionally.  Sort include file names.
88992         (strtod): Remove.
88993         (xstrtod): Define with a prototype.
88994         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
88995         (strtol, strtoul): Remove decls.
88996
88997 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88998
88999         More patches to assume C89 or better.
89000         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
89001         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
89002         string.h, memchr, STDC_HEADERS.
89003
89004 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89005
89006         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89007         Include <stdlib.h>, <string.h> unconditionally.
89008         Remove now-unnecessary cast to char *.
89009         * lib/strnlen.c: Include <string.h> unconditionally.
89010         * lib/yesno.c (yesno): Define with a prototype.
89011
89012 2003-09-11  Bruno Haible  <bruno@clisp.org>
89013
89014         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89015
89016 2003-09-10  Jim Meyering  <jim@meyering.net>
89017
89018         * lib/error.c: Correct indentation of cpp directives.
89019
89020 2003-09-10  Bruno Haible  <bruno@clisp.org>
89021
89022         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89023         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89024         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89025         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89026         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89027         <stdlib.h> and <string.h> checks.
89028         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89029         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89030
89031 2003-09-10  Bruno Haible  <bruno@clisp.org>
89032
89033         * lib/strcspn.c: Include <string.h> unconditionally.
89034         * lib/strpbrk.c: Include <string.h> unconditionally.
89035         * lib/strstr.c: Include <string.h> unconditionally.
89036         * lib/unicodeio.c: Include <string.h> unconditionally.
89037         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89038         * lib/unsetenv.c: Likewise.
89039         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89040         * lib/yesno.c: Include <stdlib.h> unconditionally.
89041         (rpmatch): Add prototype.
89042
89043 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89044
89045         More patches to assume C89 or better.
89046         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89047         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89048         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89049         or for string.h.
89050         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89051         stdlib.h.
89052         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89053         C headers.
89054         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89055         string.h.
89056         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89057         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89058         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89059         or for string.h.
89060         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89061         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89062         C headers.
89063         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
89064         memcpy.
89065         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
89066         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
89067         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
89068         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
89069         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
89070         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
89071         string.h, free.
89072         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
89073         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
89074         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
89075         C headers, or for string.h.
89076         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
89077         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
89078         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
89079         headers, memory.h, stdlib.h, string.h, strings.h.
89080         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
89081         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
89082         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
89083         strchr.
89084         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
89085         headers, memory.h, string.h.
89086         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
89087         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
89088         free.
89089         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
89090         headers.
89091         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
89092         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
89093         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
89094         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
89095         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
89096
89097 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89098
89099         More K&R removal.
89100
89101         * lib/acosl.c (main): Use a prototype.
89102         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
89103         tanl.c: Likewise.
89104
89105         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
89106
89107         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
89108         (getopt, etopt_long, getopt_long_only, _getopt_internal)
89109         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
89110         with a prototype.
89111         * lib/getopt.c (const): Remove macro.
89112         Include <string.h> unconditionally.
89113         (my_index): Remove; all uses changed to strchr.
89114         (strlen): Remove decl.
89115         (exchange): Remove forward decl; no longer needed.
89116         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
89117         Define with prototype.
89118         * lib/getopt1.c (const): Remove macro.
89119         (getopt_long, getopt_long_only, main): Define with prototype.
89120
89121         * lib/getugroups.c: Include <string.h> unconditionally.
89122
89123         * lib/getusershell.c: Include <stdlib.h> unconditionally.
89124         (getusershell, setusershell, endusershell, readname, main):
89125         Define with prototypes.
89126
89127         * lib/group-member.c: Include group-member.h first.
89128         Include <stdlib.h> unconditionally.
89129
89130         * lib/hard-locale.c: Include hard-locale.h first.
89131         Include <stdlib.h>, <string.h> unconditionally.
89132
89133         * lib/hash.c (free, malloc): Remove decls.
89134         Include <stdlib.h> unconditionally.
89135
89136         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
89137         (getenv): Do not declare.
89138
89139         * lib/idcache.c: Include <string.h> unconditionally.
89140
89141         * lib/long-options.c: Include long-options.h first, to test interface.
89142         Include <stdlib.h> unconditionally.
89143
89144         * lib/makepath.c: Include makepath.h first, to test interface.
89145         Include <stdlib.h> and <string.h> unconditionally.
89146
89147         * lib/linebuffer.c: Include <stdlib.h>.
89148         (free): Remove decl.
89149
89150         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
89151         stddef.h. rpl_malloc returns void *, not char *.
89152         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
89153         prototype.
89154
89155         * lib/md5.h: Include <limits.h> unconditionally.
89156         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
89157         (__P): Remove; all uses removed.
89158         * lib/md5.c: Include "md5.h" first.
89159         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
89160         md5_buffer, md5_process_bytes, md5_process_block):
89161         Define with prototypes.
89162         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
89163         * lib/sha.c: Include "sha.h" first.
89164         Include <stdlib.h>, <string.h> unconditionally.
89165
89166         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
89167         * lib/memcmp.c (__ptr_t): Likewise.
89168         * lib/memrchr.c (__ptr_t): Likewise.
89169         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
89170         Include <string.h> unconditionally.
89171         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
89172         * lib/memchr.c: Include <stdlib.h> unconditionally.
89173         * lib/memchr.c (LONG_MAX): Remove.
89174         * lib/memrchr.c (LONG_MAX): Likewise.
89175         * lib/memchr.c (__memchr): Define via a prototype.
89176         * lib/memrchr.c (__memrchr): Likewise.
89177         * lib/memcmp.c (__P): Remove, and remove all uses.
89178         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
89179         Remove forward decls; no longer needed.
89180         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
89181         Use types required by C89 in prototype.
89182
89183         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
89184         * lib/savedir.c: Likewise.
89185         * lib/mkdir.c (free): Remove decl.
89186         * lib/rmdir.c (rmdir): Define with a prototype.
89187         * lib/savedir.c: Include savedir.h first, to test interface.
89188
89189         * lib/mktime.c (STDC_HEADERS): Remove.
89190         Include <stdlib.h>, <string.h> unconditionally.
89191
89192         * lib/modechange.c: Include <stdlib.h> unconditionally.
89193         (malloc): Remove decl.
89194
89195         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
89196         (free): Remove decl.
89197
89198         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
89199         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
89200         (This type really should be intptr_t, but that's a C99ism.)
89201         (_obstack_memcpy): Remove: all uses changed to memcpy.
89202         Include <string.h> unconditionally.
89203         (struct obstack): Assume __STDC__ for types of members
89204         chunkfun, freefun, extra_arg.
89205         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
89206         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
89207         obstack_begin, obstack_specify_allocation,
89208         obstack_specify_allocation_with_arg, obstack_chunkfun,
89209         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
89210         Remove unprototyped decls and the macros that use them.
89211         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
89212         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
89213         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
89214         (defined __STDC__ && __STDC__)]:
89215         Remove nonprototyped code.
89216         Include <stdlib.h> unconditionally.
89217         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
89218         _obstack_allocated_p, _obstack_free, obstack_free,
89219         _obstack_memory_used, print_and_abort):
89220         Define using prototypes.
89221         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
89222         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
89223         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
89224         obstack_next_free, obstack_object_size, obstack_room) [0]:
89225         Remove unused, unprototyped code.
89226
89227         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
89228
89229         * lib/physmem.c (physmem_total, physmem_available, main): Define
89230         with prototypes.
89231
89232         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
89233         (main): Define with a prototype.
89234
89235         * lib/posixver.c (getenv): Remove decl.
89236
89237         * lib/putenv.c (malloc): Returns void *, not char *.
89238         Include <string.h> unconditionally.
89239         (strchr, memcpy, NULL): Do not define.
89240
89241         * lib/readtokens.c: Include readtokens.h first, to test interface.
89242         Include <stdlib.h>, <string.h> unconditionally.
89243         (init_tokenbuffer): Define with a prototype.
89244
89245         * lib/regex.c (PARAMS): Remove.  All uses removed.
89246         All uses of _RE_ARGS removed, too.
89247         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89248         unconditionally.
89249         (bzero): Assume memset exists.
89250         (memcmp, memcpy, NULL): Remove.
89251         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
89252         char, or assignments to local vars of type signed char.
89253         (init_syntax_once, PREFIX(extract_number_and_incr),
89254         PREFIX(print_partial_compiled_pattern),
89255         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
89256         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
89257         PREFIX(regex_grow_registers), PREFIX(regex_compile),
89258         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
89259         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
89260         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
89261         wcs_compile_range, byte_compile_range, truncate_wchar,
89262         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
89263         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
89264         count_mbs_length, wcs_re_match_2_internal,
89265         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
89266         PREFIX(alt_match_null_string_p),
89267         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
89268         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
89269         regfree, PREFIX(extract_number)): Define with prototype.  Remove
89270         now-unnecessary declaration, if any.
89271         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
89272         regcomp, regexec):
89273         Remove now-unnecessary casts among pointer types.
89274         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
89275
89276         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
89277         (free): Remove decl.
89278
89279         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
89280
89281         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
89282         (free): Remove decl.
89283
89284         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
89285         * lib/xgetcwd.c: Likewise.
89286
89287         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
89288         (free): Remove decl.
89289
89290         * lib/strchrnul.c (strchrnul): Define with a prototype.
89291         Fix bug: c_in was not converted to char before searching.
89292
89293         The following changes are not K&R related:
89294
89295         * lib/group-member.h: Include <sys/types.h>, so that this file is
89296         self-contained.
89297         * lib/makepath.h: Likewise.
89298
89299         * lib/getusershell.c (readname, default_index, line_size, readname):
89300         Use size_t, not int, for sizes.
89301         (readname): If the size overflows, report an error instead of
89302         looping forever.
89303
89304 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89305
89306         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
89307         libc.
89308
89309 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89310
89311         * README: New section: portability guidelines.
89312
89313 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89314
89315         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
89316         C89 spec.
89317
89318 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89319
89320         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
89321
89322 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89323
89324         Assume C89 or better; remove K&R cruft.
89325         A few of these changes were first proposed by Derek Robert Price
89326         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
89327
89328         * lib/addext.c: Include <string.h> unconditionally.
89329         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
89330         Don't declare getenv or malloc.
89331
89332         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
89333         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
89334         (NULL): Remove.
89335         (find_stack_direction, alloca): Use prototypes.
89336
89337         * lib/atexit.c (atexit): Define using a prototype.
89338
89339         * lib/basename.c, dirname.c, stripslash.c:
89340         Include <string.h> unconditionally.
89341
89342         * lib/bcopy.c: Include <stddef.h>.
89343         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
89344
89345         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
89346
89347         * lib/error.h (error, error_at_line, error_print_progname)
89348         [! (defined (__STDC__) && __STDC__)]: Remove decls.
89349         * lib/error.c: Include error.h first, to check interface.
89350         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89351         (VA_START): Remove; all uses changeed to va_start.
89352         (exit, strerror): Remove decls.
89353         (error_print_progname): Prototype uncondionally.
89354         Don't include <errno.h>; no longer needed.
89355         (private_strerror): Remove.
89356         (error_tail): Always define.
89357         (error, error_at_line): Assume C89 or better; always use prototypes.
89358         * lib/fatal.c: Include "fatal.h" first, to test interface.
89359         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89360         (VA_START): Remove; all uses changed to va_start.
89361         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
89362         this case.
89363         (exit): Remove decl.
89364         (fatal): Prototype unconditionally.  Assume va_start works.
89365         Abort at end, to pacify gcc.
89366
89367         * lib/euidaccess.c (main): Define with a prototype.
89368
89369         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
89370
89371         * lib/exitfail.c: Include <stdlib.h> unconditionally.
89372
89373         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
89374         prototypes.
89375         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
89376         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
89377         (getenv): Remove decl.
89378         (fnmatch): Define using a prototype.
89379         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
89380         (FCT): Define using a prototype.
89381
89382         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
89383
89384         * lib/gethostname.c: Include <stddef.h>.
89385         (gethostname): Define with prototype.  Length is size_t, not int.
89386
89387 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89388
89389         Assume C89 or better; remove K&R cruft.
89390         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
89391         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
89392         string.h, getenv, malloc.
89393         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
89394         headers.
89395         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
89396         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
89397         do not check for strerror.
89398         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
89399         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
89400         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
89401         do not check for doprnt or vprintf.
89402         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
89403         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
89404
89405 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89406
89407         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
89408         getversion.c should have been removed then, but was accidentally
89409         preserved.
89410
89411         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
89412         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
89413
89414 2003-09-08  Karl Berry  <karl@gnu.org>
89415
89416         * config/config.sub, config.guess, srclistvars.sh: update from savannah
89417                 config, forget about prep.
89418
89419         * config/depcomp, missing: update from automake.
89420
89421 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89422
89423         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
89424         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89425
89426 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89427
89428         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
89429         copy_tm_result.  Bug reported by Simon Josefsson in
89430         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89431
89432 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89433
89434         * m4/time_r.m4: New file.
89435         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89436         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89437         is. Check for timegm declaration.
89438         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89439         Do not check for gmtime_r.
89440         Replace mktime if __mktime_internal does not exist and if mktime
89441         hasn't been replaced already.
89442
89443 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89444
89445         * lib/time_r.c, lib/time_r.h: New files.
89446
89447         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89448         __localtime_r.
89449         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89450         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89451
89452         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89453         __gmtime_r.
89454         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89455         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89456         Include <time_r.h>.
89457
89458         * lib/timegm.c: Switch to glibc implementation, with the following
89459         changes:
89460         [defined HAVE_CONFIG_H]: Include <config.h>.
89461         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89462         (__mktime_internal) [!defined _LIBC]: New decl.
89463         (__gmtime_r) [!defined _LIBC]: New macro and function.
89464         (timegm): Use a prototype, since gnulib assumes C89.
89465         Do not bother declaring tmp to be const, as it's not really usefu.
89466         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89467         (timegm): Declare only if HAVE_DECL_TIMEGM.
89468
89469 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89470
89471         * MODULES.html.sh (func_all_modules): Add time_r.
89472         * modules/time_r: New file.
89473         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89474         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89475
89476 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89477
89478         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89479         Bug reported by Lute Kamstra in
89480         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89481
89482         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89483         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89484         course with correspondingly smaller numbers for tomorrow and
89485         yesterday.  From Tadayoshi Funaba.  Originally installed into
89486         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89487         coreutils merge?).
89488
89489 2003-08-31  Simon Josefsson  <jas@extundo.com>
89490
89491         * modules/timegm: New file.
89492         * MODULES.html.sh (func_all_modules): Add timegm.
89493
89494 2003-08-31  Simon Josefsson  <jas@extundo.com>
89495
89496         * m4/timegm.m4: New file.
89497
89498 2003-08-31  Simon Josefsson  <jas@extundo.com>
89499
89500         * lib/timegm.h: New file.
89501         * lib/timegm.c: New file.  Based on
89502         wget-1.8.2/src/http.c:mktime_from_utc.
89503
89504 2003-08-31  Karl Berry  <karl@gnu.org>
89505
89506         * lib/argp.h: update from libc.
89507
89508 2003-08-28  Bruno Haible  <bruno@clisp.org>
89509
89510         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89511         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89512         followed by '#define fnmatch fnmatch_posix' gives an error.
89513
89514 2003-08-28  Bruno Haible  <bruno@clisp.org>
89515
89516         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89517         warning on QNX, which defines O_BINARY to 000000.
89518
89519 2003-08-27  Jim Meyering  <jim@meyering.net>
89520
89521         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89522         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89523         would fail after 32.  Reported by Danny Levinson.  Details here:
89524         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89525
89526 2003-08-24  Bruno Haible  <bruno@clisp.org>
89527
89528         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89529         MSVC7 <stdio.h> is included later.
89530
89531 2003-08-22  Simon Josefsson  <jas@extundo.com>
89532
89533         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89534
89535 2003-08-20  Karl Berry  <karl@gnu.org>
89536
89537         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89538
89539 2003-08-20  Bruno Haible  <bruno@clisp.org>
89540
89541         * modules/progname: New file.
89542         * MODULES.html.sh (func_all_modules): Add progname.
89543
89544 2003-08-20  Bruno Haible  <bruno@clisp.org>
89545
89546         * lib/progname.h: New file, from GNU gettext.
89547         * lib/progname.c: New file, from GNU gettext.
89548         * lib/progreloc.c: New file, from GNU gettext.
89549
89550 2003-08-19  Jim Meyering  <jim@meyering.net>
89551
89552         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89553         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89554
89555 2003-08-19  Bruno Haible  <bruno@clisp.org>
89556
89557         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89558         more.
89559
89560 2003-08-19  Bruno Haible  <bruno@clisp.org>
89561
89562         * lib/xstrdup.c: Assume <string.h> exists.
89563
89564 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89565
89566         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89567         in makefile rules.
89568
89569 2003-08-18  Jim Meyering  <jim@meyering.net>
89570
89571         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89572         * m4/lib-ld.m4: Likewise.
89573
89574 2003-08-18  Jim Meyering  <jim@meyering.net>
89575
89576         * lib/setenv.h: Indent nested cpp directive.
89577         * lib/vasnprintf.c: Remove trailing blanks.
89578
89579 2003-08-17  Simon Josefsson  <jas@extundo.com>
89580
89581         * modules/xstrndup: New file.
89582         * MODULES.html.sh (func_all_modules): Add xstrndup.
89583
89584 2003-08-17  Simon Josefsson  <jas@extundo.com>
89585
89586         * modules/argp: Fix autoconf macro name. Add more dependencies.
89587
89588 2003-08-17  Simon Josefsson  <jas@extundo.com>
89589
89590         * m4/xstrndup.m4: New file.
89591
89592 2003-08-17  Simon Josefsson  <jas@extundo.com>
89593
89594         * m4/argp.m4: New file.
89595
89596 2003-08-17  Simon Josefsson  <jas@extundo.com>
89597             Bruno Haible  <bruno@clisp.org>
89598
89599         * lib/xstrndup.h: New file.
89600         * lib/xstrndup.c: New file.
89601
89602 2003-08-17  Bruno Haible  <bruno@clisp.org>
89603
89604         * modules/strndup (Files, Include): Add lib/strndup.h.
89605
89606 2003-08-17  Bruno Haible  <bruno@clisp.org>
89607
89608         * modules/euidaccess (Files): Add lib/euidaccess.h.
89609
89610 2003-08-17  Bruno Haible  <bruno@clisp.org>
89611
89612         * lib/strndup.h: New file.
89613
89614 2003-08-17  Bruno Haible  <bruno@clisp.org>
89615
89616         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
89617         like AC_GNU_SOURCE.
89618         * modules/extensions (configure.ac): Comment out the invocation of
89619         gl_USE_SYSTEM_EXTENSIONS.
89620
89621 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89622
89623         Merges from coreutils, etc.
89624         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
89625         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
89626         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
89627         fixing a typo.
89628         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
89629         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
89630
89631 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89632
89633         Document merge from coreutils.
89634         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
89635         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
89636         * modules/utime: Add m4/utimes-null.m4.
89637
89638 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89639
89640         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
89641         space, undoing this 2003-08-12 change:
89642         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89643
89644 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89645
89646         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89647         strtoul.c from libc, undoing this 2003-08-12 change:
89648         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89649
89650 2003-08-16  Jim Meyering  <jim@meyering.net>
89651
89652         Merges from coreutils.
89653         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89654         prefix.  Adjust cache variables similarly.  Create 500 rather than
89655         just 300 files, to exercise bug on Darwin6.5, too.
89656         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89657         $missing_dir.
89658         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89659         AM_SYS_POSIX_TERMIOS.
89660         Reported by mkc@mathdogs.com.
89661         Also change use of $am_cv_sys_posix_termios
89662         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
89663         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
89664         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
89665         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
89666         in /proc/mounts until it finds one with matching device number.  This
89667         is unnecessary when the FILE argument *is* a mount point.  No stat call
89668         is necessary in that case.  So, disable the statvfs-testing code on
89669         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
89670         as RedHat bug# 84846.
89671         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89672         to 1MB, so as not to render systems with no stack size limit (e.g.,
89673         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89674         Include <unistd.h>.  On some systems,
89675         it is required for the definition of _SC_PAGESIZE.
89676
89677 2003-08-16  Jim Meyering  <jim@meyering.net>
89678
89679         Merge from coreutils.
89680         * lib/xstrtoimax.c: #else #if -> #elif.
89681         * lib/xstrtoumax.c: Likewise.
89682
89683 2003-08-16  Jim Meyering  <jim@meyering.net>
89684
89685         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
89686         * m4/utimes.m4: Removed.
89687         * m4/utimes-null.m4: Renamed from utimes.m4.
89688
89689         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89690         to 1MB, so as not to render systems with no stack size limit (e.g.,
89691         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89692         Include <unistd.h>.  On some systems,
89693         it is required for the definition of _SC_PAGESIZE.
89694
89695 2003-08-16  Jim Meyering  <jim@meyering.net>
89696         and Paul Eggert  <eggert@cs.ucla.edu>
89697
89698         Merges from coreutils, etc.
89699
89700         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
89701         using the latest version from cvs.  This avoids problems with #line
89702         directives using a vendor (Sun) compiler.
89703         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
89704         Don't set GETGROUPS_LIB here; now it's
89705         done via getgroups.m4's wrapper function.
89706         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
89707         rather than just in sh-util/configure.in, so that the
89708         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
89709         same.
89710         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
89711         AC_FUNC_GETLOADAVG where to find getloadavg.c.
89712         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
89713         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
89714         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
89715         Remove code that is now done by the newly-required macros.
89716         Append $(EXEEXT) to DF_PROG.
89717         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
89718         Do not invoke or require the following here,
89719         since prereq.m4 or some gnulib .m4 now does this for us:
89720         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
89721         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
89722         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
89723         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
89724         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
89725         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
89726         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
89727         AC_FUNC_OBSTACK.
89728         Do not replace the following functions, as this is now the job
89729         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
89730         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
89731         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
89732         atexit getpass, strdup, getpagesize.
89733         Replace 'raise'.
89734         Do not check for the following functions, as this is now the job
89735         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
89736         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
89737         setregid.
89738         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
89739         Check for sys/sysctl.h.
89740         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
89741         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
89742         of checking for ssize_t ourselves.
89743
89744         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
89745         Require every macro that gnulib/modules/* suggests for us.
89746         (jm_PREREQ_ADDEXT): New macro.
89747         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
89748         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
89749
89750         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
89751         (gl_PHYSMEM): Use it.
89752         Also check for `table' function.
89753         Check for new headers and functions.
89754         Add check for sys/sysmp.h.
89755         With suggestions from Kaveh Ghazi.
89756         Ignore headers that are present but cannot be compiled.  This
89757         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
89758         C 5.4.
89759
89760 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89761
89762         Document merge from coreutils.
89763         * modules/userspec: Depend on posixver.
89764         * modules/strftime: Depend on tzset.
89765
89766 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89767
89768         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
89769         rather than tab, after '#' in shell-script copyright notices.
89770         Suggested by Bruno Haible.
89771
89772 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89773
89774         * config/srclist-update: Use three spaces, rather than tab, after '#'
89775         in shell-script copyright notices.  Suggested by Bruno Haible.
89776         Remove unnecessary parenthesization in regular expression.
89777
89778 2003-08-15  Jim Meyering  <jim@meyering.net>
89779
89780         Merge from coreutils.
89781         * lib/xgethostname.c: Include <stdlib.h>.
89782         (xghostname): Don't exit for anything other than memory-related
89783         failure; just return NULL.
89784         * lib/userspec.c: Include "posixver.h".
89785         (parse_user_spec): Accept `.' as a separator only
89786         in pre-POSIX-200112 mode.
89787         * lib/strtoimax.c: Use #elif rather than #else #if.
89788         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
89789         Remove function, now that we can rely on a working tzset function.
89790         [!_LIBC]: Ensure that the required autoconf test has been run.
89791         [!defined _NL_CURRENT && HAVE_STRFTIME]:
89792         Use underlying_strftime for %r.
89793         * lib/sha.c: Merge in some clean-up and optimization changes from
89794         glibc.
89795         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
89796         Ensure that it is a multiple of 64.
89797         Rearrange loop exit tests so as to avoid performing an
89798         additional fread after encountering an error or EOF.
89799         * lib/realloc.c: Update copyright date.
89800
89801 2003-08-15  Jim Meyering  <jim@meyering.net>
89802         and Paul Eggert  <eggert@twinsun.com>
89803
89804         Merge from coreutils.
89805         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
89806         member but strut utmpx does not.  Needed for AIX 4.3.3.
89807         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
89808
89809 2003-08-15  Jim Meyering  <jim@meyering.net>
89810         and Paul Eggert  <eggert@cs.ucla.edu>
89811
89812         Merges from coreutils, etc.
89813         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
89814         Require gl_FUNC_TZSET_CLOBBER.
89815         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
89816         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
89817         members.
89818
89819 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89820
89821         Help the merge from coreutils.
89822         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
89823         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
89824         * m4/tzset.m4: Use it too.
89825
89826 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89827
89828         * modules/tzset: New file.
89829
89830 2003-08-14  Jim Meyering  <jim@meyering.net>
89831
89832         Merges from coreutils.
89833         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
89834         variable names, rather than @FNMATCH_H@.
89835         * modules/alloca: Likewise for $(ALLOCA_H).
89836
89837         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
89838         the three copies of the literal target, `fnmatch.h'.
89839         * modules/alloca (alloca.h): Likewise.
89840
89841 2003-08-14  Jim Meyering  <jim@meyering.net>
89842
89843         Merge from coreutils.
89844         * m4/tzset.m4: New file.
89845         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
89846         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
89847         otherwise, AIX 5.1 systems would end up using the latter.
89848         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
89849         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
89850         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
89851         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
89852
89853 2003-08-14  Jim Meyering  <jim@meyering.net>
89854
89855         Merge from coreutils.
89856         * lib/obstack.h: Whitespace changes.
89857         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
89858         and xcalloc return values.
89859         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
89860         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
89861         hang on OSF/1 5.1 for DIR on both local and remote file systems.
89862         Reported by (and fix confirmed by) Nelson H. F. Beebe.
89863         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89864         error from mntctl.
89865         Use mntctl's return value to drive the entry-processing loop, since
89866         we can't rely on the value of the vmt_length member in the last
89867         entry.  On some systems doing so could result in exhausting
89868         virtual memory.  Based in part on a patch from Mike Jetzer.
89869
89870 2003-08-14  Jim Meyering  <jim@meyering.net>
89871         and Paul Eggert  <eggert@twinsun.com>
89872
89873         Merges from coreutils, plus other fixes.
89874         * lib/physmem.c: Merge in portability changes from gcc/libiberty
89875         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
89876         for credits and details.  Thanks to Kaveh Ghazi for helping
89877         to keep these files in sync.
89878         (ARRAY_SIZE): Define it.
89879         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
89880         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
89881         (memcasecmp): Don't assume size_t fits in unsigned int.
89882         Remove casts and duplicate code.
89883         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
89884         (memcpy): Remove definition.
89885         Merge in some clean-up and optimization changes from glibc.
89886         [BLOCKSIZE]: Move definition to top of file.
89887         Ensure that it is a multiple of 64.
89888         Rearrange loop exit tests so as to avoid performing an
89889         additional fread after encountering an error or EOF.
89890         * lib/md5.h (md5_uintptr): Define.
89891         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
89892         return to the initial working directory.  Preserve errno
89893         for caller.
89894         * lib/idcache.c: Include "xalloc.h".
89895         (xmalloc, xrealloc): Remove decls.
89896         (getuser): Remove casts no longer required in C89.
89897         * lib/human.c: Include stdio.h, for sprintf.
89898         * lib/group-member.c: Include "xalloc.h".
89899         (xmalloc, xrealloc): Remove decls.
89900         (get_group_info): Remove casts no longer required in C89.
89901         * lib/getusershell.c (readname): Remove casts no longer required in
89902         C89.
89903         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
89904         * lib/getline.c: Whitespace fix, from coreutils.
89905
89906 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89907
89908         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
89909         Check for isascii.
89910
89911         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89912         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89913         Undo previous (whitespace-only) change.
89914
89915 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89916
89917         * lib/exclude.c: Include <ctype.h>
89918         (IN_CTYPE_DOMAIN): New macro.
89919         (is_space): New fn.
89920         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
89921         and empty lines.
89922
89923         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89924         Undo previous (whitespace-only) change.
89925
89926 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89927
89928         * config/srclist-update: Change update back to the old behavior,
89929         leaving whitespace alone.  Use one 'sed' command rather than a
89930         pipeline.
89931         (fixlicense): Now a variable, not a function.
89932         (remove_trailing_blanks): Remove.
89933         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
89934         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89935         Undo previous (whitespace-only) change.
89936
89937 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89938
89939         Merge from coreutils.
89940         * modules/euidaccess: Add lib_SOURCES, include for new
89941         file euidaccess.h
89942
89943 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89944
89945         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89946         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89947         Normalize leading white space and remove trailing white space.
89948
89949         Merge from coreutils
89950         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
89951
89952         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
89953         0.12.1.  These files are now being upgraded automatically by
89954         ../config/srclist-update.
89955
89956 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89957
89958         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89959         Normalize leading white space and remove trailing white space.
89960         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
89961         notice, as per ../config/srclist-update.
89962
89963         Merge from coreutils.
89964         * lib/euidaccess.h: New file.
89965         * lib/euidaccess.c: Include it.
89966         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
89967         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
89968         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
89969
89970 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89971
89972         * config/srclist-update: Add copyright notice.
89973         (remove_id_lines, remove_trailing_blanks): New constants.
89974         (fixfile): Use them to normalize spacing a bit in copied files.
89975         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89976         Normalize leading white space and remove trailing white space.
89977
89978         * config/texinfo.tex: Sync with texinfo.
89979
89980         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
89981         strtoul.c from libc, to merge coreutils whitespace changes.
89982
89983         * config/srclist.txt: Get the following m4 files from gettext:
89984         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
89985         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
89986         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
89987         wint_t.m4.
89988
89989 2003-08-12  Karl Berry  <karl@gnu.org>
89990
89991         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
89992         been made.
89993
89994 2003-08-11  Paul Eggert  <eggert@twinsun.com>
89995
89996         * modules/gnu-source, m4/gnu-source.m4:
89997         Remove; we're assuming Autoconf 2.54 or later now.
89998         Suggested by Bruno Haible.
89999         * MODULES.html.sh (func_all_modules): Remove gnu-source.
90000
90001 2003-08-11  Bruno Haible  <bruno@clisp.org>
90002
90003         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
90004
90005 2003-08-11  Bruno Haible  <bruno@clisp.org>
90006
90007         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90008         (vasnprintf): Use it instead of wcslen.
90009
90010 2003-08-11  Bruno Haible  <bruno@clisp.org>
90011
90012         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90013         value to ensure that _Bool promotes to int. Use #define for _Bool when
90014         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90015
90016 2003-08-10  Karl Berry  <karl@gnu.org>
90017
90018         * lib/regex.h: update from libc (whitespace fix).
90019
90020 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90021
90022         Merge some files from coreutils.  These changes were
90023         originally made by Jim Meyering.
90024         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90025         many older Unixes require this.
90026         * lib/alloca.c (alloca): Remove cast to argument of free;
90027         no longer needed in C89.
90028         * lib/alloca_.h, regex.h: Fix white space to match
90029         what GNU indent does.
90030
90031 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90032
90033         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90034         apparently Emacs's Unicode mode got confused before my 2003-08-05
90035         checkin.
90036
90037 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90038
90039         * m4/extensions.m4: New file.
90040         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90041         Require gl_USE_SYSTEM_EXTENSIONS.
90042         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90043         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90044
90045 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90046
90047         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90048         * modules/extensions, modules/gnu-source: New files.
90049         * modules/timespec, modules/unlocked-io: Depend on extensions.
90050
90051 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90052
90053         * modules/restrict: New file.
90054         * MODULES.html.sh (func_all_modules): Add restrict.
90055         * modules/regex: Depend on restrict.
90056
90057 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90058
90059         * m4/restrict.m4: New file.
90060         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90061
90062 2003-08-07  Bruno Haible  <bruno@clisp.org>
90063
90064         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
90065         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
90066
90067 2003-08-07  Bruno Haible  <bruno@clisp.org>
90068
90069         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
90070         makes the module 'getndelim2' compatible with the module 'getline'.
90071
90072 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90073
90074         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
90075         byte with "\201" to avoid glitches when editing that source file
90076         with multi-gnome-terminal.
90077
90078 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90079
90080         * lib/bumpalloc.h: Remove.
90081
90082 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90083
90084         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
90085         * modules/bumpalloc: Remove.
90086
90087 2003-08-04  Paul Eggert  <eggert@twinsun.com>
90088
90089         * lib/getloadavg.c: Change copyright notice and spacing to conform to
90090         GNU coding style.
90091
90092         Merge from coreutils.
90093         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
90094         1. From glibc.
90095         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
90096         from Karl Berry, implemented by Jim Meyering.
90097         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
90098         from Dmitry V. Levin.
90099         Remove anachronistic cast of xrealloc.
90100         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
90101         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
90102         type. Otherwise, it wouldn't compile with at least /bin/cc on
90103         ymp-cray-unicos9.0.2.X.
90104         Combine two mostly-identical uses of alloca into one.
90105         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
90106
90107 2003-08-04  Dave Love  <d.love@dl.ac.uk>
90108
90109         [From Emacs.]
90110
90111         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
90112         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
90113         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
90114         obsolete NLIST_NAME_UNION.
90115         [__GNU__]: Undef BSD and FSCALE.
90116         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
90117
90118 2003-08-03  Paul Eggert  <eggert@twinsun.com>
90119
90120         * lib/stdbool_.h (_Bool): Make it signed char, instead of
90121         an enum type, so that it's guaranteed to promote to int.  See:
90122         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
90123
90124 2003-08-03  Karl Berry  <karl@gnu.org>
90125
90126         * config/depcomp: update from automake.
90127
90128 2003-07-31  Paul Eggert  <eggert@twinsun.com>
90129
90130         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
90131         (strerror): Don't assume that a printable int fits in 14 bytes.
90132
90133 2003-07-31  Bruno Haible  <bruno@clisp.org>
90134
90135         * modules/getpass-gnu: New file.
90136         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
90137
90138 2003-07-31  Bruno Haible  <bruno@clisp.org>
90139
90140         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
90141
90142 2003-07-24  Karl Berry  <karl@gnu.org>
90143
90144         * config/missing: update from automake.
90145
90146 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
90147             Bruno Haible  <bruno@clisp.org>
90148
90149         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
90150         * lib/getline.c (getline, getdelim): Likewise.
90151         Remove _GNU_SOURCE define; now it's defined in config.h through
90152         m4/getline.m4.
90153
90154 2003-07-23  Karl Berry  <karl@gnu.org>
90155
90156         * config/config.sub: update from prep.
90157
90158 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90159
90160         * modules/xalloc (Depends-on): Add exitfail.
90161         * modules/xmemcoll: Likewise.
90162
90163 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90164
90165         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
90166         over-parenthesization in macros.
90167
90168         Sync with coreutils.
90169
90170         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
90171         required by C99.
90172
90173         Use `exit_failure' for xalloc and xmemcoll instead of their own
90174         private exit-failure variables.
90175         * lib/xalloc.h (xalloc_exit_failure): Remove.
90176         * lib/xmalloc.c: Likewise.  Include exitfail.h.
90177         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
90178         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
90179         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
90180         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
90181
90182 2003-07-20  Jim Meyering  <jim@meyering.net>
90183
90184         * modules/closeout (Depends-on): Add exitfail.
90185         Suggestion from Bruno Haible.
90186
90187 2003-07-19  Karl Berry  <karl@gnu.org>
90188
90189         * config/config.sub: update from prep.
90190
90191 2003-07-18  Paul Eggert  <eggert@twinsun.com>
90192
90193         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
90194         Remove.
90195         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
90196         to test that it can stand by itself.  Include "exitfail.h".
90197         Clients should set exit_failure instead.
90198         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
90199
90200 2003-07-18  Bruno Haible  <bruno@clisp.org>
90201
90202         * modules/getndelim2: New file.
90203         * modules/getline: Share files with module getndelim2.
90204         * modules/getnline: Depend on getndelim2 instead of sharing files with
90205         it. Add getnline.c to lib_SOURCES.
90206         * MODULES.html.sh (func_all_modules): Add getndelim2.
90207
90208 2003-07-18  Bruno Haible  <bruno@clisp.org>
90209
90210         * m4/getndelim2.m4: New file.
90211         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
90212         invoke gl_PREREQ_GETNDELIM2.
90213         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
90214         gl_PREREQ_GETNDELIM2.
90215         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
90216         gl_GETNDELIM2.
90217
90218 2003-07-18  Bruno Haible  <bruno@clisp.org>
90219
90220         * lib/getndelim2.h: New file.
90221         * lib/getndelim2.c: Make into a module of its own. Include config.h,
90222         getndelim2.h.
90223         (getndelim2): Make non-static. Change return type to ssize_t.
90224         * lib/getline.h: Change argument names.
90225         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
90226         * lib/getnline.c: Include getndelim2.h.
90227
90228 2003-07-18  Andreas Schwab  <schwab@suse.de>
90229
90230         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
90231
90232 2003-07-17  Karl Berry  <karl@gnu.org>
90233
90234         * config/config.sub: update from prep.
90235
90236 2003-07-17  Bruno Haible  <bruno@clisp.org>
90237
90238         * modules/getnline: New file.
90239         * modules/getline: Add lib/getndelim2.c to source file list.
90240         * MODULES.html.sh (func_all_modules): Add getnline.
90241
90242 2003-07-17  Bruno Haible  <bruno@clisp.org>
90243
90244         * m4/getnline.m4: New file.
90245
90246 2003-07-17  Bruno Haible  <bruno@clisp.org>
90247
90248         * m4/Makefile.am.in: Remove file.
90249         * m4/Makefile.am: Remove file.
90250         * m4/Makefile.in: Remove file.
90251
90252 2003-07-17  Bruno Haible  <bruno@clisp.org>
90253
90254         * lib/getnline.h: New file.
90255         * lib/getnline.c: New file.
90256         * lib/getndelim2.c: New file, extracted from getline.c.
90257         (getndelim2): Renamed from getdelim2, with added nmax argument.
90258         * lib/getline.c: Include getndelim2.c.
90259         (getdelim2): Moved out to getndelim2.c.
90260         (getline, getdelim): Update.
90261
90262 2003-07-17  Bruno Haible  <bruno@clisp.org>
90263
90264         * lib/Makefile.am: Remove file.
90265         * lib/Makefile.in: Remove file.
90266
90267 2003-07-17  Bruno Haible  <bruno@clisp.org>
90268
90269         * configure.in: Remove file.
90270         * Makefile.in: Remove file.
90271
90272 2003-07-17  Bruno Haible  <bruno@clisp.org>
90273
90274         * MODULES.html.sh: Put the </BODY> right before </HTML>.
90275
90276 2003-07-16  Karl Berry  <karl@gnu.org>
90277
90278         * config/srclist-update: was running fixlicense twice, which caused
90279                 texinfo.tex to be nullified for some reason.  Simplify,
90280                 $gplsrc is no longer needed as far as I can see?
90281
90282 2003-07-16  Jim Meyering  <jim@meyering.net>
90283
90284         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
90285
90286 2003-07-15  Paul Eggert  <eggert@twinsun.com>
90287
90288         * config/srclist.txt: Get the following files from gettext-runtime/intl
90289         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
90290         ref-del.sin.  From Bruno Haible.
90291         * config/srclist-update (fixfile): Change grep pattern again, since the
90292         previous fix didn't work (there was another trailing $).  Use
90293         '[$]' to escape the $s.
90294
90295 2003-07-15  Karl Berry  <karl@gnu.org>
90296
90297         * lib/vasnprintf.c: update from gettext.
90298
90299 2003-07-15  Karl Berry  <karl@gnu.org>
90300
90301         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
90302         gets expanded when surrounded by '$'.
90303
90304 2003-07-15  Jim Meyering  <jim@meyering.net>
90305
90306         * modules/save-cwd: Don't depend on error.  From Derek Price.
90307
90308 2003-07-15  Jim Meyering  <jim@meyering.net>
90309
90310         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
90311
90312 2003-07-14  Simon Josefsson  <jas@extundo.com>
90313
90314         * modules/mempcpy: New file.
90315         * MODULES.html.sh (func_all_modules): Add mempcpy.
90316
90317 2003-07-14  Simon Josefsson  <jas@extundo.com>
90318
90319         * m4/mempcpy.m4: New file.
90320
90321 2003-07-14  Simon Josefsson  <jas@extundo.com>
90322
90323         * lib/mempcpy.h: New file.
90324         * lib/mempcpy.c: New file.
90325
90326 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90327
90328         * modules/getdate, modules/posixtm: Depend on mktime.
90329
90330 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90331
90332         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
90333         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
90334         unicodeio.c, unicodeio.h, unlocked-io.h:
90335         Switch from LGPL to GPL.
90336
90337 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90338
90339         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
90340         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
90341         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
90342         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
90343         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
90344         updated automatically by ../config/srclist-update.  This changes
90345         their license from LPGL to GPL.
90346
90347 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90348
90349         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
90350         assumed to refer to the root of the most recent stable gettext version.
90351         * config/srclistvars.sh: Add defaults for eggert.
90352         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
90353         Match "This program" as well as "The program".  This is needed
90354         for gettext.
90355
90356 2003-07-14  Jim Meyering  <jim@meyering.net>
90357
90358         Don't emit diagnostics.  Let callers do that.
90359         * lib/save-cwd.c: Don't include "error.h".
90360         (save_cwd): Don't call error.  Ensure that errno is valid
90361         when returning nonzero.
90362
90363         * lib/save-cwd.h (restore_cwd): Update prototype.
90364         * lib/save-cwd.c (restore_cwd): Remove two parameters.
90365         Simplify.  Don't call error upon failure.  Let callers do that.
90366         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
90367         when auditing is enabled.  But don't bother updating the #if.
90368
90369 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
90370
90371         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
90372         it breaks C++ compilation.
90373         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
90374
90375 2003-07-10  Simon Josefsson  <jas@extundo.com>
90376
90377         * modules/strchrnul (Makefile.am): Add strchrnul.h.
90378
90379 2003-07-10  Jim Meyering  <jim@meyering.net>
90380
90381         * m4/clock_time.m4: Remove trailing blank.
90382         * m4/intmax_t.m4: Likewise.
90383
90384 2003-07-10  Jim Meyering  <jim@meyering.net>
90385
90386         * lib/vasnprintf.c: Remove trailing blanks.
90387         Make cpp indentation consistent.
90388
90389 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90390
90391         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
90392         posixver.c, strftime.c, strnlen.c, strverscmp.c:
90393         Switch from LGPL to GPL.
90394
90395 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90396
90397         * config/srclist.txt: Sort sublists.  Add
90398         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
90399         that differ from gnulib for one reason or another; we'd like this list
90400         to be smaller but for now let's document what we have.
90401
90402 2003-07-08  Paul Eggert  <eggert@twinsun.com>
90403
90404         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
90405         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
90406         and sweeter "eval x=$x".
90407         * config/srclist.txt: Get lib/argp* from glibc.
90408
90409 2003-07-07  Paul Eggert  <eggert@twinsun.com>
90410
90411         * lib/mktime.c: Fix some boundary cases and remove need for floating
90412         point.
90413
90414         Issue a compile-time diagnostic if time_t is floating point, or if
90415         two's complement arithmetic is not in effect, or if arithmetic
90416         right shift does not propagate the sign.  These assumptions were
90417         all in the original code but they weren't checked.
90418
90419         (TIME_T_MIDPOINT, verify): New macros.
90420         (__isleap): Remove; it has integer overflow problems.
90421         (leapyear): New function, without those problems.
90422         (ydhms_tm_diff): Remove; splitting into two parts.
90423         (ydhms_diff): New function, containing the arithmetic part of
90424         the old ydhms_tm_diff function.  Issue a compile-time
90425         diagnostic if we are not using C99 integer division.
90426         Avoid casts when possible.
90427         (guess_time_tm): New function, containing the checking part of
90428         the old ydhms_tm_diff function.  Return the new value, rather than
90429         the difference between it and the old.  Accept a new argument T
90430         so that *T specifies the old value.  Check for overflow in the result.
90431
90432         (__mktime_internal): Use a time_t offset, not a long int offset.
90433         This undoes the 2003-06-04 change, which is no longer needed now
90434         that we have better overflow checking.
90435         (localtime_offset): Likewise.
90436
90437         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90438         and long are 64-bit but int is only 32-bit.
90439         (ydhms_diff): Use long int to store year1 and yday1.
90440         Issue a compile-time diagnostic if long int is not wide enough.
90441
90442         (__mktime_internal): Use long int to store adjusted year and yday.
90443         Use plain C rather than preprocessor commands, if that doesn't
90444         affect efficiency.
90445         Check for overflow (and try to repair) after each probe
90446         rather than checking only at the very end.  This avoids some bugs
90447         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90448         does not equal GMT offset at maximum time).
90449         Use integer to check for overflow rather than floating point; this
90450         is more portable to non-IEEE hosts, and is a tad faster.
90451         When we detect that we are oscillating between two values,
90452         don't check whether tm_isdst has the requested value, since
90453         we already know the answer.  When tm_isdst has the wrong value,
90454         use a different heuristic to find the right one, based on the
90455         extreme values actually observed in practice in tz2003a,
90456         rather than the (overly optimistic) "previous 3 calendar quarters".
90457
90458         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90459         "T const" to accommodate glibc style.
90460         (check_result): Use less-confusing report format.  "long" -> "long int.
90461         (main): Likewise.
90462         Don't loop if the iteration overflows time_t.
90463         Allow a negative step in the iteration.
90464
90465 2003-07-06  Karl Berry  <karl@gnu.org>
90466
90467         * config/depcomp: update from automake.
90468         * config/config.sub: update from prep.
90469
90470 2003-07-03  Karl Berry  <karl@gnu.org>
90471
90472         * config/config.guess: update from prep.
90473
90474 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90475
90476         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90477         xreadlink.c now includes it unconditionally.
90478
90479 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90480
90481         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90482         having it depend on HAVE_SYS_TYPES_H.
90483
90484 2003-07-01  Bruno Haible  <bruno@clisp.org>
90485
90486         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90487         <sys/types.h> should be sufficient.
90488         Reported by Paul Eggert.
90489
90490 2003-06-26  Karl Berry  <karl@gnu.org>
90491
90492         * config/depcomp: update from automake.
90493
90494 2003-06-26  Bruno Haible  <bruno@clisp.org>
90495
90496         * modules/human: Depend on module stdbool.
90497
90498 2003-06-25  Bruno Haible  <bruno@clisp.org>
90499
90500         * modules/readlink: New file.
90501         * modules/xreadlink: Depend on it.
90502         * MODULES.html.sh (func_all_modules): Add readlink.
90503
90504 2003-06-25  Bruno Haible  <bruno@clisp.org>
90505
90506         * m4/readlink.m4: New file.
90507
90508 2003-06-25  Bruno Haible  <bruno@clisp.org>
90509
90510         * lib/readlink.c: New file.
90511
90512 2003-06-22  Karl Berry  <karl@gnu.org>
90513
90514         * config/srclist.txt: update mkinstalldirs from automake.
90515         * config/mkinstalldirs: update.
90516
90517 2003-06-22  Bruno Haible  <bruno@clisp.org>
90518
90519         Portability to mingw32.
90520         * m4/ssize_t.m4: New file, from GNU gettext.
90521         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90522         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90523
90524 2003-06-22  Bruno Haible  <bruno@clisp.org>
90525
90526         * modules/safe-read: Add m4/ssize_t.m4.
90527         * modules/xreadlink: Add m4/ssize_t.m4.
90528
90529 2003-06-20  Bruno Haible  <bruno@clisp.org>
90530
90531         Assume C89, so PARAMS isn't needed.
90532         * lib/unicodeio.h (PARAMS): Remove.
90533         * lib/unicodeio.c: Don't use PARAMS.
90534
90535 2003-06-18  Karl Berry  <karl@gnu.org>
90536
90537         * config/config.{guess,sub}: update from prep.
90538
90539 2003-06-18  Jim Meyering  <jim@meyering.net>
90540
90541         Merge changes from coreutils.
90542         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90543         Remove explicit declarations of xmalloc and realloc.
90544         Include xalloc.h.
90545         (read_utmp): Remove anachronistic cast of xmalloc.
90546
90547 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90548
90549         Assume C89, so PARAMS isn't needed.
90550         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90551         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90552         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90553         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90554         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90555         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90556         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90557         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90558         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90559         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90560         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90561         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90562         no longer needed. Anyway, config.h should always be included before any
90563         other file.
90564
90565 2003-06-11  Simon Josefsson  <jas@extundo.com>
90566
90567         * modules/sysexits: New file.
90568         * MODULES.html.sh (func_all_modules): Add sysexits.
90569
90570 2003-06-11  Simon Josefsson  <jas@extundo.com>
90571
90572         * lib/sysexit_.h: New file.
90573
90574 2003-06-11  Derek Price  <derek@ximbiot.com>
90575
90576         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90577         necessary.
90578
90579 2003-06-11  Bruno Haible  <bruno@clisp.org>
90580
90581         * m4/sysexits.m4: New file.
90582
90583 2003-06-10  Simon Josefsson  <jas@extundo.com>
90584
90585         * lib/argp.h: New file, from glibc.
90586         * lib/argp-ba.c: New file, from glibc.
90587         * lib/argp-eexst.c: New file, from glibc.
90588         * lib/argp-fmtstream.c: New file, from glibc.
90589         * lib/argp-fmtstream.h: New file, from glibc.
90590         * lib/argp-fs-xinl.c: New file, from glibc.
90591         * lib/argp-help.c: New file, from glibc.
90592         * lib/argp-namefrob.h: New file, from glibc.
90593         * lib/argp-parse.c: New file, from glibc.
90594         * lib/argp-pv.c: New file, from glibc.
90595         * lib/argp-pvh.c: New file, from glibc.
90596         * lib/argp-xinl.c: New file, from glibc.
90597
90598 2003-06-10  Simon Josefsson  <jas@extundo.com>
90599
90600         * modules/strchrnul: New file.
90601
90602 2003-06-10  Simon Josefsson  <jas@extundo.com>
90603
90604         * modules/argp: New file.
90605
90606 2003-06-10  Simon Josefsson  <jas@extundo.com>
90607
90608         * m4/strchrnul.m4: New file.
90609
90610 2003-06-10  Simon Josefsson  <jas@extundo.com>
90611
90612         * lib/strchrnul.h: New file.
90613         * lib/strchrnul.c: New file.
90614
90615 2003-06-10  Bruno Haible  <bruno@clisp.org>
90616
90617         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
90618
90619 2003-06-07  Karl Berry  <karl@gnu.org>
90620
90621         * config/config.{guess,sub}: update from prep.
90622
90623 2003-06-07  Jim Meyering  <jim@meyering.net>
90624
90625         * modules/strtod: Use $(...) notation, not @...@ for
90626         AC_REPLACE'd variables.
90627         * modules/localcharset: Likewise.
90628
90629 2003-06-07  Jim Meyering  <jim@meyering.net>
90630
90631         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
90632         in place of my name in the copyright comment.
90633         Remove definition and uses of __P.
90634
90635         From coreutils.
90636         * lib/stat.c: Don't declare xmalloc explicitly.
90637         Instead, include "xalloc.h".
90638         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
90639         xrealloc, and xcalloc return values.
90640         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
90641         Improve comment.
90642         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90643
90644 2003-06-07  Bruno Haible  <bruno@clisp.org>
90645
90646         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90647         avoid AC_CONFIG_LINKS.
90648         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90649         fnmatch.h, to avoid AC_CONFIG_LINKS.
90650         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90651
90652 2003-06-07  Bruno Haible  <bruno@clisp.org>
90653
90654         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90655         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90656         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90657         directory.
90658         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90659         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90660         directory.
90661
90662 2003-06-06  Jim Meyering  <jim@meyering.net>
90663
90664         Merge from coreutils.
90665         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
90666         Consolidate declarations and initializations of *_base* locals.
90667
90668         Merge from coreutils.
90669         This avoids a core dump on systems without GNU putenv,
90670         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
90671         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
90672         (unsetenv): New static function, from GNU libc.
90673         (rpl_putenv): Use it.
90674
90675         * lib/modechange.c: Remove trailing blanks.
90676
90677         Merge from coreutils.
90678         * lib/fsusage.c: Remove declaration of statfs.
90679         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
90680
90681         * lib/posixtm.c: Include <stdbool.h> unconditionally.
90682
90683 2003-06-06  Jim Meyering  <jim@meyering.net>
90684
90685         * lib/stdbool_.h: Renamed from stdbool.h.in.
90686
90687 2003-06-06  Jim Meyering  <jim@meyering.net>
90688             Bruno Haible  <bruno@clisp.org>
90689
90690         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
90691         Adjust Makefile.am snippet not to redirect directly to target.
90692         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
90693
90694 2003-06-05  Paul Eggert  <eggert@twinsun.com>
90695
90696         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
90697         mismatch, look in future quarters as well as past.  This fixes a
90698         bug when processing fall-backwards gaps immediately after a long
90699         period of daylight-saving time.
90700
90701         * lib/mktime.c: Assume freestanding C89 or better.
90702         (HAVE_LIMITS_H): Remove.  Assume it's 1.
90703         (__P): Remove; not used.
90704         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
90705         (mktime, not_equal_tm, print_tm, check_result,
90706         main): Use prototypes.  Use const * where appropriate.
90707         (main): Fix typo in testing code that uncovered by above changes.
90708         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
90709
90710 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90711
90712         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
90713         locale.h, localeconv.  This merges changes from coreutils.
90714
90715         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
90716         It can be removed after the next Autoconf is released.
90717         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
90718         needed.
90719
90720 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90721
90722         * lib/mktime.c: Fix Debian bug 177940
90723         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
90724         (localtime_offset): Now long int, not time_t, because we want it
90725         to be guaranteed to be signed.  All uses changed.
90726         (__mktime_internal): If overflow would occur when adding offset,
90727         don't add it.
90728
90729         Merge 'human' changes from coreutils.  Rewrite to support
90730         locale-specific notations like thousands separators.
90731         * lib/human.c: Simplify authorship notice.
90732         Include human.h immediately after config.h.
90733         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
90734         <limits.h>: Do not include, since human.h does.
90735         (SIZE_MAX, UINTMAX_MAX): New macros.
90736         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
90737         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
90738         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
90739         (power_letter): Renamed from suffixes.
90740         (generate_suffix_backwards): Remove.
90741         (adjust_value): Now takes int style (because of human.h changes)
90742         and long double value (for greater precision on some platforms).
90743         (group_number): New function.
90744         (human_readable): Use it.  Use integer options, not enum.
90745         Put the options before the sizes in the arg list.
90746         Support all the new options.
90747         The old human_readable function has been removed;
90748         use inttostr.h instead.
90749         (human_readable, default_block_size, humblock):
90750         Use uintmax_t, not int, for block sizes.
90751         (human_readable_inexact, block_size_types): Remove.
90752         (block_size_opts): New constant.
90753         (human_options): Renamed from human_block_size, with new signature
90754         that allows block sizes up to UINTMAX_MAX.  All callers changed.
90755         * lib/human.h: Add copyright and authorship notice.
90756         Include <limits.h> and <stdbool.h> unconditionally.
90757         (PARAMS): Remove.  All uses removed.
90758         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
90759         (enum human_inexact_style): Remove tag; now a nameless enum.
90760         (human_floor, human_ceiling, human_round_to_even): Now have
90761         values 2, 0, 1 rather than -1, 1, 0.
90762         (human_group_digits, human_suppress_point_zero, human_autoscale,
90763         human_base_1024, human_SI, human_B): New constants.
90764         (human_readable_inexact, human_block_size): Remove.
90765         (human_readable): Size args are now uintmax_t, not int.
90766         (human_options): New decl.
90767
90768         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
90769         unnecessary now that we assume C89 or better.  This change
90770         imported from coreutils.
90771
90772         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90773         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
90774         in the 2003-05-30 sync from glibc.
90775
90776         .h files should stand alone, but we shouldn't include <sys/types.h>
90777         if we can get away with just <stddef.h>.
90778
90779         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
90780         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
90781         rather than <sys/types.h>, as we merely need size_t.
90782         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
90783         to get size_t.
90784         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
90785         Include <stdio.h>, to get FILE.
90786         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
90787         memcasecmp.h has included <stddef.h> and all we need is size_t.
90788         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
90789         our interface, instead of including <sys/types.h>
90790
90791 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90792
90793         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
90794         now, as glibc mktime is buggy on non-glibc systems.
90795
90796 2003-06-03  Karl Berry  <karl@gnu.org>
90797
90798         * config/config.sub: update from prep.
90799
90800 2003-06-02  Paul Eggert  <eggert@twinsun.com>
90801
90802         [from coreutils]
90803         Fix some minor time-related bugs with POSIX time arguments.
90804         Some valid time stamps were being rejected (notably -1, and
90805         time stamps before 1900 on 64-bit hosts).  And some invalid
90806         time stamps were being accepted, e.g. September 31.
90807
90808         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
90809         that we can return (time_t) -1 successfully.
90810         * lib/posixtm.c: Likewise.
90811         [HAVE_STDBOOL_H]: Include <stdbool.h>.
90812         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
90813         (t): Remove static var.
90814         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
90815         of static var.  All uses changed.
90816         (year): Do not reject years before 1900; they can occur with
90817         64-bit time_t.
90818         (posix_time_parse): Do not check for out-of-range components;
90819         that is now the caller's responsibility, since our checks were
90820         only approximations.
90821         (posixtime): Use mktime to check for out-of-range components,
90822         since it knows them exactly.
90823         If mktime returns (time_t) -1, check whether an error actually occurred
90824         by invoking localtime on -1.
90825         (main) [TEST_POSIXTIME]: Check for input data errors, and report
90826         posixtime failures better.
90827         Improve the test data (in comments only).
90828
90829 2003-06-02  Karl Berry  <karl@gnu.org>
90830
90831         * config/mkinstalldirs (version): new variable.
90832         (--version): new option.
90833         (usage): improve message.
90834
90835 2003-05-30  Karl Berry  <karl@gnu.org>
90836
90837         * lib/mktime.c: update from libc.
90838
90839 2003-05-30  Bruno Haible  <bruno@clisp.org>
90840
90841         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
90842         * config/config.rpath: Upgrade to gettext-0.12.1.
90843
90844 2003-05-30  Bruno Haible  <bruno@clisp.org>
90845
90846         * m4/gettext.m4: Upgrade to gettext-0.12.1.
90847         * m4/nls.m4: New file, from gettext-0.12.1.
90848         * m4/po.m4: New file, from gettext-0.12.1.
90849         * m4/progtest.m4: Upgrade to gettext-0.12.1.
90850
90851 2003-05-30  Bruno Haible  <bruno@clisp.org>
90852
90853         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
90854         * lib/localcharset.h: Likewise.
90855         * lib/localcharset.c: Likewise.
90856
90857 2003-05-29  Karl Berry  <karl@gnu.org>
90858
90859         * config/config.rpath: update from gettext.
90860
90861 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90862
90863         Assume the headers required for C89 freestanding compilers.
90864         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
90865         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
90866         * m4/human.m4 (gl_HUMAN): Likewise.
90867         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
90868         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
90869         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90870         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
90871         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90872         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
90873
90874 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90875
90876         Assume the headers required for C89 freestanding compilers.
90877         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
90878         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
90879         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
90880         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
90881         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
90882         define, since <limits.h> is guaranteed to do that.
90883         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
90884         * lib/exclude.c: Include <stdbool.h> unconditionally.
90885         * lib/tempname.c: Include <stddef.h> unconditionally.
90886         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
90887         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
90888         <stddef.h> does that.
90889         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
90890         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
90891         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
90892         needed.
90893         * lib/xstrtol.c: Likewise.
90894         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
90895         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
90896
90897         * lib/addext.c (addext): Use assignment rather than cast, to avoid
90898         warnings on some platforms.
90899
90900         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90901         arbitrarily.
90902
90903 2003-05-26  Jim Meyering  <jim@meyering.net>
90904
90905         Merge in a change from coreutils:
90906         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
90907         that is guaranteed to be `no'.  Use `no_such_member' to indicate
90908         that condition, rather than `-1' which is slightly misleading.
90909         Change the name of the cache variable to have the gl_ prefix.
90910         Prompted by a patch from Richard Dawe for DJGPP.
90911
90912 2003-05-24  Karl Berry  <karl@gnu.org>
90913
90914         * config/config.guess: update from prep.
90915
90916 2003-05-22  Karl Berry  <karl@gnu.org>
90917
90918         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
90919
90920 2003-05-20  Karl Berry  <karl@gnu.org>
90921
90922         * config/config.guess: update from prep.
90923
90924 2003-05-18  Karl Berry  <karl@gnu.org>
90925
90926         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
90927         might actually be set by the user.
90928
90929         * config/depcomp, install-sh, mdate-sh: update from automake.
90930
90931 2003-05-17  Bruno Haible  <bruno@clisp.org>
90932
90933         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
90934         invalid expansion for AC_EGREP_CPP.
90935         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
90936         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
90937         Suggested by Akim Demaille <akim@epita.fr> in
90938         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
90939
90940 2003-05-12  Jim Meyering  <jim@meyering.net>
90941
90942         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
90943         the space-padded-by-default conversion specifiers, %e, %k, %l.
90944
90945 2003-05-12  Bruno Haible  <bruno@clisp.org>
90946
90947         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
90948         the string is longer than 4 KB.
90949
90950 2003-05-11  Karl Berry  <karl@gnu.org>
90951
90952         * config/config.{guess,sub}: update from prep.
90953
90954 2003-05-09  Bruno Haible  <bruno@clisp.org>
90955
90956         * modules/error: Add m4/strerror_r.m4 to file list.
90957
90958 2003-05-03  Bruno Haible  <bruno@clisp.org>
90959
90960         Upgrade to Unicode-4.0.
90961         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
90962         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
90963         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
90964         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
90965         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
90966         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
90967         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
90968         Change width of U+E0100..U+E01EF from 1 to 0.
90969
90970 2003-04-25  Jim Meyering  <jim@meyering.net>
90971
90972         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
90973         of type size_t, not int.
90974
90975 2003-04-25  Bruno Haible  <bruno@clisp.org>
90976
90977         * lib/copy-file.c: Include <stddef.h>, for size_t.
90978
90979 2003-04-21  Paul Eggert  <eggert@twinsun.com>
90980
90981         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
90982         code which expansion is under static control.  Patch imported from
90983         Akim Demaille's patch to Bison; see
90984         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
90985
90986 2003-04-14  Bruno Haible  <bruno@clisp.org>
90987
90988         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
90989
90990 2003-04-11  Jim Meyering  <jim@meyering.net>
90991
90992         Merge changes from Coreutils.
90993
90994         2003-03-22  Jim Meyering  <jim@meyering.net>
90995
90996         * lib/strftime.c (widen): Cast alloca return value to proper type.
90997
90998         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
90999
91000         From GNU libc.
91001         * lib/strftime.c (my_strftime): Handle very large width
91002         specifications for numeric values correctly.  Improve checks for
91003         overflow.
91004
91005         2003-01-19  Jim Meyering  <jim@meyering.net>
91006
91007         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91008         definitions.
91009         (nl_get_alt_digit) [! defined my_strftime]: Define.
91010         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91011         _nl_get_alt_digit and _nl_get_walt_digit.
91012
91013         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91014         libc. These changes have no effect outside of _LIBC.
91015
91016 2003-04-10  Bruno Haible  <bruno@clisp.org>
91017
91018         * modules/findprog: New file.
91019         * MODULES.html.sh (func_all_modules): Add it.
91020
91021 2003-04-10  Bruno Haible  <bruno@clisp.org>
91022
91023         * m4/findprog.m4: New file.
91024         * m4/eaccess.m4: New file.
91025
91026 2003-04-10  Bruno Haible  <bruno@clisp.org>
91027
91028         * lib/findprog.h: New file, from GNU gettext.
91029         * lib/findprog.c: New file, from GNU gettext.
91030
91031 2003-04-05  Jim Meyering  <jim@meyering.net>
91032
91033         Merge changes from Coreutils.
91034
91035         * lib/exclude.h (PARAMS): Remove definition and uses.
91036         * lib/exclude.c: Remove uses of `PARAMS'.
91037
91038         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91039         Add test-cases for DOS filenames. Declare program_name.
91040         (main): Set up program_name.  Patch by Rich Dawe.
91041
91042         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91043         error from mntctl.
91044         Use mntctl's return value to drive the entry-processing loop, since
91045         we can't rely on the value of the vmt_length member in the last
91046         entry.  On some systems doing so could result in exhausting
91047         virtual memory.  Based in part on a patch from Mike Jetzer.
91048
91049 2003-04-04  Bruno Haible  <bruno@clisp.org>
91050
91051         * modules/linebreak: New file.
91052         * MODULES.html.sh (func_all_modules): Add it.
91053
91054 2003-04-04  Bruno Haible  <bruno@clisp.org>
91055
91056         * m4/linebreak.m4: New file.
91057
91058 2003-04-04  Bruno Haible  <bruno@clisp.org>
91059
91060         * lib/linebreak.h: New file, from GNU gettext.
91061         * lib/linebreak.c: New file, from GNU gettext with slight
91062         modifications.
91063         * lib/lbrkprop.h: New file, from GNU gettext.
91064
91065 2003-04-03  Bruno Haible  <bruno@clisp.org>
91066
91067         * modules/utf8-ucs4: New file.
91068         * modules/utf16-ucs4: New file.
91069         * modules/ucs4-utf8: New file.
91070         * modules/ucs4-utf16: New file.
91071         * MODULES.html.sh (func_all_modules): Add them.
91072
91073 2003-04-03  Bruno Haible  <bruno@clisp.org>
91074
91075         * m4/utf-ucs4.m4: New file.
91076         * m4/ucs4-utf.m4: New file.
91077
91078 2003-04-03  Bruno Haible  <bruno@clisp.org>
91079
91080         * lib/utf8-ucs4.h: New file, from GNU gettext.
91081         * lib/utf16-ucs4.h: New file, from GNU gettext.
91082         * lib/ucs4-utf8.h: New file, from GNU gettext.
91083         * lib/ucs4-utf16.h: New file, from GNU gettext.
91084
91085 2003-04-02  Bruno Haible  <bruno@clisp.org>
91086
91087         * modules/binary-io: New file.
91088         * MODULES.html.sh (func_all_modules): Add it.
91089
91090 2003-04-02  Bruno Haible  <bruno@clisp.org>
91091
91092         * lib/binary-io.h: New file, from GNU gettext.
91093
91094 2003-04-01  Bruno Haible  <bruno@clisp.org>
91095
91096         * modules/pathname: New file.
91097         * MODULES.html.sh (func_all_modules): Add it.
91098
91099 2003-04-01  Bruno Haible  <bruno@clisp.org>
91100
91101         * lib/pathname.h: New file, from GNU gettext.
91102         * lib/concatpath.c: New file, from GNU gettext.
91103
91104 2003-03-30  Bruno Haible  <bruno@clisp.org>
91105
91106         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
91107
91108 2003-03-30  Bruno Haible  <bruno@clisp.org>
91109
91110         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
91111         function chown() doesn't exist.
91112
91113 2003-03-28  Bruno Haible  <bruno@clisp.org>
91114
91115         * modules/copy-file: New file.
91116         * MODULES.html.sh (func_all_modules): Add it.
91117
91118 2003-03-28  Bruno Haible  <bruno@clisp.org>
91119
91120         * m4/copy-file.m4: New file.
91121
91122 2003-03-28  Bruno Haible  <bruno@clisp.org>
91123
91124         * lib/copy-file.h: New file, from GNU gettext.
91125         * lib/copy-file.c: New file, from GNU gettext.
91126
91127 2003-03-18  Jim Meyering  <jim@meyering.net>
91128
91129         * lib/quote.c (quote_n): Fix typo in comment.
91130
91131 2003-03-18  Bruno Haible  <bruno@clisp.org>
91132
91133         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
91134         checking.
91135         * m4/onceonly_2_57.m4: Likewise.
91136
91137 2003-03-17  Bruno Haible  <bruno@clisp.org>
91138
91139         * m4/onceonly.m4: Require autoconf 2.54 or newer.
91140         (m4_quote): Remove macro.
91141         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
91142
91143 2003-03-14  Jim Meyering  <jim@meyering.net>
91144
91145         Merge changes from Coreutils.
91146         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
91147         to be const, in order to avoid warnings.
91148         (obstack_room): Likewise.
91149         (obstack_empty_p): Likewise.
91150
91151 2003-03-14  Bruno Haible  <bruno@clisp.org>
91152
91153         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
91154         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
91155
91156 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91157
91158         Merge changes from Bison.
91159         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
91160         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
91161         when compiling Bison 1.875's `bitset bset = obstack_alloc
91162         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
91163         * lib/hash.c: Include <stdbool.h> unconditionally.
91164
91165 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91166
91167         * m4/onceonly.m4 (m4_quote): New macro.
91168         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
91169         Quote AC_FOREACH variable-expansions properly.
91170
91171 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91172
91173         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
91174
91175 2003-03-09  Paul Eggert  <eggert@twinsun.com>
91176
91177         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
91178         Reported by Bruce Becker; see:
91179         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
91180
91181 2003-03-03  Paul Eggert  <eggert@twinsun.com>
91182             Bruno Haible  <bruno@clisp.org>
91183
91184         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
91185         Reported by John Hughes, see
91186         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
91187
91188 2003-02-20  Bruno Haible  <bruno@clisp.org>
91189
91190         * MODULES.html.sh (func_all_modules): Add poll.
91191
91192 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91193
91194         * modules/poll: New file.
91195
91196 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91197
91198         * lib/poll_.h: New file.
91199         * lib/poll.c: New file.
91200
91201 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91202
91203         * m4/poll.m4: New file.
91204
91205 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91206
91207         * modules/mathl: New file.
91208
91209 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91210
91211         * lib/mathl.h: New file.
91212         * lib/acosl.c: New file.
91213         * lib/asinl.c: New file.
91214         * lib/atanl.c: New file.
91215         * lib/ceill.c: New file.
91216         * lib/cosl.c: New file.
91217         * lib/expl.c: New file.
91218         * lib/floorl.c: New file.
91219         * lib/frexpl.c: New file.
91220         * lib/ldexpl.c: New file.
91221         * lib/logl.c: New file.
91222         * lib/sincosl.c: New file.
91223         * lib/sinl.c: New file.
91224         * lib/sqrtl.c: New file.
91225         * lib/tanl.c: New file.
91226         * lib/trigl.c: New file.
91227         * lib/trigl.h: New file.
91228
91229 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91230
91231         * m4/mathl.m4: New file.
91232
91233 2003-02-18  Bruno Haible  <bruno@clisp.org>
91234
91235         * MODULES.html.sh (func_all_modules): Add mathl.
91236
91237 2003-02-17  Bruno Haible  <bruno@clisp.org>
91238
91239         * modules/mkdtemp: New module.
91240         * MODULES.html.sh (func_all_modules): Add it.
91241
91242 2003-02-17  Bruno Haible  <bruno@clisp.org>
91243
91244         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
91245
91246 2003-02-17  Bruno Haible  <bruno@clisp.org>
91247
91248         * lib/mkdtemp.h: New file, from GNU gettext.
91249         * lib/mkdtemp.c: New file, from GNU gettext.
91250
91251 2003-02-02  Jim Meyering  <jim@meyering.net>
91252
91253         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
91254         e.g. glibc-2.2.93.
91255
91256 2003-01-31  Bruno Haible  <bruno@clisp.org>
91257
91258         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
91259         'rpl_rename'.
91260         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
91261         'rpl_strnlen'.
91262         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
91263         'rpl_strtod'.
91264         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
91265         'rpl_utime'.
91266
91267 2003-01-31  Bruno Haible  <bruno@clisp.org>
91268
91269         * lib/rename.c: #undef rename before defining rpl_rename.
91270         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
91271
91272 2003-01-30  Bruno Haible  <bruno@clisp.org>
91273
91274         * modules/vasnprintf, modules/vasprintf: New modules.
91275         * MODULES.html.sh (func_all_modules): Add them.
91276
91277 2003-01-30  Bruno Haible  <bruno@clisp.org>
91278
91279         * m4/signed.m4: New file, from GNU gettext.
91280         * m4/longdouble.m4: New file, from GNU gettext.
91281         * m4/wchar_t.m4: New file, from GNU gettext.
91282         * m4/wint_t.m4: New file, from GNU gettext.
91283         * m4/vasnprintf.m4: New file.
91284         * m4/vasprintf.m4: New file.
91285
91286 2003-01-30  Bruno Haible  <bruno@clisp.org>
91287
91288         * lib/printf-args.h: New file, from GNU gettext.
91289         * lib/printf-args.c: New file, from GNU gettext.
91290         * lib/printf-parse.h: New file, from GNU gettext.
91291         * lib/printf-parse.c: New file, from GNU gettext.
91292         * lib/vasnprintf.h: New file, from GNU gettext.
91293         * lib/vasnprintf.c: New file, from GNU gettext.
91294         * lib/asnprintf.c: New file, from GNU gettext.
91295         * lib/vasprintf.h: New file, from GNU gettext with modifications.
91296         * lib/vasprintf.c: New file, from GNU gettext.
91297         * lib/asprintf.c: New file, from GNU gettext.
91298
91299 2003-01-29  Bruno Haible  <bruno@clisp.org>
91300
91301         * modules/stpncpy: New module.
91302         * MODULES.html.sh (func_all_modules): Add it.
91303
91304 2003-01-29  Bruno Haible  <bruno@clisp.org>
91305
91306         * m4/stpncpy.m4: New file.
91307
91308 2003-01-29  Bruno Haible  <bruno@clisp.org>
91309
91310         * lib/stpncpy.h: New file, from GNU gettext with modifications.
91311         * lib/stpncpy.c: New file, from GNU gettext with modifications.
91312
91313 2003-01-28  Bruno Haible  <bruno@clisp.org>
91314
91315         * modules/c-ctype: New module.
91316         * MODULES.html.sh (func_all_modules): Add it.
91317
91318 2003-01-28  Bruno Haible  <bruno@clisp.org>
91319
91320         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
91321         Paul Eggert.
91322         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
91323         Paul Eggert.
91324
91325 2003-01-27  Bruno Haible  <bruno@clisp.org>
91326
91327         * modules/xsetenv: New module.
91328         * MODULES.html.sh (func_all_modules): Add it.
91329
91330 2003-01-27  Bruno Haible  <bruno@clisp.org>
91331
91332         * lib/xsetenv.h: New file, from GNU gettext.
91333         * lib/xsetenv.c: New file, from GNU gettext.
91334
91335 2003-01-23  Jim Meyering  <jim@meyering.net>
91336
91337         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
91338         from working on systems without dirfd (at least Irix and OSF1/Tru64).
91339
91340 2003-01-23  Bruno Haible  <bruno@clisp.org>
91341
91342         * modules/minmax: New module.
91343         * MODULES.html.sh (func_all_modules): Add it.
91344
91345 2003-01-23  Bruno Haible  <bruno@clisp.org>
91346
91347         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
91348         Eggert.
91349
91350 2003-01-22  Bruno Haible  <bruno@clisp.org>
91351
91352         * modules/exit: New module.
91353         * MODULES.html.sh (func_all_modules): Add it.
91354
91355 2003-01-22  Bruno Haible  <bruno@clisp.org>
91356
91357         * lib/exit.h: New file, from GNU gettext.
91358
91359 2003-01-19  Bruno Haible  <bruno@clisp.org>
91360
91361         * gnulib-tool: Recognize option --extract-maintainer.
91362         (func_get_maintainer): New function.
91363         * modules/*: Add Maintainer entry.
91364
91365 2003-01-16  Jim Meyering  <jim@meyering.net>
91366
91367         * m4/regex.m4: The `regex' struct is both input and output.
91368         Initialize it before each use.  Patch by Tim Waugh.
91369
91370 2003-01-16  Bruno Haible  <bruno@clisp.org>
91371
91372         * MODULES.html.sh: Add a table of contents. Add the module name as
91373         leftmost column. Add hyperlinks.
91374
91375 2003-01-15  Bruno Haible  <bruno@clisp.org>
91376
91377         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
91378
91379 2003-01-15  Bruno Haible  <bruno@clisp.org>
91380
91381         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
91382         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
91383         suffix.
91384
91385 2003-01-15  Bruno Haible  <bruno@clisp.org>
91386
91387         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
91388
91389 2003-01-15  Bruno Haible  <bruno@clisp.org>
91390
91391         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
91392         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
91393
91394 2003-01-14  Jim Meyering  <jim@meyering.net>
91395
91396         * lib/same.c (same_name): Tweak a comment.
91397
91398 2003-01-14  Bruno Haible  <bruno@clisp.org>
91399
91400         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
91401         when a string comparison is sufficient.
91402
91403 2003-01-14  Bruno Haible  <bruno@clisp.org>
91404
91405         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
91406         'unsigned int'.
91407
91408 2003-01-14  Bruno Haible  <bruno@clisp.org>
91409
91410         * lib/hash-pjw.c: Add comment about low quality of this function.
91411
91412 2003-01-13  Bruno Haible  <bruno@clisp.org>
91413
91414         * modules/stpcpy: Distribute lib/stpcpy.h.
91415         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
91416
91417 2003-01-13  Bruno Haible  <bruno@clisp.org>
91418
91419         * modules/*: Add a description.
91420         * modules/strpbrk: Fix Makefile.am snippet.
91421         * modules/strtoimax: Fix dependencies.
91422         * modules/strtoumax: Likewise.
91423
91424 2003-01-13  Bruno Haible  <bruno@clisp.org>
91425
91426         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
91427         * modules/alloca (Makefile.am): All object files depend on alloca.h.
91428         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
91429
91430 2003-01-13  Bruno Haible  <bruno@clisp.org>
91431
91432         * gnulib-tool (func_create_testdir): Store config/* files in the main
91433         directory.
91434         * config.rpath: Move to ...
91435         * config/config.rpath: ... here.
91436         * modules/gettext: Contains config/config.rpath, not config.rpath.
91437         * modules/iconv: Likewise.
91438
91439 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91440
91441         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91442         to avoid collisions with libcurses and libreadline.
91443
91444         * m4/getstr.m4: Remove.
91445         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91446
91447 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91448
91449         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91450         to avoid collisions with libcurses and libreadline.
91451
91452         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91453         * lib/getstr.h, getstr.c: Remove.
91454         * lib/getline.c: Include "getline.h", to check interface.
91455         Move body of old getstr.c here: this defines MIN_CHUNK and
91456         declares getdelim2, which is renamed from getstr.
91457         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91458
91459         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91460         All uses changed.
91461         * lib/linebuffer.h: Likewise.
91462         (readline): Remove backward-compatibility macro.
91463
91464 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91465
91466         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91467         to avoid collisions with libcurses and libreadline.
91468         * getstr: Remove.
91469         * MODULES.html.sh: Remove getstr.
91470         * modules/getline: Depend on unlocked-io, not getstr.
91471
91472 2003-01-12  Jim Meyering  <jim@meyering.net>
91473
91474         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91475
91476 2003-01-10  Bruno Haible  <bruno@clisp.org>
91477
91478         * modules/alloca: Change Makefile.am requirements. Simplify Include
91479         requirements. Add lib/alloca_.h to file list.
91480
91481 2003-01-10  Bruno Haible  <bruno@clisp.org>
91482
91483         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91484
91485 2003-01-10  Bruno Haible  <bruno@clisp.org>
91486
91487         * lib/alloca_.h: New file.
91488         * lib/getdate.y: Unconditionally include alloca.h.
91489         * lib/makepath.c: Likewise.
91490         * lib/setenv.c: Likewise.
91491         * lib/userspec.c: Likewise.
91492
91493 2003-01-09  Karl Berry  <karl@gnu.org>
91494
91495         * MODULES.html.sh: include `dirname $0` in PATH, to find
91496         gnulib-tool.
91497
91498 2003-01-09  Bruno Haible  <bruno@clisp.org>
91499
91500         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91501         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91502
91503 2003-01-09  Bruno Haible  <bruno@clisp.org>
91504
91505         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91506
91507 2003-01-09  Bruno Haible  <bruno@clisp.org>
91508
91509         * lib/stdbool.h.in: New file.
91510
91511 2003-01-09  Bruno Haible  <bruno@clisp.org>
91512
91513         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91514         * MODULES.html.sh: Likewise.
91515
91516 2003-01-08  Jim Meyering  <jim@meyering.net>
91517
91518         * lib/full-write.c: Undefine and define-away `const' after inclusion
91519         of errno.h, not before.  Suggestion from Bruno Haible.
91520
91521 2003-01-08  Bruno Haible  <bruno@clisp.org>
91522
91523         * modules/full-read: Depend on full-write.
91524
91525 2003-01-08  Bruno Haible  <bruno@clisp.org>
91526
91527         * lib/safe-read.c: Include specification header first, to ensure its
91528         selfcontainedness.
91529         * lib/full-write.c: Likewise.
91530
91531 2003-01-07  Jim Meyering  <jim@meyering.net>
91532
91533         * lib/full-write.c: Rework so that it may serve to define full_read,
91534         too.
91535         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91536
91537 2003-01-07  Bruno Haible  <bruno@clisp.org>
91538
91539         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91540         <inttypes.h>.
91541         * lib/xstrtol.h: Likewise.
91542         * lib/xstrtoimax.c: Likewise.
91543         * lib/xstrtoumax.c: Likewise.
91544         * lib/human.h: Likewise.
91545
91546         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91547         on systems that have <inttypes.h> but not <stdint.h>.
91548
91549 2003-01-07  Bruno Haible  <bruno@clisp.org>
91550
91551         * MODULES.html.sh: Add copyright notice.
91552         (missed_files): Omit CVS directory entries.
91553         (func_module): Make it work with sed-3.02.
91554         * MODULES.txt: Remove file.
91555
91556 2003-01-06  Jim Meyering  <jim@meyering.net>
91557
91558         * lib/version-etc.c: Update year in translatable copyright string.
91559
91560 2003-01-03  Karl Berry  <karl@gnu.org>
91561
91562         * config/config.{guess,sub}: update from prep.
91563
91564 2003-01-02  Karl Berry  <karl@gnu.org>
91565
91566         * doc/COPYING.DOC: belatedly updated to 1.2.
91567
91568 2003-01-01  Karl Berry  <karl@gnu.org>
91569
91570         * gnulib-tool (func_verify_module): report module name $module in
91571         error message, not $1.
91572         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91573         be created, only if it doesn't exist.
91574         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91575
91576 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91577
91578         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91579
91580 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91581
91582         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91583         memcmp if strcoll doesn't work.
91584
91585 2002-12-31  Bruno Haible  <bruno@clisp.org>
91586
91587         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91588         nonempty.
91589
91590 2002-12-31  Bruno Haible  <bruno@clisp.org>
91591
91592         * lib/memcoll.c (STRCOLL): New macro.
91593         (memcoll): Use it.
91594
91595 2002-12-31  Bruno Haible  <bruno@clisp.org>
91596
91597         * lib/localcharset.h: New file.
91598         * lib/localcharset.c: Include it.
91599         * lib/unicodeio.c: Likewise.
91600
91601 2002-12-31  Bruno Haible  <bruno@clisp.org>
91602
91603         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
91604         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
91605
91606 2002-12-31  Bruno Haible  <bruno@clisp.org>
91607
91608         * lib/getline.h: Include <stddef.h>, for size_t.
91609
91610         * lib/unicodeio.h: Include <stddef.h>, for size_t.
91611         * lib/unicodeio.c: Don't include <stddef.h>.
91612
91613 2002-12-31  Bruno Haible  <bruno@clisp.org>
91614
91615         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
91616         HAVE_TM_ZONE.
91617
91618 2002-12-24  Karl Berry  <karl@gnu.org>
91619
91620         * config/config.guess: update from prep.
91621
91622 2002-12-24  Bruno Haible  <bruno@clisp.org>
91623
91624         General infrasructure.
91625         * m4/README: Rewritten.
91626         * m4/onceonly.m4: New file.
91627         * m4/onceonly_2_57.m4: New file.
91628
91629         Module atexit.
91630         * m4/atexit.m4: New file.
91631
91632         Module strtod.
91633         * m4/strtod.m4: New file.
91634
91635         Module strtol.
91636         * m4/strtol.m4: New file.
91637
91638         Module strtoul.
91639         * m4/strtoul.m4: New file.
91640
91641         Module memchr.
91642         * m4/memchr.m4: New file.
91643
91644         Module memcmp.
91645         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91646         (jm_FUNC_MEMCMP): Invoke it.
91647
91648         Module memcpy.
91649         * m4/memcpy.m4: New file.
91650
91651         Module memmove.
91652         * m4/memmove.m4: New file.
91653
91654         Module memset.
91655         * m4/memset.m4: New file.
91656
91657         Module strcspn.
91658         * m4/strcspn.m4: New file.
91659
91660         Module strpbrk.
91661         * m4/strpbrk.m4: New file.
91662
91663         Module strstr.
91664         * m4/strstr.m4: New file.
91665
91666         Module strerror.
91667         * m4/strerror.m4: New file.
91668
91669         Module mktime.
91670         * m4/mktime.m4: Renamed from jm-mktime.m4.
91671         (gl_PREREQ_MKTIME): New macro.
91672         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
91673
91674         Module malloc.
91675         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
91676         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
91677         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
91678
91679         Module realloc.
91680         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
91681         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
91682         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
91683
91684         Module strftime.
91685         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
91686         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
91687         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
91688         gl_TM_GMTOFF.
91689         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
91690
91691         Module xalloc.
91692         * m4/xalloc.m4: New file.
91693
91694         Module alloca.
91695         * m4/alloca.m4: New file.
91696
91697         Module putenv.
91698         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
91699         (jm_FUNC_PUTENV): Invoke it.
91700
91701         Module setenv.
91702         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
91703         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
91704         when invoked twice.
91705         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
91706         gt_FUNC_SETENV.
91707
91708         Module memrchr.
91709         * m4/memrchr.m4: New file.
91710
91711         Module stpcpy.
91712         * m4/stpcpy.m4: New file.
91713
91714         Module strcase.
91715         * m4/strcase.m4: New file.
91716
91717         Module strdup.
91718         * m4/strdup.m4: New file.
91719
91720         Module strnlen.
91721         * m4/strnlen.m4: New file.
91722
91723         Module strndup.
91724         * m4/strndup.m4: New file.
91725
91726         Module xstrtod.
91727         * m4/xstrtod.m4: New file.
91728
91729         Module xstrtol.
91730         * m4/xstrtol.m4: New file.
91731
91732         Module getdate.
91733         * m4/getdate.m4: New file.
91734
91735         Module unlocked-io.
91736         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
91737         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
91738         * m4/jm-glibc-io.m4n: Remove file.
91739
91740         Module long-options.
91741         * m4/long-options.m4: New file.
91742
91743         Module md5.
91744         * m4/md5.m4: New file.
91745
91746         Module sha.
91747         * m4/sha.m4: New file.
91748
91749         Module getstr.
91750         * m4/getstr.m4: New file.
91751
91752         Module getline.
91753         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
91754         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
91755         <sys/types.h>, for size_t. Use the function name gnu_getline, not
91756         simply getline. Infoke gl_PREREQ_GETLINE.
91757
91758         Module obstack.
91759         * m4/obstack.m4: New file.
91760
91761         Module hash.
91762         * m4/hash.m4: New file.
91763
91764         Module readtokens.
91765         * m4/readtokens.m4: New file.
91766
91767         Module strverscmp.
91768         * m4/strverscmp.m4: New file.
91769
91770         Module stdbool.
91771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
91772         OSF/1.
91773
91774         Module strtoll.
91775         * m4/strtoll.m4: New file.
91776
91777         Module strtoull.
91778         * m4/strtoull.m4: New file.
91779
91780         Module strtoimax.
91781         * m4/strtoimax.m4: New file.
91782
91783         Module strtoumax.
91784         * m4/strtoumax.m4: New file.
91785
91786         Module xstrtoimax.
91787         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
91788         jm_AC_PREREQ_XSTRTOIMAX.
91789         Moved the strtol prerequisites to strtol.m4.
91790         Moved the strtoll prerequisites to strtoll.m4.
91791         Moved the strtoimax prerequisites to strtoimax.m4.
91792
91793         Module xstrtoumax.
91794         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
91795         jm_AC_PREREQ_XSTRTOUMAX.
91796         Moved the strtoul prerequisites to strtoul.m4.
91797         Moved the strtoull prerequisites to strtoull.m4.
91798         Moved the strtoumax prerequisites to strtoumax.m4.
91799
91800         Module chown.
91801         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
91802         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
91803
91804         Module dup2.
91805         * m4/dup2.m4: New file.
91806
91807         Module ftruncate.
91808         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
91809         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
91810
91811         Module getgroups.
91812         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
91813         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
91814
91815         Module gettimeofday.
91816         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
91817         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
91818         gl_PREREQ_GETTIMEOFDAY.
91819
91820         Module mkdir.
91821         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
91822         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
91823
91824         Module mkstemp.
91825         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
91826         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
91827         jm_AC_TYPE_UINTMAX_T.
91828         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
91829
91830         Module stat.
91831         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
91832         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
91833
91834         Module lstat.
91835         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
91836         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
91837
91838         Module timespec.
91839         * m4/timespec.m4 (gl_TIMESPEC): New macro.
91840         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
91841         * m4/st_mtim.m4: Indentation.
91842
91843         Module nanosleep.
91844         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
91845         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
91846         gl_PREREQ_NANOSLEEP.
91847
91848         Module regex.
91849         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
91850         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
91851         (gl_REGEX): New macro.
91852
91853         Module rename.
91854         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
91855         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
91856
91857         Module rmdir.
91858         * m4/rmdir.m4: New file.
91859
91860         Module utime.
91861         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
91862         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
91863         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
91864
91865         Module dirname.
91866         * m4/dirname.m4: New file.
91867
91868         Module getopt.
91869         * m4/getopt.m4: New file.
91870
91871         Module unistd-safer.
91872         * m4/unistd-safer.m4: New file.
91873
91874         Module fnmatch.
91875         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
91876         declaration.
91877         (gl_PREREQ_FNMATCH_EXTRA): New macro.
91878         (gl_FUNC_FNMATCH_POSIX): New macro.
91879         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
91880         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
91881         simply fnmatch.
91882
91883         Module exclude.
91884         * m4/exclude.m4: New file.
91885
91886         Module human.
91887         * m4/human.m4: New file.
91888
91889         Module acl.
91890         * m4/acl.m4: Nop.
91891
91892         Module backupfile.
91893         * m4/backupfile.m4: New file.
91894         * m4/d-ino.m4: Indentation.
91895
91896         Module fsusage.
91897         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
91898         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
91899         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
91900
91901         Module dirfd.
91902         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
91903         requirements.
91904
91905         Module euidaccess.
91906         * m4/euidaccess.m4: New file.
91907
91908         Module file-type.
91909         * m4/file-type.m4: New file.
91910
91911         Module fileblocks.
91912         * m4/fileblocks.m4: New file.
91913
91914         Module filemode.
91915         * m4/filemode.m4: New file.
91916
91917         Module isdir.
91918         * m4/isdir.m4: New file.
91919
91920         Module lchown.
91921         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
91922         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
91923
91924         Module makepath.
91925         * m4/makepath.m4: New file.
91926
91927         Module modechange.
91928         * m4/modechange.m4: New file.
91929
91930         Module mountlist.
91931         * m4/mountlist.m4: New file.
91932         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
91933         Indentation.
91934
91935         Module path-concat.
91936         * m4/path-concat.m4: New file.
91937
91938         Module pathmax.
91939         * m4/pathmax.m4: New file.
91940
91941         Module same.
91942         * m4/same.m4: New file.
91943
91944         Module save-cwd.
91945         * m4/save-cwd.m4: New file.
91946
91947         Module savedir.
91948         * m4/savedir.m4: New file.
91949
91950         Module xgetcwd.
91951         * m4/xgetcwd.m4: New file.
91952         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
91953
91954         Module xreadlink.
91955         * m4/xreadlink.m4: New file.
91956
91957         Module safe-read.
91958         * m4/safe-read.m4: New file.
91959
91960         Module safe-write.
91961         * m4/safe-write.m4: New file.
91962
91963         Module closeout.
91964         * m4/closeout.m4: New file.
91965
91966         Module stdio-safer.
91967         * m4/stdio-safer.m4: New file.
91968
91969         Module getpass.
91970         * m4/getpass.m4: New file.
91971
91972         Module getugroups.
91973         * m4/getugroups.m4: New file.
91974
91975         Module group-member.
91976         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
91977         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
91978
91979         Module idcache.
91980         * m4/idcache.m4: New file.
91981
91982         Module userspec.
91983         * m4/userspec.m4: New file.
91984
91985         Module gettime.
91986         * m4/clock_time.m4: New file.
91987         * m4/gettime.m4: New file.
91988
91989         Module settime.
91990         * m4/settime.m4: New file.
91991
91992         Module posixtm.
91993         * m4/posixtm.m4: New file.
91994
91995         Module gethostname.
91996         * m4/gethostname.m4: New file.
91997
91998         Module canon-host.
91999         * m4/canon-host.m4: New file.
92000
92001         Module gettext.
92002         * m4/codeset.m4: New file, from gettext-0.11.5.
92003         * m4/gettext.m4: New file, from gettext-0.11.5.
92004         * m4/glibc21.m4: New file, from gettext-0.11.5.
92005         * m4/iconv.m4: New file, from gettext-0.11.5.
92006         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92007         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92008         * m4/inttypes.m4: New file, from gettext-0.11.5.
92009         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92010         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92011         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92012         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92013         * m4/lib-link.m4: New file, from gettext-0.11.5.
92014         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92015         * m4/progtest.m4: New file, from gettext-0.11.5.
92016         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92017         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92018         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92019
92020         Module localcharset.
92021         * m4/localcharset.m4: New file.
92022
92023         Module hard-locale.
92024         * m4/hard-locale.m4: New file.
92025
92026         Module mbswidth.
92027         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92028         onceonly macros.
92029         * m4/mbrtowc.m4: Add comment.
92030
92031         Module memcasecmp.
92032         * m4/memcasecmp.m4: New file.
92033
92034         Module memcoll.
92035         * m4/memcoll.m4: New file.
92036
92037         Module unicodeio.
92038         * m4/unicodeio.m4: New file.
92039
92040         Module rpmatch.
92041         * m4/rpmatch.m4: New file.
92042
92043         Module yesno.
92044         * m4/yesno.m4: New file.
92045
92046         Module exitfail.
92047         * m4/exitfail.m4: New file.
92048
92049         Module c-stack.
92050         * m4/c-stack.m4 (gl_C_STACK): New macro.
92051         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92052
92053         Module error.
92054         * m4/error.m4 (gl_ERROR): New macro.
92055         (jm_PREREQ_ERROR): Use onceonly macros.
92056
92057         Module fatal.
92058         * m4/fatal.m4: New file.
92059
92060         Module getloadavg.
92061         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92062         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92063
92064         Module getpagesize.
92065         * m4/getpagesize.m4: New file.
92066
92067         Module getusershell.
92068         * m4/getusershell.m4: New file.
92069
92070         Module physmem.
92071         * m4/physmem.m4: New file.
92072
92073         Module posixver.
92074         * m4/posixver.m4: New file.
92075
92076         Module quotearg.
92077         * m4/quotearg.m4: New file.
92078
92079         Module quote.
92080         * m4/quote.m4: New file.
92081
92082         Module readutmp.
92083         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
92084
92085         Module sig2str.
92086         * m4/sig2str.m4: New file.
92087
92088         Other.
92089         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
92090         ulonglong.m4.
92091         * m4/intmax_t.m4: New file.
92092         * m4/d-type.m4: Indentation.
92093         * m4/jm-macros.m4: Update.
92094         * m4/prereq.m4 (jm_PREREQ): Update.
92095         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
92096         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
92097         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
92098         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
92099         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
92100         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
92101         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
92102         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
92103         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
92104         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
92105         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
92106         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
92107         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
92108         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
92109         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
92110         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
92111         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
92112         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
92113         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
92114
92115 2002-12-24  Bruno Haible  <bruno@clisp.org>
92116
92117         * MODULES.txt: Update according to m4/ changes.
92118
92119         Module gettext.
92120         * config.rpath: New file, from gettext-0.11.5.
92121
92122         * modules/*: New module descriptions.
92123         * gnulib-tool: New file.
92124         * MODULES.html.sh: New file.
92125
92126 2002-12-21  Karl Berry  <karl@gnu.org>
92127
92128         * doc/fdl.texi: update to version 1.2.
92129
92130 2002-12-19  Karl Berry  <karl@gnu.org>
92131
92132         * config/config.guess: update from prep.
92133
92134 2002-12-18  Bruno Haible  <bruno@clisp.org>
92135
92136         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
92137         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
92138
92139 2002-12-17  Bruno Haible  <bruno@clisp.org>
92140
92141         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
92142         stdlib.h, string.h.
92143
92144 2002-12-17  Bruno Haible  <bruno@clisp.org>
92145
92146         * lib/canon-host.c (strdup): Remove unused declaration.
92147
92148         * lib/fsusage.c: Include full_read.h.
92149         (get_fs_usage): Use full_read instead of safe_read.
92150
92151         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
92152
92153 2002-12-12  Karl Berry  <karl@gnu.org>
92154
92155         * config/config.guess: update from prep.
92156
92157 2002-12-11  Bruno Haible  <bruno@clisp.org>
92158
92159         * m4/setenv.m4: New file, from gettext-0.11.5.
92160
92161 2002-12-11  Bruno Haible  <bruno@clisp.org>
92162
92163         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
92164         not unsetenv().
92165         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
92166         modifications:
92167
92168         2002-12-11  Bruno Haible  <bruno@clisp.org>
92169
92170                 * setenv.c (alloca): Fall back to malloc.
92171                 (freea): New macro.
92172                 (setenv): Use freea() to free memory allocated with alloca().
92173
92174         2002-11-13  Bruno Haible  <bruno@clisp.org>
92175
92176                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
92177                 function declarations.
92178                 * unsetenv.c (unsetenv): Likewise.
92179
92180         2002-03-04  Bruno Haible  <bruno@clisp.org>
92181
92182                 Portability to AIX 4.3.3.
92183                 * unsetenv.c: New file, extracted from setenv.c.
92184                 * setenv.c: Move the unsetenv() function to unsetenv.c.
92185
92186         2001-12-20  Bruno Haible  <bruno@clisp.org>
92187
92188                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
92189                 use malloc instead. For SunOS 4.
92190
92191         2001-12-11  Bruno Haible  <bruno@clisp.org>
92192
92193                 * setenv.c: Declare alloca.
92194                 (compar_fn_t): New typedef.
92195                 (KNOWN_VALUE, STORE_VALUE): Use it.
92196
92197         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
92198         setenv.h.
92199
92200 2002-12-10  Paul Eggert  <eggert@twinsun.com>
92201
92202         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
92203         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
92204         Choose values that are less likely to collide with system fnmatch
92205         options.
92206         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
92207         defined (e.g., a pure POSIX system).
92208         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
92209         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
92210
92211 2002-12-06  Paul Eggert  <eggert@twinsun.com>
92212
92213         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
92214         a pain in practice to deal with generated m4 files.  This change
92215         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
92216
92217         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
92218         and jm-glibc-io.m4, as they are no longer a special case.
92219         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
92220         kludge and the auto-generation stuff.  Check only whether the
92221         functions are declared, not whether they exist, since older hosts
92222         that don't declare the functions can't use the optimization anyway.
92223
92224 2002-12-06  Jim Meyering  <jim@meyering.net>
92225
92226         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
92227
92228         Merge in changes from libc's misc/error.c, in preparation
92229         for the merge of gnulib's changes back into libc.
92230
92231         * lib/error.c (_): Define only if not already defined.
92232         Move definition to follow all #include directives.
92233         Include unlocked-io.h only if !_LIBC.
92234         [_LIBC]: Include <libio/libioP.h>.
92235         [USE_IN_LIBIO]: Include <libio/iolibio.h>
92236         (fflush): Tweak definition to use INTUSE.
92237         (putc): Define.
92238
92239 2002-12-05  Paul Eggert  <eggert@twinsun.com>
92240
92241         * lib/alloca.c [defined emacs]: Include "lisp.h".
92242         (xalloc_die) [defined emacs]: New macro.
92243         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
92244         [! defined emacs]: Include <xalloc.h>.
92245         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
92246         (pointer): Typedef to POINTER_TYPE *.
92247         (malloc): Remove decl; we now always use xmalloc.
92248         (alloca): Use old-style definition, since Emacs needs this.
92249         Check for arithmetic overflow when computing combined size.
92250
92251 2002-12-04  Paul Eggert  <eggert@twinsun.com>
92252
92253         Do not generate unlocked-io.h automatically, since it's easier to
92254         maintain it by hand.
92255
92256         * lib/unlocked-io.h: New file, from GNU diffutils,
92257         but with proper copyright notice and attribution.
92258         * lib/gen-uio: Remove.
92259         * lib/Makefile.am: Add copyright notice.
92260         (libfetish_a_SOURCES): Add unlocked-io.h.
92261         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
92262         (DISTCLEANFILES, io_functions): Remove macros.
92263         (EXTRA_DIST): Remove gen_uio.
92264         (unlocked-io.h): Remove rule.
92265
92266 2002-12-04  Jim Meyering  <jim@meyering.net>
92267
92268         Reflect the fact that stat.c and lstat.c are no longer generated.
92269         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
92270         (DISTCLEANFILES): Likewise.
92271         (EXTRA_DIST): Likewise.
92272         (all_local): Don't depend on stat.c or lstat.c.
92273         (stat.c, lstat.c): Remove rules.
92274         (EXTRA_DIST): Remove xstat.in.
92275
92276         * lib/xstat.in: Remove file.  Contents moved into stat.c.
92277         * lib/stat.c: New file.  Contents mostly from xstat.in.
92278         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
92279         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
92280
92281         * lib/safe-read.c: Rework so that it may serve to define safe_write,
92282         too.
92283         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
92284
92285 2002-12-03  Jim Meyering  <jim@meyering.net>
92286
92287         * lib/safe-read.c, safe-write.c: Change variable names and comments,
92288         but not semantics, to minimize the differences between these two files.
92289         (safe_read): Change comment to mention SAFE_READ_ERROR.
92290
92291         * lib/safe-read.c (IS_EINTR): Define.
92292         (safe_read): Use IS_EINTR in place of in-function cpp directives.
92293
92294 2002-12-02  Jim Meyering  <jim@meyering.net>
92295
92296         * lib/safe-read.c (EINTR): Define.
92297         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92298         (INT_MAX): Provide fallback.
92299         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
92300
92301         * lib/safe-read.h (SAFE_READ_ERROR): Define.
92302
92303 2002-12-02  Bruno Haible  <bruno@clisp.org>
92304
92305         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
92306         Define, taken from safe-read.c.
92307         (INT_MAX): Provide fallback.
92308         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
92309         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
92310
92311         * lib/safe-read.c (EINTR): Remove definition.
92312         (safe_read): Don't use EINTR if it is absent.
92313
92314 2002-12-01  Jim Meyering  <jim@meyering.net>
92315
92316         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
92317         zero.
92318         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
92319
92320 2002-11-27  Paul Eggert  <eggert@twinsun.com>
92321
92322         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
92323         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
92324         with `if (! (value < limit)) abort ();', for readability.
92325
92326 2002-11-26  Karl Berry  <karl@gnu.org>
92327
92328         * lib/strdup.c: copy from libc again, with jim's ok.
92329         * lib/.cppi-disable: re-add strdup.c
92330
92331 2002-11-25  Karl Berry  <karl@gnu.org>
92332
92333         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
92334         instead of "strtol.c".
92335
92336 2002-11-25  Karl Berry  <karl@gnu.org>
92337
92338         * config/install-sh: update from automake for variable quoting, $0 in
92339         error msgs, etc.
92340
92341         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
92342         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
92343         entry.
92344
92345 2002-11-25  Jim Meyering  <jim@meyering.net>
92346
92347         * lib/mktime.c: Sync from libc, now that it has the latest fix.
92348
92349 2002-11-24  Karl Berry  <karl@gnu.org>
92350
92351         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
92352         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
92353
92354 2002-11-24  Jim Meyering  <jim@meyering.net>
92355
92356         Update from coreutils:
92357
92358         * lib/mktime.c: Merge in changes from libc.
92359
92360         Avoid a link-time failure on some Linux systems.
92361         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
92362         (otherwise).
92363         (__mon_yday): Declare with the STATIC attribute.
92364         (__mktime_internal): Likewise.
92365         Based on a report from Greg Schafer.
92366
92367 2002-11-23  Jim Meyering  <jim@meyering.net>
92368
92369         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
92370         Use `unsigned', not `int', as type of index.
92371
92372         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
92373
92374         * lib/fsusage.c: Remove unneeded parentheses around operands of
92375         `defined'.
92376
92377 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92378
92379         * lib/quotearg.h: Allow multiple inclusion by surrounding with
92380         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
92381         so that we can be included first.
92382         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
92383         * lib/quotearg.c: Include quotearg.h immediately after config.h.
92384         No need to include stddef.h or sys/types.h any more.
92385         Surround local include files with "", not "<>".
92386         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
92387         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
92388         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
92389         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
92390         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
92391         (ISPRINT): Remove; no longer needed now that we assume C89.
92392
92393         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
92394         Preserve errno.
92395
92396         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
92397         quotearg_char): Use SIZE_MAX rather than
92398         (size_t) -1 when we are talking about "infinity".
92399
92400         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
92401
92402 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92403
92404         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
92405         hint that one should use `if (! x) abort ();' rather than `assert
92406         (x);', and anyway it's one less thing to worry about configuring.
92407         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
92408         hash_rehash, hash_insert): Use abort rather than assert.
92409
92410 2002-11-22  Bruno Haible  <bruno@clisp.org>
92411
92412         * lib/safe-read.h: Assume C89. Add comments.
92413         (safe_read): Change return type to size_t.
92414         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
92415         byte counts > SSIZE_MAX correctly.
92416         * lib/safe-write.h: New file.
92417         * lib/safe-write.c: New file.
92418         * lib/full-read.h: New file.
92419         * lib/full-read.c: New file.
92420         * lib/full-write.h: Assume C89. Add comments.
92421         * lib/full-write.c: Include safe-write.h.
92422         (full_write): Rewritten to use safe_write.
92423         Suggested by Jim Meyering and Paul Eggert.
92424
92425 2002-11-21  Jim Meyering  <jim@meyering.net>
92426
92427         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
92428
92429         Merge in changes from the coreutils.
92430
92431         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92432         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92433         <stdint.h>.
92434         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92435         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92436         int.  Work more efficiently if X is the same width as uintmax_t.
92437         Do not compare X to -1, to avoid bogus compiler warning.
92438         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92439         Don't assume that f_frsize and f_bsize are the same type.
92440
92441         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92442         warning on FreeBSD.
92443
92444         * lib/makepath.c (make_path): Restore umask *before* creating the final
92445         component.
92446         (make_path): Minor reformatting.
92447
92448         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92449         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92450         HAVE_MALLOC/HAVE_REALLOC.
92451
92452         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92453         dummy ones.  At least on GNU/Linux systems, `auto' means something
92454         else.
92455         From Michael Stone.
92456
92457 2002-11-21  Bruno Haible  <bruno@clisp.org>
92458
92459         Remove case insensitive option matching.
92460         * lib/argmatch.h (argcasematch): Remove declaration.
92461         (ARGCASEMATCH): Remove macro.
92462         (__xargmatch_internal): Remove case_sensitive argument.
92463         (XARGMATCH): Update.
92464         (XARGCASEMATCH): Remove macro.
92465         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92466         case_sensitive argument.
92467         (argcasematch): Remove function.
92468         (__xargmatch_internal): Remove case_sensitive argument.
92469         (main): Use XARGMATCH instead of XARGCASEMATCH.
92470
92471         * lib/xmalloc.c: Change compile-time error message. Add comment about
92472         required autoconf version.
92473
92474 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92475
92476         Merge argmatch cleanups from Bison.  Assume C89.
92477
92478         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92479         Include stdlib.h, for EXIT_FAILURE.
92480         Always include <string.h>, since we assume C89.
92481         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92482         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92483         Include <stddef.h> instead, since it's all we need for size_t.
92484         (PARAMS): Remove.  All uses removed.
92485         (ARRAY_CARDINALITY): Do not bother to #undef.
92486         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92487         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92488         Remove unnecessary parentheses.
92489         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92490         Insert necessary parentheses.
92491         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92492         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92493
92494 2002-11-19  Bruno Haible  <bruno@clisp.org>
92495
92496         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92497         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92498
92499         * lib/mbswidth.h (PARAMS): Remove macro.
92500         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92501         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92502
92503         * lib/gcd.h (PARAMS): Remove macro.
92504         (gcd): Use ANSI C function declarations.
92505         * lib/gcd.c (gcd): Likewise.
92506
92507 2002-11-15  Bruno Haible  <bruno@clisp.org>
92508
92509         * lib/strcspn.c: Include <stddef.h>.
92510         (strcspn): Use ANSI C function declaration. Change return type to
92511         size_t. Use NULL.
92512         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92513         (strpbrk): Use NULL.
92514         * lib/strpbrk.h (PARAMS): Remove macro.
92515         (strpbrk): Use ANSI C function declaration.
92516         * lib/strstr.c: Don't include <sys/types.h>.
92517         * lib/strstr.h (PARAMS): Remove macro.
92518         (strstr): Use ANSI C function declarations.
92519
92520 2002-11-14  Karl Berry  <karl@gnu.org>
92521
92522         * config/mkinstalldirs: `do' on separate line, instead of
92523         `for var; do'.
92524
92525 2002-11-06  Bruno Haible  <bruno@clisp.org>
92526
92527         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92528         * lib/gcd.c (gcd): Likewise.
92529
92530 2002-11-05  Bruno Haible  <bruno@clisp.org>
92531
92532         * lib/gcd.h: New file, from gettext-0.11.5.
92533         * lib/gcd.c: New file, from gettext-0.11.5.
92534
92535 2002-11-05  Bruno Haible  <bruno@clisp.org>
92536
92537         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92538         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92539         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92540         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92541
92542         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92543         <libintl.h>.
92544         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92545         <libintl.h>.
92546
92547         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92548         * lib/human.c: Include gettext.h instead of <libintl.h>.
92549         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92550         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92551         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92552         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92553         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92554         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92555         (textdomain): Remove definition.
92556         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92557
92558         * lib/long-options.c: Remove include of <libintl.h> and definition of
92559         _.
92560         * lib/same.c: Remove include of <libintl.h> and definition of _.
92561
92562 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92563
92564         * lib/config.charset: A few additions for Solaris.
92565
92566 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92567
92568         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92569         * lib/localcharset.c (locale_charset): Declare as extern "C".
92570
92571 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92572
92573         * lib/config.charset: msdos in uk_UA uses CP1125.
92574
92575 2002-11-04  Bruno Haible  <bruno@clisp.org>
92576
92577         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92578         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92579         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92580         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92581         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92582
92583 2002-11-04  Bruno Haible  <bruno@clisp.org>
92584
92585         * lib/localcharset.c (locale_charset): Don't return an empty string.
92586
92587 2002-11-04  Bruno Haible  <bruno@clisp.org>
92588
92589         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92590         aliases.
92591
92592 2002-11-04  Bruno Haible  <bruno@clisp.org>
92593
92594         * lib/config.charset: Update for newest glibc. Add canonical names
92595         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92596
92597 2002-11-04  Bruno Haible  <bruno@clisp.org>
92598
92599         * lib/config.charset: Add support for NetBSD.
92600
92601 2002-11-04  Bruno Haible  <bruno@clisp.org>
92602
92603         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
92604
92605 2002-11-01  Bruno Haible  <bruno@clisp.org>
92606
92607         * configure.in: Add AC_CONFIG_AUX_DIR call.
92608         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
92609         test/Makefile.
92610         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
92611
92612 2002-09-28  Karl Berry  <karl@gnu.org>
92613
92614         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
92615         installed automake until the next release, since changes have been
92616         made.
92617
92618 2002-09-25  Karl Berry  <karl@gnu.org>
92619
92620         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
92621         * lib/getopt*: copy from libc/posix.
92622         * lib/gettext.h: copy from gettext.
92623         * lib/.cppi-disable: add strdup.c, gettext.h.
92624
92625 2002-09-25  Karl Berry  <karl@gnu.org>
92626
92627         * config/srclist.txt: enable gettext.h check.
92628         * config/config.{guess,sub}: update from prep.
92629         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
92630                 from automake 1.6.3.
92631         See srclist*.
92632
92633 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
92634
92635         * regex.c (PATFETCH): Remove the translating fetch.
92636         (PATFETCH_RAW): Rename to PATFETCH.
92637         (set_image_of_range): New fun.
92638         (SET_RANGE_TABLE_WORK_AREA): Use it.
92639         (regex_compile): Don't translate the pattern chars so eagerly.
92640         Only do it when inserting an `exactn' bytecode or when handling
92641         a char-range.
92642         (mutually_exclusive_p): Avoid empty statement.
92643
92644 2002-07-06  Jim Meyering  <meyering@lucent.com>
92645
92646         * m4/README: Don't mention Makefile.am.in.
92647         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92648
92649 2002-07-01  Jim Meyering  <meyering@lucent.com>
92650
92651         * lib/c-stack.c: Include sys/time.h.
92652         From Volker Borchert.
92653
92654 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92655
92656         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92657
92658 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92659
92660         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92661         New macro.  Use it uniformly instead of
92662         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
92663         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
92664         reported by Vin Shelton.
92665
92666 2002-06-22  Paul Eggert  <eggert@twinsun.com>
92667
92668         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
92669         Do not assume SA_SIGINFO behavior.
92670         Bug reported by Jim Meyering on NetBSD 1.5.2.
92671
92672 2002-06-22  Jim Meyering  <meyering@lucent.com>
92673
92674         * m4/c-stack.m4: New file, from diffutils-2.8.2.
92675         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
92676
92677         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
92678         now that configure.ac uses AC_GNU_SOURCE.
92679         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
92680         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
92681
92682         Update to latest tools.  Suggestions from Paul Eggert.
92683         * m4/stdbool.m4: New file, from diffutils-2.8.2.
92684         * m4/gnu-source.m4: Update from diffutils-2.8.2.
92685         * m4/fnmatch.m4: Likewise.
92686         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
92687         to AC_HEADER_STDBOOL
92688
92689 2002-06-22  Jim Meyering  <meyering@lucent.com>
92690
92691         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
92692         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
92693
92694 2002-06-22  Jim Meyering  <meyering@lucent.com>
92695
92696         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
92697
92698         * lib/exitfail.c, exitfail.h: Likewise.
92699         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
92700
92701         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
92702         of fnmatch.h.
92703         (EXTRA_DIST): Add fnmatch_loop.c.
92704         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
92705
92706         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
92707         * lib/fnmatch.c: Update from diffutils-2.8.2.
92708         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
92709         * lib/fnmatch.h: Remove file.
92710
92711 2002-06-21  Jim Meyering  <meyering@lucent.com>
92712
92713         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
92714         * m4/mbrtowc.m4: Likewise.
92715
92716         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
92717         * m4/mbswidth.m4: Reflect name change:
92718         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
92719         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92720
92721         * m4/lib-link.m4: Update from gettext-0.11.2.
92722         * m4/gettext.m4: Likewise.
92723
92724         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
92725         From Alfred M. Szmidt.
92726
92727 2002-06-18  Paul Eggert  <eggert@twinsun.com>
92728
92729         * lib/file-type.h: Report an error if neither S_ISREG nor
92730         S_IFREG is defined, instead of using a test specific to glibc
92731         2.2.  This should be safe, since POSIX requires S_ISREG and
92732         Unix Version 7 had S_IFREG.  We don't need to check for
92733         <sys/types.h> since we don't use any symbols that it defines.
92734
92735 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
92736
92737         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
92738         $@-t, so that each temporary file name is unique and valid in the first
92739         8 characters, for operation under DOS.
92740
92741 2002-06-15  Paul Eggert  <eggert@twinsun.com>
92742
92743         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
92744
92745 2002-06-15  Jim Meyering  <meyering@lucent.com>
92746
92747         Work even with DJGPP 2.03, which lacks support for symlinks.
92748         From Richard Dawe.
92749         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
92750         is defined.
92751         * lib/lchown.c (S_ISLNK): Likewise.
92752
92753 2002-06-15  Jim Meyering  <meyering@lucent.com>
92754
92755         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
92756         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
92757         have been included before this file.
92758
92759 2002-06-14  Jim Meyering  <meyering@lucent.com>
92760
92761         * lib/file-type.h: Use the version from diffutils-2.8.2.
92762         * lib/file-type.c: Likewise.
92763
92764 2002-06-07  Jim Meyering  <meyering@lucent.com>
92765
92766         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
92767         They're needed at least for NetBSD 1.5.2.
92768         ($statxfs_includes): Include those same headers.
92769         ($statxfs_includes): Include sys/vfs.h if available.
92770         ($statxfs_includes): Likewise for sys/statvfs.h.
92771         Check for the following members in both structs statfs and statvfs:
92772         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
92773
92774 2002-06-01  Jim Meyering  <meyering@lucent.com>
92775
92776         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
92777         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
92778
92779 2002-05-28  Jim Meyering  <meyering@lucent.com>
92780
92781         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
92782         Reported by Volker Borchert.
92783
92784 2002-05-27  Jim Meyering  <meyering@lucent.com>
92785
92786         Fix a problem seen only on nonconforming systems whereby ls.c's
92787         use of localtime, and then of gettimeofday would cause trouble:
92788         the localtime call used to initialize rpl_gettimeofday's save
92789         mechanism would clobber ls's current local time information so
92790         that in any long listing the first file would always be listed
92791         with date 1970-01-01.  Analysis by Volker Borchert.
92792
92793         * lib/gettimeofday.c (localtime): Undefine.
92794         (rpl_localtime): New function.
92795
92796 2002-05-27  Jim Meyering  <meyering@lucent.com>
92797
92798         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
92799         localtime.
92800
92801         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
92802         use the replacement function; it wouldn't resolve at link time.
92803         Reported by Volker Borchert.
92804
92805 2002-05-22  Jim Meyering  <meyering@lucent.com>
92806
92807         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
92808         file-type.h.
92809         * lib/file-type.h: New file.
92810         * lib/file-type.c (file_type): New file/function.  Extracted from
92811         diffutils.
92812
92813 2002-04-30  Jim Meyering  <meyering@lucent.com>
92814
92815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
92816
92817 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92818
92819         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
92820
92821 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92822
92823         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
92824         Do not check for alloca.h (no longer used) or stdbool.h (was never
92825         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
92826
92827 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92828
92829         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
92830
92831 2002-04-29  Jim Meyering  <meyering@lucent.com>
92832
92833         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
92834         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
92835         Use AC_FUNC_STRNLEN here instead.
92836
92837         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
92838         With autoconf-2.53a, it's part of AC_PROG_CC.
92839
92840 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92841
92842         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
92843         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
92844
92845 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92846
92847         * lib/sig2str.h, lib/sig2str.c: New files.
92848         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
92849
92850 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92851
92852         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
92853         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
92854         of 127, since 64 is the largest conceivable number for ancient
92855         nonstandard hosts.
92856         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
92857
92858 2002-04-28  Jim Meyering  <meyering@lucent.com>
92859
92860         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
92861
92862 2002-04-24  Jim Meyering  <meyering@lucent.com>
92863
92864         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
92865         (jm_PREREQ): Use it.
92866
92867         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
92868         mach/mach.h fcntl.h.
92869         Check for this function: setlocale.
92870
92871 2002-04-24  Jim Meyering  <meyering@lucent.com>
92872
92873         * lib/gettext.h: New file, from Gettext.
92874         * lib/Makefile.am (INCLUDES): Remove -I../intl.
92875         (libfetish_a_SOURCES): Add gettext.h.
92876
92877 2002-04-16  Jim Meyering  <meyering@lucent.com>
92878
92879         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
92880         ut_pid, ut_id, ut_exit.
92881
92882 2002-04-16  Jim Meyering  <meyering@lucent.com>
92883
92884         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
92885         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
92886         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
92887
92888 2002-04-12  Jim Meyering  <meyering@lucent.com>
92889
92890         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
92891         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
92892         existence of the getmntinfo function.  Needed for Darwin 5.3.
92893
92894         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
92895         This is necessary at least on Darwin 5.3.
92896
92897         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
92898         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
92899         strnlen.o in the library, and that makes some versions of ranlib
92900         object.
92901
92902 2002-04-12  Jim Meyering  <meyering@lucent.com>
92903
92904         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
92905
92906 2002-04-09  Jim Meyering  <meyering@lucent.com>
92907
92908         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
92909         to be more precise.  Rather than saying we're checking whether the
92910         function `works', say what we're testing.
92911         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
92912         Reported by Bruno Haible.
92913
92914 2002-03-10  Jim Meyering  <meyering@lucent.com>
92915
92916         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
92917         Suggestion from Santiago Vila.
92918
92919 2002-03-08  Jim Meyering  <meyering@lucent.com>
92920
92921         * lib/rename.c: Mention that this wrapper is needed also on
92922         mips-dec-ultrix4.4 systems.
92923
92924 2002-03-02  Jim Meyering  <meyering@lucent.com>
92925
92926         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
92927         not HAVE_CLOCK_SETTIME.
92928
92929 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92930
92931         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
92932         Check for clock_settime.
92933
92934 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92935
92936         * lib/nanosleep.h: Rename to....
92937         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
92938
92939         * lib/gettime.c: New file.
92940         * lib/settime.c: New file.
92941         * lib/stime.c: Remove.
92942
92943         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
92944         timespec.h.  Remove nanosleep.h.
92945
92946 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92947
92948         * m4/acl.m4: New file.
92949         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
92950         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
92951
92952 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92953
92954         * lib/acl.c, lib/acl.h: New files.
92955         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
92956
92957 2002-02-24  Jim Meyering  <meyering@lucent.com>
92958
92959         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
92960         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
92961         cause trouble.  Reported by Nelson Beebe.
92962
92963 2002-02-23  Paul Eggert  <eggert@twinsun.com>
92964
92965         * lib/path-concat.c (xpath_concat): Reorder code to pacify
92966         compilers that don't know that xalloc_die never returns.
92967
92968 2002-02-20  Jim Meyering  <meyering@lucent.com>
92969
92970         * lib/getdate.c: Regenerate using bison-1.33.
92971
92972 2002-02-17  Jim Meyering  <meyering@lucent.com>
92973
92974         * config/config.guess (main): Don't use `head -1'; it's no longer
92975         portable. Use `sed 1q' instead.
92976
92977 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
92978
92979         * m4/codeset.m4: Upgrade to gettext-0.11.
92980         * m4/gettext.m4: Upgrade to gettext-0.11.
92981         * m4/glibc21.m4: Upgrade to gettext-0.11.
92982         * m4/iconv.m4: Upgrade to gettext-0.11.
92983         * m4/isc-posix.m4: Upgrade to gettext-0.11.
92984         * m4/lcmessage.m4: Upgrade to gettext-0.11.
92985         * m4/lib-ld.m4: New file, from gettext-0.11.
92986         * m4/lib-link.m4: New file, from gettext-0.11.
92987         * m4/lib-prefix.m4: New file, from gettext-0.11.
92988         * m4/progtest.m4: Upgrade to gettext-0.11.
92989
92990 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92991
92992         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
92993         (jm_PREREQ): Use it.
92994
92995 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92996
92997         * lib/posixver.c, lib/posixver.h: New files.
92998         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92999
93000 2002-02-02  Paul Eggert  <eggert@twinsun.com>
93001             Bruno Haible  <bruno@clisp.org>
93002
93003         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
93004         (fwrite_success_callback): New declaration.
93005         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
93006         print_unicode_char. Call failure callback instead of error.
93007         (fwrite_success_callback): New function.
93008         (exit_failure_callback): New function.
93009         (fallback_failure_callback): New function.
93010         (print_unicode_char): Call unicode_to_mb.
93011
93012 2002-01-26  Jim Meyering  <meyering@lucent.com>
93013
93014         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93015         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93016
93017 2002-01-26  Jim Meyering  <meyering@lucent.com>
93018
93019         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93020
93021 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93022
93023         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93024
93025 2002-01-22  Jim Meyering  <meyering@lucent.com>
93026
93027         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93028         Otherwise, some versions of automake would omit the rule that makes
93029         Makefile from Makefile.in.
93030
93031 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93032
93033         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93034         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93035         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93036         (memcoll): Set errno to zero if there is no error.
93037
93038         * lib/quotearg.c (quotearg_buffer_restyled):
93039         Fix bug with quoting buffers containing NUL when backslashing escapes.
93040         This bug was exposed by the other changes in this patch.
93041         (quotearg_n_options): New arg ARGSIZE.
93042         All callers changed.
93043         (quoting_options_from_style): New function.
93044         (quotearg_n_style): Use it.
93045         (quotearg_n_style_mem): New function.
93046
93047         * lib/quotearg.h (quotearg_n_style_mem): New function.
93048
93049 2002-01-19  Jim Meyering  <meyering@lucent.com>
93050
93051         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93052         Remove useless quotes: DF_PROG="df".
93053         * m4/strnlen.m4: New file.
93054
93055 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93056
93057         * lib/backupfile.c (ISDIGIT): Comment fix.
93058         * lib/getdate.y (ISDIGIT): Likewise.
93059         * lib/posixtm.c (ISDIGIT, year): Likewise.
93060         * lib/strverscmp.c (ISDIGIT): Likewise.
93061         * lib/userspec.c (ISDIGIT): Likewise.
93062
93063 2002-01-16  Jim Meyering  <meyering@lucent.com>
93064
93065         * lib/getdate.y: Add three semicolons, each just before a closing
93066         brace. Bison (as of version 1.31) no longer papers over that mistake.
93067
93068 2002-01-05  Jim Meyering  <meyering@lucent.com>
93069
93070         * lib/version-etc.c (version_etc_copyright): Update copyright year.
93071
93072 2001-12-19  Paul Eggert  <eggert@twinsun.com>
93073
93074         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
93075         not silently exit merely because the output buffer happens to
93076         have nothing pending.
93077
93078 2001-12-18  Paul Eggert  <eggert@twinsun.com>
93079
93080         See the big note in ../ChangeLog.
93081         * lib/human.c (suffixes): Prefer K to k for 1024.
93082         (generate_suffix_backwards): New function.
93083         (human_readable_inexact): Use it.
93084         * lib/xstrtol.c (__xstrtol): If there is no number but there
93085         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
93086         Accept 'K' as well as 'k'.
93087
93088 2001-12-15  Jim Meyering  <meyering@lucent.com>
93089
93090         * lib/regex.h (__restrict_arr): Update from libc.
93091
93092         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
93093         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
93094         (STREQ): Define.
93095
93096 2001-12-14  Jim Meyering  <meyering@lucent.com>
93097
93098         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
93099         Suggestion from Bruno Haible.
93100
93101 2001-12-10  Jim Meyering  <meyering@lucent.com>
93102
93103         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
93104         xrealloc, Instead, include "xalloc.h".
93105         (initbuffer): Don't cast xmalloc return value to char*.
93106         (readline): Reword comment.
93107         Don't cast xrealloc return value to char*
93108         Return NULL, not 0.
93109
93110 2001-12-09  Jim Meyering  <meyering@lucent.com>
93111
93112         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
93113         about `signed and unsigned type in conditional expression'.
93114         * lib/posixtm.c (posix_time_parse): Likewise.
93115
93116         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
93117
93118         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
93119         to avoid a pedantic warning.
93120
93121         * lib/getstr.c: Don't include assert.h.
93122         (getstr): Remove warning-evoking assertions.
93123         Return -1 if offset parameter is out of bounds.
93124         Change the type of a local from int to size_t.
93125
93126         * lib/strftime.c (my_strftime_localtime_r): Include this function
93127         definition in the `#if ! HAVE_TM_GMTOFF' block.
93128
93129         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
93130         Include xalloc.h instead.
93131
93132 2001-12-02  Jim Meyering  <meyering@lucent.com>
93133
93134         * lib/tempname.c: Don't declare getenv, thus reverting the change of
93135         2001-11-18.  It's no longer necessary, now that stdlib.h is always
93136         included.
93137
93138         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
93139         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
93140
93141 2001-11-30  Akim Demaille  <akim@epita.fr>
93142
93143         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
93144         before being defined.
93145
93146 2001-11-27  Paul Eggert  <eggert@twinsun.com>
93147
93148         * lib/quotearg.h (quotearg_n, quotearg_n_style):
93149         First arg is int, not unsigned.
93150         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
93151         (SIZE_MAX, UINT_MAX): New macros.
93152         (quotearg_n_options): Abort if N is negative.
93153         Avoid overflow check on hosts where size_t is 64 bits and int
93154         is 32 bits, as overflow is impossible there.
93155         Fix off-by-one typo that caused unnecessary reallocation.
93156
93157 2001-11-27  Jim Meyering  <meyering@lucent.com>
93158
93159         * lib/tempname.c: Merge with version from libc.
93160         * lib/regex.c: Likewise.
93161
93162         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
93163         systems for which STDC_HEADERS is 0, it was not included, resulting in
93164         a warning about an integer-to-pointer conversion problem with getenv.
93165         Reported by Volker Borchert.
93166
93167 2001-11-26  Jim Meyering  <meyering@lucent.com>
93168
93169         * lib/gtod.h: Remove file.
93170         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
93171         * lib/gettimeofday.c: Don't include gtod.h.
93172         (GTOD_init): Remove function.
93173         (rpl_gettimeofday): Do its job here instead, rather than aborting.
93174         Suggestion from Volker Borchert.
93175
93176 2001-11-23  Jim Meyering  <meyering@lucent.com>
93177
93178         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
93179         it.
93180         * lib/hash.c (struct hash_table): Define it here instead.
93181
93182 2001-11-22  Jim Meyering  <meyering@lucent.com>
93183
93184         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
93185
93186 2001-11-20  Jim Meyering  <meyering@lucent.com>
93187
93188         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
93189         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
93190
93191 2001-11-19  Jim Meyering  <meyering@lucent.com>
93192
93193         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
93194         directory.  Use "conftestXXXXXX" as the template.
93195         Suggestion from Paul Eggert.
93196
93197         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
93198         immediately, so the test doesn't mistakenly hit the max-open-files
93199         limit.
93200
93201 2001-11-18  Paul Eggert  <eggert@twinsun.com>
93202
93203         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
93204         (TEMPORARIES): New macro.
93205         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
93206         removes an artificial limitation (e.g. HP-UX 10.20, where
93207         TMP_MAX is 17576).
93208
93209 2001-11-18  Jim Meyering  <meyering@lucent.com>
93210
93211         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
93212
93213 2001-11-18  Jim Meyering  <meyering@lucent.com>
93214
93215         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
93216         on SunOS 4.
93217
93218         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
93219         files will be created before anything else.
93220
93221 2001-11-17  Paul Eggert  <eggert@twinsun.com>
93222
93223         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
93224         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
93225
93226 2001-11-17  Jim Meyering  <meyering@lucent.com>
93227
93228         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
93229         Prompted by a report from Bob Proulx.
93230
93231         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
93232         Instead, require UTILS_FUNC_MKSTEMP.
93233
93234 2001-11-17  Jim Meyering  <meyering@lucent.com>
93235
93236         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
93237         Now, that's done as part of AC_FUNC_STRTOD.
93238
93239 2001-11-17  Jim Meyering  <meyering@lucent.com>
93240
93241         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
93242         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
93243         rather than group writable.  Patch by Juan F. Codagnone.
93244
93245         * lib/readtokens.c: Remove explicit declarations of xmalloc and
93246         xrealloc, Instead, include "xalloc.h".
93247
93248         * lib/mountlist.c: Include unlocked-io.h after all system headers.
93249         Remove explicit declarations of xmalloc, xrealloc,
93250         and xstrdup.  Instead, include "xalloc.h".
93251
93252         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
93253         unlocked-io.h.
93254         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
93255         Likewise.
93256         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
93257
93258         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
93259         Reported by Padraig Brady.
93260
93261         * lib/mkstemp.c: #undef mkstemp.
93262         Include config.h.
93263         (rpl_mkstemp): Rename from mkstemp.
93264         Protoize.
93265
93266 2001-11-16  Jim Meyering  <meyering@lucent.com>
93267
93268         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
93269         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
93270         determine the amount of total physical memory, use pstat_getstatic.
93271         HPUX-11 doesn't define _SC_PHYS_PAGES.
93272         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
93273         If sysconf couldn't be used to determine the amount of available
93274         physical memory, use both pstat_getstatic and pstat_getdynamic.
93275         Based on a patch from Bob Proulx.
93276
93277 2001-11-10  Jim Meyering  <meyering@lucent.com>
93278
93279         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
93280         (jm_PREREQ): Use it.
93281
93282 2001-11-09  Jim Meyering  <meyering@lucent.com>
93283
93284         * m4/jm-macros.m4: Require autoconf-2.52f.
93285         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
93286         Use these AC_-prefixed names, not the AM_-prefixed ones.
93287
93288         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
93289
93290 2001-11-05  Jim Meyering  <meyering@lucent.com>
93291
93292         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
93293
93294 2001-11-04  Jim Meyering  <meyering@lucent.com>
93295
93296         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
93297         $DEFS.
93298
93299 2001-11-03  Jim Meyering  <meyering@lucent.com>
93300
93301         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
93302         of AC_DEFUN.
93303
93304         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
93305         know the name of the variable in the macro definition.
93306
93307 2001-11-03  Jim Meyering  <meyering@lucent.com>
93308
93309         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
93310         in argmatch_to_argument call.
93311
93312         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
93313         argument.
93314
93315         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
93316         e.g., a fault due to an attempt to free a NULL pointer.
93317
93318 2001-11-01  Jim Meyering  <meyering@lucent.com>
93319
93320         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
93321         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
93322
93323 2001-11-01  Jim Meyering  <meyering@lucent.com>
93324
93325         * lib/dirfd.c, lib/dirfd.h: New files.
93326         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
93327
93328         * lib/hash.c (hash_print) [TESTING]: Clean up.
93329
93330 2001-10-22  Paul Eggert  <eggert@twinsun.com>
93331
93332         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
93333         to avoid a warning if -Wall.
93334
93335 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
93336
93337         * README: New file
93338         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
93339         (per RMS's instructions, this is now the canonical source)
93340         * lgpl/, gpl/: New directories.
93341
93342 2001-10-21  Paul Eggert  <eggert@twinsun.com>
93343
93344         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
93345
93346 2001-10-21  Jim Meyering  <meyering@lucent.com>
93347
93348         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
93349         this code would end up calling gettext even in packages built
93350         with --disable-nls.
93351         * lib/getopt.c (_): Likewise.
93352         * lib/regex.c (_): Likewise.
93353
93354 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93355
93356         * m4/error.m4 (jm_PREREQ_ERROR):
93357         Do not invoke AC_CHECK_FUNCS with strerror_r, as
93358         AC_FUNC_STRERROR_R does that.
93359         Check for strerror declaration.
93360
93361         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
93362         are supposed to have them these days.
93363         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
93364         Merge changes from latest Autoconf CVS.
93365         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
93366         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
93367         POSIX decided to standardize on the int flavor of strerror_r.
93368
93369 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93370
93371         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
93372         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
93373         Use strerror_r that is only a macro, even if it is not a function.
93374         (strerror): Check for HAVE_DECL_STRERROR before declaring.
93375         (private_strerror): Use prototypes, not old-style function definition.
93376         (print_errno_message): New function.
93377         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
93378         char*-flavored one.
93379         (error_tail, error, error_at_line): Use it.
93380
93381 2001-10-11  Jim Meyering  <meyering@lucent.com>
93382
93383         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
93384         and quote_n (1, ... to avoid clobbering a buffer.
93385
93386 2001-10-05  Jim Meyering  <meyering@lucent.com>
93387
93388         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
93389         hash-pjw.h.
93390         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
93391         * lib/hash-pjw.h: New file.
93392
93393 2001-09-30  Jim Meyering  <meyering@lucent.com>
93394
93395         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
93396         `struct fsstat' has the `f_fstypename' member.
93397         Use that to define FS_TYPE, which is now used to make
93398         the getfsstat link test tighter.
93399
93400 2001-09-30  Jim Meyering  <meyering@lucent.com>
93401
93402         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
93403         Include <sys/ucred.h>, for Apple Darwin.
93404         Include sys/mount.h and sys/fs_types.h only if available.
93405         (FS_TYPE): Define.
93406         (read_filesystem_list): Use FS_TYPE.
93407
93408 2001-09-29  Paul Eggert  <eggert@twinsun.com>
93409
93410         * lib/exclude.c (excluded_filename): 0 -> false, since it's
93411         a boolean context.
93412
93413 2001-09-29  Jim Meyering  <meyering@lucent.com>
93414
93415         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93416         [one-argument getmntent function]): Include stdio.h before mntent.h.
93417         SunOS 4.1.x needs it for the declaration of `FILE'.
93418         Patch by Volker Borchert.
93419
93420         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93421         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
93422         sys/fs_types.h, and make the link-test for getfsstat guard #include
93423         directives with appropriate #if HAVE_*_H tests so that we can
93424         detect getfsstat on Apple Darwin1.3.7 systems.
93425         Reported by Nelson Beebe.
93426         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
93427
93428 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93429
93430         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93431         #defines strtoimax.  Also treat the other strto* functions
93432         like strtoimax.
93433
93434         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93435         Check for strtoul and strtoumax,
93436         as those declarations are made even in the signed case.
93437         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93438         Likewise, for strtol and strtoimax.
93439
93440 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93441
93442         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93443         #defines strtoimax.  Also treat the other strto* functions
93444         like strtoimax.
93445
93446         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93447         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93448         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93449
93450 2001-09-26  Jim Meyering  <meyering@lucent.com>
93451
93452         Most macros in unlocked-io.h had the wrong number of arguments.
93453         * lib/gen-uio: New script.
93454         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93455         * lib/unlocked-io.hin: Remove file.
93456         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93457         rather than trying to embed it here.
93458         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93459         Reported by Padraig Brady.
93460
93461 2001-09-25  Volker Borchert  <bt@teknon.de>
93462
93463         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93464         `result'.
93465
93466 2001-09-24  Jim Meyering  <meyering@lucent.com>
93467
93468         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93469
93470 2001-09-23  Jim Meyering  <meyering@lucent.com>
93471
93472         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93473         instead of the mere test for existence of mntent.h.  The latter
93474         would get a false-positive on AIX 3.4 systems.
93475         In the outer getmntent if-block, don't die if neither of the getmntent
93476         tests succeeds.  Instead, just fall through and continue with the
93477         remaining tests.
93478
93479 2001-09-23  Jim Meyering  <meyering@lucent.com>
93480
93481         * lib/mountlist.c: Remove useless parentheses in #if directives.
93482         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93483         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93484
93485 2001-09-22  Jim Meyering  <meyering@lucent.com>
93486
93487         * m4/gettext.m4: New file.  From gettext.
93488         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93489         * m4/progtest.m4: Likewise
93490         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93491         * m4/glibc21.m4: Likewise.
93492
93493         * m4/libintl.m4: Remove.  No longer used.
93494
93495 2001-09-22  Jim Meyering  <meyering@lucent.com>
93496
93497         * lib/localcharset.c: Update from latest gettext.
93498         * lib/config.charset: Likewise.
93499
93500 2001-09-20  Jim Meyering  <meyering@lucent.com>
93501
93502         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93503         strtoimax.
93504         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93505         strtoumax.
93506
93507 2001-09-20  Jim Meyering  <meyering@lucent.com>
93508
93509         * lib/xstrtol.c (strtoimax): Guard declaration with
93510         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93511         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93512         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93513         (strtoumax): Likewise, for completeness (it wasn't necessary).
93514
93515 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93516
93517         * lib/strtoimax.c (HAVE_LONG_LONG):
93518         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93519         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93520         to work around bug in IBM C compiler.
93521
93522 2001-09-17  Jim Meyering  <meyering@lucent.com>
93523
93524         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93525         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93526         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93527         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93528         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93529         whenever the right hand side need not be expanded by the shell.
93530
93531 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93532
93533         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93534         library.  It's not correct, as some older glibcs are buggy.
93535         fnmatch wasn't fixed until glibc 2.2.
93536
93537         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93538         special shell magic here.
93539
93540 2001-09-16  Jim Meyering  <meyering@lucent.com>
93541
93542         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93543         * m4/jm-macros.m4: Require it.
93544
93545 2001-09-16  Jim Meyering  <meyering@lucent.com>
93546
93547         * lib/mkdir.c: New file.
93548
93549 2001-09-15  Jim Meyering  <meyering@lucent.com>
93550
93551         * m4/jm-macros.m4: Check for help2man.
93552
93553 2001-09-11  Jim Meyering  <meyering@lucent.com>
93554
93555         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93556         The body, by Paul Eggert, was moved here from configure.in.
93557         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93558
93559 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93560
93561         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93562         (jm_PREREQ): Use it.
93563
93564 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93565
93566         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93567         Use ssize_t, not int, to store result of readlink.
93568         Check for ssize_t overflow as well as size_t overflow,
93569         as POSIX says the result of readlink is implementation-defined
93570         when ssize_t overflows.
93571         Remove unnecessary cast to char*.
93572         Use free+malloc instead of realloc, as the storage doesn't need
93573         to be preserved and it's clearer and can be more efficient that way.
93574         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93575         * lib/xreadlink.h (xreadlink): Update prototype.
93576
93577 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93578
93579         * lib/xgetcwd.c: Revert some of the previous change; intead,
93580         fix the HAVE_GETCWD_NULL code to behave more like the
93581         !HAVE_GETCWD_NULL code used to.
93582
93583         Include "xalloc.h".
93584         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93585         invoke xalloc_die.
93586
93587 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93588
93589         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93590         sys/param.h, as pathmax.h includes them.
93591
93592 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93593
93594         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93595         (jm_PREREQ_XGETCWD): New macro.
93596
93597         * m4/getcwd.m4: New file.
93598
93599 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93600
93601         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
93602         like the HAVE_GETCWD_NULL code.
93603         Include pathmax.h if not HAVE_GETCWD.
93604         Do not include xalloc.h.
93605         (INITIAL_BUFFER_SIZE): New symbol.
93606         Do not use xmalloc / xrealloc, since the caller is responsible for
93607         handling errors.  Preserve errno around `free' during failure.
93608         Do not overrun buffer when using getwd.
93609
93610 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93611
93612         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
93613         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
93614         getcwd (NULL, 0).
93615
93616 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93617
93618         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
93619         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
93620         spotted by Jim Meyering.
93621
93622 2001-09-03  Jim Meyering  <meyering@lucent.com>
93623
93624         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
93625         failure.
93626
93627 2001-09-02  Jim Meyering  <meyering@lucent.com>
93628
93629         * lib/error.c: Update from GNU libc.
93630
93631 2001-09-01  Jim Meyering  <meyering@lucent.com>
93632
93633         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
93634         Used by df.
93635
93636 2001-09-01  Jim Meyering  <meyering@lucent.com>
93637
93638         * lib/xreadlink.c: New file.
93639         * lib/xreadlink.h: New file.
93640         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
93641         xreadlink.h.
93642
93643         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93644         doesn't conflict with sparc Solaris 7's definition in
93645         /usr/include/sys/int_types.h.
93646
93647         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93648         files.
93649         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93650         and strncasecmp as r-values.  Unixware didn't have declarations.
93651
93652 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93653
93654         * lib/xstrtol.h: Add copyright notice.
93655         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93656         LONGINT_INVALID_SUFFIX_CHAR.
93657
93658 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93659
93660         * lib/xstrtol.c (strtoimax): New decl.
93661
93662 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93663
93664         * lib/xgetcwd.c: Don't include pathmax.h.
93665         Include stdlib.h and unistd.h if available.
93666         Include xalloc.h.
93667         (xmalloc, xstrdup, free): Remove decls.
93668         (xgetcwd): Don't assume sizes fit in unsigned.
93669         Check for overflow when computing sizes.
93670         Simplify reallocation code.
93671
93672 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93673
93674         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
93675         a directory's st_size can have an arbitrary value, so the old
93676         usage could waste an arbitrary amount of memory.  All uses
93677         changed.
93678         * lib/savedir.h: Update prototype.
93679
93680 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93681
93682         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
93683
93684         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
93685         old strtoimax.c.
93686
93687         Also, make the following further changes to make this file's
93688         configuration more similar to that of strtol.c:
93689         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
93690         (strtoumax, uintmax_t, strtoull, strtol): Remove.
93691         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
93692         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
93693         changed to signed values.
93694
93695         And make the following changes as well:
93696         Fix copyright notice, as 1999 was missing.
93697         (verify): New macro.
93698         (strtoimax): Check sizes at compile-time, not run-time.
93699         Prefer strtol to strtoll if both work.
93700         (main): Remove; it was not that useful and was a pain to maintain.
93701
93702         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
93703
93704 2001-08-31  Jim Meyering  <meyering@lucent.com>
93705
93706         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
93707         Use an initial, malloc'd, buffer of length 128 rather than
93708         a statically allocated one of length 1024.
93709
93710 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93711
93712         Simplify code, partly by assuming autoconf 2.52 semantics.
93713
93714         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
93715
93716         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
93717         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
93718         All uses removed.
93719         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
93720         Move AC_REQUIRE to next-to-top level, to avoid confusion.
93721         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
93722         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
93723         jm_AC_HEADER_INTTYPES_H.
93724         * m4/jm-macros.m4 (jm_MACROS): Likewise.
93725
93726         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
93727
93728         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93729         Quote first arg of AC_DEFUN.
93730         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
93731         since they are needed to parse the include file even if we need
93732         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
93733         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
93734         but with opposite signedness.
93735
93736 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93737
93738         Merge 'exclude' changes from tar 1.13.22.
93739         This fixes one or two unlikely storage allocation overflow bugs,
93740         but doesn't change user-visible behavior otherwise.
93741
93742 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93743
93744         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
93745         (jm_PREREQ_EXCLUDE): New macro.
93746
93747 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93748
93749         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
93750         tm to be declared.
93751
93752 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93753
93754         * lib/hash.c: Remove '2001' from copyright notice.
93755
93756 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93757
93758         * lib/full-write.h: New file.
93759         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
93760         * lib/full-write.c: Correct credits, as cccp.c no longer
93761         exists and anyway it was so heavily changed from the old cccp
93762         code as to be unrecognizable.  Include full-write.h.
93763         (full_write): Return size_t, with short writes meaning failure.
93764         All callers changed.  This fixes a bug with large buffers
93765         on 64-bit hosts.
93766         * lib/utime.c: Include full-write.h.
93767
93768 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93769
93770         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
93771         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
93772         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
93773         Include if available.
93774         (<xalloc.h>): Include
93775         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
93776         (verify): New macro.  Use it to verify that EXCLUDE macros do not
93777         collide with FNM macros.
93778         (struct patopts): New struct.
93779         (struct exclude): Use it, as exclude patterns now come with options.
93780         (new_exclude): Support above changes.
93781         (new_exclude, add_exclude_file):
93782         Initial size must now be a power of two to simplify overflow checking.
93783         (free_exclude, fnmatch_no_wildcards): New function.
93784         (excluded_filename): No longer requires options arg, as the options
93785         are determined by add_exclude.  Now returns bool, not int.
93786         (excluded_filename, add_exclude):
93787         Add support for the fancy new exclusion options.
93788         (add_exclude, add_exclude_file): Now takes int options arg.
93789         Check for arithmetic overflow when computing sizes.
93790         (add_exclude_file): xrealloc might modify errno, so don't
93791         realloc until after errno might be used.
93792
93793         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
93794         New macros.
93795         (free_exclude): New decl.
93796         (add_exclude, add_exclude_file): Now takes int options arg.
93797         (excluded_filename): No longer requires options arg, as the options
93798         are determined by add_exclude.  Now returns bool, not int.
93799
93800 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93801
93802         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
93803
93804 2001-08-27  Jim Meyering  <meyering@lucent.com>
93805
93806         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
93807
93808         * lib/version-etc.c (N_): Remove definition.
93809         Revert most of last change.
93810         Instead, simply don't mark the `Copyright...' string for translation.
93811         Based on advice from Paul Eggert.
93812
93813         * lib/strtoxmax.c: Tweak comment.
93814
93815 2001-08-26  Jim Meyering  <meyering@lucent.com>
93816
93817         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
93818
93819         * m4/xstrtoimax.m4: New file.
93820         * m4/xstrtoumax.m4: Add comments explaining why we
93821         AC_REPLACE_FUNCS(strtol).
93822
93823 2001-08-26  Jim Meyering  <meyering@lucent.com>
93824
93825         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
93826         of copyright with `%s' so translators don't get an untranslated
93827         message in 2002.
93828         (COPYRIGHT_YEAR): Define.
93829         (version_etc): Use fprintf rather than fputs.
93830         Suggestion from Ulrich Drepper.
93831
93832         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
93833
93834         * lib/strtoll.c: New file, from GNU libc.
93835         * lib/xstrtoimax.c: New file.
93836
93837         * lib/xstrtol.h: Add xstrtoimax.
93838         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
93839         * lib/strtoimax.c: New file.  Likewise, but first define
93840         STRTOUXMAX_SIGNED.
93841
93842         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
93843         ...
93844         * lib/strtoxmax.c: ... then renamed to this.
93845
93846 2001-08-18  Paul Eggert  <eggert@twinsun.com>
93847
93848         * m4/inttypes.m4: Add AC_PREREQ(2.13).
93849         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
93850         (jm_AC_TYPE_INTMAX_T): New macro.
93851         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
93852
93853         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
93854
93855         * m4/longlong.m4: Renamed from ulonglong.m4.
93856         * m4/inttypes.m4: Renamed from inttypes_h.m4.
93857         * m4/uintmax_t.m4: Removed.
93858
93859 2001-08-13  Paul Eggert  <eggert@twinsun.com>
93860
93861         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
93862         Port to Solaris 8, where 'sed' requires a space after the 'r'
93863         command, and where sh dislikes "$/".  Clean up the spacing a bit.
93864         Redirect output to $tmp just once.
93865
93866 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
93867
93868         * lib/addext.c (<errno.h>): Include.
93869         (errno): Declare if not defined.
93870         (addext): Work correctly when pathconf returns -1 and leaves
93871         errno alone because there is no limit.  Also, work even if
93872         pathconf returns a value greater than SIZE_MAX.
93873
93874 2001-08-12  Jim Meyering  <meyering@lucent.com>
93875
93876         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
93877         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
93878         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
93879         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
93880         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
93881         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
93882         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
93883         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
93884         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
93885         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
93886         utime.m4, utimes.m4, xstrtoumax.m4:
93887         Quote the first argument in each use of AC_DEFUN.
93888
93889 2001-08-12  Jim Meyering  <meyering@lucent.com>
93890
93891         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
93892         Simply `return getcwd (NULL, 0);'.
93893         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
93894         Use 1300 as initial value for length, not PATH_MAX.
93895
93896         * lib/pathmax.h: Clean up cpp syntax.
93897
93898 2001-08-12  Jim Meyering  <meyering@lucent.com>
93899
93900         * lib/gettimeofday.c: New file.
93901         * lib/gtod.h: New file.
93902         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
93903
93904 2001-08-05  Jim Meyering  <meyering@lucent.com>
93905
93906         * m4/jm-macros.m4: Require autoconf-2.52.
93907
93908 2001-08-04  Jim Meyering  <meyering@lucent.com>
93909
93910         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
93911         stmt, to get in sync with glibc.
93912
93913 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93914
93915         The following changes are from gettext 0.10.39 as maintained by
93916         Bruno Haible.
93917
93918         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
93919         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
93920         with inverted sense.  All uses changed.
93921
93922         * lib/mbswidth.c: Don't include <limits.h>.
93923         Include <stdlib.h> and <string.h> unconditionally.
93924         (iswcntrl, mbsinit, ISCNTRL): New macros.
93925         (mbsnwidth): Use K&R style function declarations.
93926         Don't bother checking for MB_LEN_MAX == 1, since the compiler
93927         can optimize it when MB_CUR_MAX == 1.
93928         The width of control characters is zero, not 1.
93929
93930 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93931
93932         The following changes are from gettext 0.10.39 as maintained by
93933         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
93934
93935         * m4/codeset.m4: Upgrade to serial AM1.
93936         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
93937         all uses changed.  Quote first arg of AC_DEFUN.
93938         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
93939
93940         * m4/iconv.m4: Upgrade to serial AM2.
93941         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
93942         Add --with-libconv-prefix.
93943         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
93944         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
93945         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
93946         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
93947         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
93948
93949         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
93950         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
93951         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
93952         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
93953         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
93954         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
93955         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
93956         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
93957         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
93958
93959         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
93960         string.h any more.
93961
93962         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
93963         not the default value.
93964
93965         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
93966         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
93967         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
93968         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
93969         Also check for iswcntrl, used for wcwidth fallback.
93970         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
93971         to Autoconf 2.13.
93972
93973 2001-08-03  Jim Meyering  <meyering@lucent.com>
93974
93975         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
93976         as it was in the original.  Reported by Paul Eggert.
93977
93978 2001-07-16  Jim Meyering  <meyering@lucent.com>
93979
93980         * m4/gettimeofday.m4: New file.
93981         Prompted by a report from Bernhard Baehr.
93982
93983 2001-07-15  Jim Meyering  <meyering@lucent.com>
93984
93985         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
93986         stuff. Now it's in ../Makefile.cfg.
93987
93988 2001-07-15  Jim Meyering  <meyering@lucent.com>
93989
93990         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
93991         (BUILT_SOURCES): Add unlocked-io.h.
93992         (io_functions): Define.
93993         (unlocked-io.h): New rule.
93994         (DISTCLEANFILES): Add unlocked-io.h.
93995         (all-local): Depend on unlocked-io.h, to ensure it is created.
93996
93997         * lib/unlocked-io.hin: New file
93998
93999         * lib/regex.c: Update from glibc.
94000
94001 2001-07-05  Jim Meyering  <meyering@lucent.com>
94002
94003         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
94004         recommendation.
94005         (libfetish_a_SOURCES): Put all .h files here instead.
94006         Remove a thus-exposed (better checks in automake) duplicate and
94007         two unnecessary .h files.
94008
94009 2001-07-04  Jim Meyering  <meyering@lucent.com>
94010
94011         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94012         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94013         distcheck failure.
94014
94015 2001-07-02  Jim Meyering  <meyering@lucent.com>
94016
94017         The following changes were prompted by suggestions from Bruno Haible.
94018
94019         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94020         is now generated.
94021         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94022         definition of EXTRA_DIST.
94023         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94024         ensure that the generated file is created/updated whenever the list
94025         of $(unlocked_functions) is changed.
94026         (jm-glibc-io.m4): New rule.
94027         (unlocked-io.h): New rule -- currently unused.
94028
94029 2001-06-24  Jim Meyering  <meyering@lucent.com>
94030
94031         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94032         unmatched right bracket, rather than kludging it with an extra,
94033         falsely-matching quote in a comment.  Patch by Akim Demaille.
94034
94035 2001-06-11  Jim Meyering  <meyering@lucent.com>
94036
94037         * lib/regex.c: Update from GNU libc.
94038
94039 2001-05-27  Jim Meyering  <meyering@lucent.com>
94040
94041         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94042         Check for ut_type in struct utmp.
94043
94044 2001-05-27  Jim Meyering  <meyering@lucent.com>
94045
94046         * lib/readutmp.h (UT_TYPE): Define.
94047
94048 2001-05-24  Jim Meyering  <meyering@lucent.com>
94049
94050         * lib/argmatch.c: Include "quote.h".
94051         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94052         quote function.  Reported by Göran Uddeborg.
94053
94054 2001-05-22  Jim Meyering  <meyering@lucent.com>
94055
94056         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94057         now that we use the package-supplied version unconditionally.
94058         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94059
94060 2001-05-21  Jim Meyering  <meyering@lucent.com>
94061
94062         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94063         shell syntax errors.
94064
94065 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94066
94067         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
94068
94069 2001-05-20  Paul Eggert  <eggert@twinsun.com>
94070
94071         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
94072         Don't bother to check library strftime, since
94073         we'll be using our own my_strftime function anyway.
94074         Define my_strftime instead of strftime.
94075
94076 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
94077
94078         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
94079         which is not yet declared.
94080
94081 2001-05-15  Jim Meyering  <meyering@lucent.com>
94082
94083         * m4/regex.m4: Use proper quoting so brackets appear in the test
94084         program.
94085         Reported by, and with help from, Bruno Haible.
94086
94087 2001-05-13  Jim Meyering  <meyering@lucent.com>
94088
94089         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
94090         undefined.
94091
94092 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94093
94094         dirname code cleanup.  base_name now behaves more compatibly
94095         with POSIX basename when given file names that have trailing
94096         slashes, and similarly for dir_name.  Add new primitives
94097         base_len and dir_len.  Put the directory-name-related decls
94098         into dirname.h.
94099
94100         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94101         * lib/backupfile.c (base_name): Likewise.
94102         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
94103         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
94104         * lib/makepath.c (strip_trailing_slashes): Likewise.
94105         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
94106         ISSLASH): Likewise.
94107         * lib/rename.c (strip_trailing_slashes): Likewise.
94108         * lib/same.c (base_name): Likewise.
94109         * lib/stripslash.c (ISSLASH): Likewise.
94110
94111         * lib/addext.c: Include <dirname.h> after size_t is defined.
94112         * lib/backupfile.c: Likewise.
94113
94114         * lib/addext.c (addext): Use base_len to trim redundant
94115         trailing slashes instead of doing it ourselves.
94116         But do not trim the last slash if it is not redundant.
94117
94118         * lib/backupfile.c (find_backup_file_name,
94119         max_backup_version): Use base_len instead of rolling it ourselves.
94120         Handle the case of "" and (on DOS) "C:" correctly.
94121
94122         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
94123         needed. Include <string.h>, <dirname.h>.
94124         (base_name): Allow file names ending in slashes, other than names
94125         that are all slashes.  In this case, return the basename followed
94126         by the slashes.  This is more general, and can be used in places
94127         where the original base_name purposely had an assertion failure.
94128         (base_len): New function.
94129
94130         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
94131         Do not include <assert.h>; no longer needed.
94132         Include xalloc.h.
94133         (memrchr): Remove decl.
94134         (dir_name_r): Remove.
94135         (dir_len): Renamed from dirlen.  All callers changed.
94136         Rewrite in terms of base_name, for simplicity and consistency.
94137         (dir_name): Never return NULL.  All callers changed.
94138         Do not include <stdlib.h> in test program; no longer needed.
94139         return 0; is fine for test program.
94140
94141         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
94142         New macros.
94143         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
94144
94145         * lib/path-concat.c (path_concat): Use base_len to compute
94146         base length, not strlen; this means we cannot rely on memcpy
94147         to null-terminate.
94148
94149         * lib/same.c (STREQ): Remove.
94150         (same_name): Handle the case where the basename ends in trailing '/'.
94151
94152         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
94153         a slash was stripped.  Do not strip the last slash after a
94154         file system prefix.
94155
94156 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94157
94158         * lib/Makefile.am (libfetish_a_SOURCES):
94159         Add strftime.c, since we now compile it on all hosts.
94160
94161         * lib/strftime.c (my_strftime):
94162         Define to nstrftime if emacs, but only if my_strftime is not defined.
94163         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
94164         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
94165         Add one more extra argument: a nanoseconds value.
94166         All uses changed.
94167         (ns): New macro.
94168         (my_strftime function): Add %N format.
94169         (emacs_strftimeu): Renamed from emacs_strftime,
94170         with extra ut argument.
94171
94172 2001-05-09  Paul Eggert  <eggert@twinsun.com>
94173
94174         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
94175
94176 2001-04-21  Jim Meyering  <meyering@lucent.com>
94177
94178         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
94179         doesn't interfere.
94180
94181 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94182
94183         * m4/ftruncate.m4: Check for chsize.
94184         Link with ftruncate.o unconditionally if ftruncate is missing.
94185         This was required when cross-compiling to i586-mingw32msvc.
94186
94187 2001-04-08  Jim Meyering  <meyering@lucent.com>
94188
94189         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
94190         recomputed; that's necessary when the offset spans a DST transition.
94191         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
94192
94193 2001-04-02  Jim Meyering  <meyering@lucent.com>
94194
94195         * lib/regex.h, regex.c: Update from GNU libc.
94196
94197 2001-03-24  Jim Meyering  <meyering@lucent.com>
94198
94199         * m4/jm-macros.m4: Require autoconf-2.49d.
94200
94201 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
94202
94203         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
94204
94205 2001-03-19  Paul Eggert  <eggert@twinsun.com>
94206
94207         * lib/version-etc.c (version_etc_copyright): Update to 2001.
94208
94209 2001-03-17  Jim Meyering  <meyering@lucent.com>
94210
94211         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
94212         now that the version in autoconf is equivalent.
94213         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
94214
94215         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
94216         Suggestion from Akim Demaille.
94217
94218         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
94219         (jm_PREREQ_TEMPNAME): New function.
94220
94221 2001-03-16  Paul Eggert  <eggert@twinsun.com>
94222
94223         * lib/tempname.c (uint64_t): Define to uintmax_t if
94224         not defined, and if UINT64_MAX is not defined.
94225         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
94226         Reported by John David Anglin.
94227
94228 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
94229
94230         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
94231         resolve alias if codeset is empty.
94232         * lib/config.charset (BeOS): Use wildcard syntax.
94233
94234 2001-03-13  Jim Meyering  <meyering@lucent.com>
94235
94236         * lib/path-concat.c (path_concat)
94237         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
94238         concatenating e.g., `C:' and `foo'.
94239         From Bruno Haible.
94240
94241 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94242
94243         * lib/localcharset.c (locale_charset): Don't use
94244         setlocale(LC_CTYPE,NULL). Don't return NULL.
94245         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
94246
94247 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94248
94249         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
94250         support for DOS/DJGPP.
94251
94252 2001-03-01  Paul Eggert  <eggert@twinsun.com>
94253
94254         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
94255         lacks mkstemp.  Compile our own tempname.c if we compile our own
94256         mkstemp.c, as mkstemp relies on tempname.
94257
94258 2001-03-01  Jim Meyering  <meyering@lucent.com>
94259
94260         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
94261         AH_VERBATIM really does output its argument verbatim.
94262
94263 2001-02-28  Paul Eggert  <eggert@twinsun.com>
94264
94265         * lib/Makefile.am (libfetish_a_SOURCES):
94266         Add dup-safer.c, fopen-safer.c.
94267         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
94268
94269         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
94270         * lib/unistd-safer.h: New files.
94271
94272 2001-02-25  Paul Eggert  <eggert@twinsun.com>
94273
94274         The mkstemp replacement is taken from glibc 2.2.2, with some
94275         portability fixes for use outside glibc, as follows:
94276
94277         * lib/tempname.c (struct_stat64): New macro.
94278         (direxists, __gen_tempname): Use it.
94279         This avoids a portability problem with Solaris 8.
94280
94281         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
94282         (<stddef.h>, <stdint.h>, <string.h>):
94283         Include only if STDC_HEADERS || _LIBC.
94284         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
94285         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
94286         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
94287         (__set_errno): Define this macro if <errno.h> doesn't.
94288         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
94289         Define these macros if <stdio.h> doesn't.
94290         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
94291         Define these macros if <sys/stat.h>
94292         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
94293         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
94294         __xstat64): Define if not _LIBC.
94295         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
94296         (__gen_tempname): Invoke gettimeofday only if
94297         HAVE_GETTIMEOFDAY || _LIBC;
94298         otherwise, fall back on plain "time".
94299         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
94300
94301         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
94302
94303         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
94304
94305 2001-02-18  Paul Eggert  <eggert@twinsun.com>
94306
94307         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
94308
94309 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94310
94311         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
94312         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
94313         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
94314         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94315
94316 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94317
94318         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
94319         Remove workaround macros for hosts that have mbrtowc but not
94320         mbstate_t, as we now insist on proper declarations for both
94321         before using mbrtowc.
94322
94323 2001-02-17  Jim Meyering  <meyering@lucent.com>
94324
94325         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
94326         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
94327         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
94328         UnixWare 7.1.1.
94329
94330         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
94331         rather than AC_CACHE_VAL.
94332
94333 2001-02-17  Jim Meyering  <meyering@lucent.com>
94334
94335         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
94336         around included file name.
94337
94338         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
94339
94340         * lib/strftime.c: Update from GNU libc (the only changes were to
94341         comments).
94342
94343 2001-02-17  Jim Meyering  <meyering@lucent.com>
94344
94345         * lib/regex.c: Update from libc.
94346
94347 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
94348
94349         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
94350         clash.
94351
94352 2001-02-16  Paul Eggert  <eggert@twinsun.com>
94353
94354         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
94355         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
94356         Reported by Mark Hounschell via Paul Eggert.
94357
94358 2001-02-07  Jim Meyering  <meyering@lucent.com>
94359
94360         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
94361
94362 2001-02-05  Jim Meyering  <meyering@lucent.com>
94363
94364         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
94365         it includes the patch required for `large file' support with at least
94366         HP-UX's 10.20 /bin/cc.
94367
94368 2001-02-03  Jim Meyering  <meyering@lucent.com>
94369
94370         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
94371         AS_IF, now that it works once again (mysteriously).
94372         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94373
94374 2001-01-30  Jim Meyering  <meyering@lucent.com>
94375
94376         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
94377         * m4/chown.m4: Rename conftestchown to conftest.chown.
94378         * m4/rename.m4: s/conftestdir/conftest.d1/ and
94379         s/conftestdir2/conftest.d2/.
94380         * m4/utimes.m4: s/conftestdata/conftest.data/
94381         Inspired by Pavel Roskin's change in autoconf.
94382
94383 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
94384
94385         * lib/config.charset: Update for FreeBSD 4.2.
94386
94387 2001-01-27  Jim Meyering  <meyering@lucent.com>
94388
94389         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
94390         a use of AS_IF.
94391         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94392
94393 2001-01-26  Jim Meyering  <meyering@lucent.com>
94394
94395         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
94396         quotearg.c includes it.
94397
94398 2001-01-26  Jim Meyering  <meyering@lucent.com>
94399
94400         * lib/quotearg.c: Include stddef.h.
94401         * lib/quote.c: Include stddef.h.
94402         Reported by Axel Kittenberger.
94403
94404         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
94405         line in double quotes so that it evokes a better diagnostic.
94406         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
94407         Reported by Axel Kittenberger.
94408
94409 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
94410
94411         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
94412         as if it was a `charset'.
94413
94414 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94415
94416         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
94417         has const.
94418
94419 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94420
94421         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
94422         to avoid a warning.  Add back 'const' to inptr.
94423
94424 2001-01-20  Jim Meyering  <meyering@lucent.com>
94425
94426         Be sure that headers are checked before used in code compiled
94427         for the type checks.
94428         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
94429         In place of that, invoke jm_CHECK_ALL_TYPES.
94430         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94431         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94432         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94433         The check for ssize_t was mistakenly run before the test for unistd.h.
94434
94435         The configure-time check for stdbool.h was missing.
94436         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94437         (jm_PREREQ_HASH): New function.
94438
94439 2001-01-17  Jim Meyering  <meyering@lucent.com>
94440
94441         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94442         for autoconf-2.49c.
94443         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94444
94445 2001-01-16  Jim Meyering  <meyering@lucent.com>
94446
94447         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94448         From Bruno Haible.
94449
94450 2001-01-14  Jim Meyering  <meyering@lucent.com>
94451
94452         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94453         foo and bar.  Create conftestdir/ in the script, not in the C code.
94454         Remove directories in the script, not in the C code.
94455         Remove conftestdir{,2} before trying to create the directory.
94456         Make the entire configure script fail if the mkdir fails.
94457
94458 2001-01-14  Jim Meyering  <meyering@lucent.com>
94459
94460         * lib/rename.c: New file.  From Volker Borchert.
94461         Include stdlib.h, string.h or strings.h, and xalloc.h.
94462         Use strip_trailing_slashes rather than open-coding it.
94463
94464 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94465
94466         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94467
94468 2001-01-03  Jim Meyering  <meyering@lucent.com>
94469
94470         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94471         of local `inptr' to avoid warning with some system declarations of
94472         iconv.
94473
94474 2001-01-02  Volker Borchert  <bt@teknon.de>
94475
94476         * m4/rename.m4: New file.
94477         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94478
94479 2001-01-01  Jim Meyering  <meyering@lucent.com>
94480
94481         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94482         even on systems with utmpx.h.  It's necessary for the declaration of
94483         utmp's ut_user member.  Reported by Andreas Jaeger.
94484
94485         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94486         available. They are required for the declarations of getgrgid and
94487         getpwuid resp.
94488         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94489         Reported by Andreas Jaeger.
94490
94491 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94492
94493         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94494         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94495         so `make install' also works in VPATH builds.
94496
94497 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94498
94499         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94500         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94501         can be used in subdirectories.
94502
94503 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94504
94505         * lib/modechange.c: Do not assume that mode_t uses the
94506         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94507         the other-execute bit of FOO even if S_IXOTH != 1.
94508
94509         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94510         WOTH, XOTH, ALLM): New macros.
94511         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94512          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94513         Use them.
94514         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94515         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94516         (mode_compile):
94517         No need to use uintmax_t; unsigned long is long enough.
94518         Don't bother to get suffix since we don't use it.
94519
94520 2000-12-26  Jim Meyering  <meyering@lucent.com>
94521
94522         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94523         better with autoheader.
94524
94525 2000-12-24  Jim Meyering  <meyering@lucent.com>
94526
94527         * lib/hash.c (is_prime): Return explicit boolean values.
94528         (hash_get_first): Return NULL to appease Irix5.6's 89.
94529         Reported by Nelson Beebe.
94530
94531 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94532
94533         * lib/localcharset.c (locale_charset): Add support for Win32.
94534
94535 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94536
94537         * lib/physmem.h, lib/physmem.c: New files.
94538
94539         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94540         (noinst_HEADERS): Add physmem.h.
94541
94542         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94543         't' for compatibility with Solaris 8 sort.
94544
94545 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94546
94547         * lib/config.charset: Add support for BeOS.
94548
94549 2000-12-17  Jim Meyering  <meyering@lucent.com>
94550
94551         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94552         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94553
94554 2000-12-16  Jim Meyering  <meyering@lucent.com>
94555
94556         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94557         N and M) would have treated it like `chown N:N FILE'.
94558
94559         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94560
94561 2000-12-16  Jim Meyering  <meyering@lucent.com>
94562
94563         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94564         SHELLS_FILE to a file name that's useful on djgpp systems.
94565         Include stdlib.h.
94566         (ADDITIONAL_DEFAULT_SHELLS): Define.
94567         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94568         Based mostly on a patch from Prashant TR.
94569
94570 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94571
94572         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94573         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94574         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94575
94576 2000-12-08  Andreas Schwab  <schwab@suse.de>
94577
94578         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94579         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94580
94581 2000-12-07  Jim Meyering  <meyering@lucent.com>
94582
94583         * lib/stripslash.c (ISSLASH): Define.
94584         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94585         `/'.
94586         From Prashant TR.
94587
94588         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94589         (dir_name_r): Declare this function as static.
94590         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94591         manifest itself on a name containing a mix of slashes and
94592         backslashes.
94593         Make this function work with names starting with a DOS-style
94594         drive letter and colon prefix.
94595         (dir_name): Append `.' if necessary.
94596         Based mostly on patches from Prashant TR and Eli Zaretskii.
94597
94598         * lib/dirname.h (dir_name_r): Remove prototype.
94599
94600 2000-12-06  Paul Eggert  <eggert@twinsun.com>
94601
94602         * m4/off_t-format.m4: Remove this file.
94603         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
94604
94605 2000-12-06  Jim Meyering  <meyering@lucent.com>
94606
94607         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
94608         replacement strtoull, we may well need the replacement strtoul, too.
94609         Check for declarations of strtoul and strtoull.
94610         Check for strtol.  Mainly as a cue to cause automake to include
94611         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
94612         Check for limits.h -- strtol.c needs it.
94613
94614 2000-12-05  Jim Meyering  <meyering@lucent.com>
94615
94616         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
94617
94618 2000-12-04  Jim Meyering  <meyering@lucent.com>
94619
94620         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94621         Also include memory.h, stdlib.h, unistd.h if appropriate.
94622         Reported by Andreas Jaeger (conflicting declaration of malloc).
94623
94624 2000-12-02  Jim Meyering  <meyering@lucent.com>
94625
94626         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
94627         * m4/jm-macros.m4 (jm_MACROS): require it.
94628
94629 2000-12-02  Jim Meyering  <meyering@lucent.com>
94630
94631         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
94632
94633 2000-12-01  Paul Eggert  <eggert@twinsun.com>
94634
94635         * lib/memrchr.c: Include <config.h> before any system include file.
94636
94637 2000-11-30  Jim Meyering  <meyering@lucent.com>
94638
94639         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
94640
94641 2000-11-30  Jim Meyering  <meyering@lucent.com>
94642
94643         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94644
94645 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94646
94647         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94648
94649 2000-11-26  Jim Meyering  <meyering@lucent.com>
94650
94651         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94652
94653 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94654
94655         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94656         size of (size_t) -1; it's not portable.
94657
94658 2000-11-17  Jim Meyering  <meyering@lucent.com>
94659
94660         * lib/strstr.c: Update from GNU libc.
94661
94662 2000-11-17  Akim Demaille  <akim@epita.fr>
94663
94664         * lib/obstack.h: Formatting changes.
94665         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
94666         prevent type checking.
94667         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
94668         cast the value to (void *): assigning a `foo *' to a `void *'
94669         variable is valid.
94670         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
94671
94672 2000-11-16  Jim Meyering  <meyering@lucent.com>
94673
94674         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
94675
94676 2000-11-11  Jim Meyering  <meyering@lucent.com>
94677
94678         * lib/error.c: Add a couple #includes, merging from GNU libc version.
94679
94680 2000-11-10  Jim Meyering  <meyering@lucent.com>
94681
94682         * lib/obstack.h: Update from GNU libc.
94683         * lib/obstack.c: Likewise.
94684
94685 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
94686
94687         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
94688
94689 2000-11-06  Paul Eggert  <eggert@twinsun.com>
94690
94691         * lib/getusershell.c (setusershell): Use rewind rather than
94692         fseek/fseeko, to avoid configuration hassles with fseeko.
94693         Don't bother opening SHELLS_FILE if shellstream is NULL;
94694         it's not necessary.
94695
94696 2000-11-05  Jim Meyering  <meyering@lucent.com>
94697
94698         * lib/makepath.h (make_dir): Declare.
94699         * lib/makepath.c (make_dir): Remove `static' attribute.
94700         Tweak a comment.
94701
94702 2000-11-04  Jim Meyering  <meyering@lucent.com>
94703
94704         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
94705
94706 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
94707
94708         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
94709         last one in a bucket, advance to the next bucket.
94710
94711 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
94712
94713         * lib/fnmatch.c: Do not comment out all the code if we are using
94714         the GNU C library, because in some cases we are replacing buggy
94715         code in the GNU C library itself.
94716
94717 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
94718
94719         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
94720         (regex_compile): Catch bogus \(\1\).
94721
94722 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94723
94724         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
94725         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
94726         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
94727
94728 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94729
94730         * lib/error.h, getline.h, modechange.h:
94731         Remove "2000" from Copyright line, as the file hasn't been
94732         changed this year other than in the copyright notice.
94733
94734         * lib/xalloc.h: Add "2000" to Copyright line, as this file
94735         was changed this year.
94736
94737 2000-10-29  Jim Meyering  <meyering@lucent.com>
94738
94739         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
94740         renaming.
94741         * m4/ls-mntd-fs.m4: Likewise
94742
94743 2000-10-29  Jim Meyering  <meyering@lucent.com>
94744
94745         * lib/xstat.in: Fix grammar in comment.
94746
94747 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
94748
94749         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
94750         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
94751         doesn't define __restrict_arr.
94752
94753 2000-10-28  Jim Meyering  <meyering@lucent.com>
94754
94755         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
94756         (jm_PREREQ_MEMCHR): New function.
94757
94758 2000-10-28  Jim Meyering  <meyering@lucent.com>
94759
94760         * lib/memchr.c: Update from libc.
94761         Adjust for portability:
94762         [HAVE_STDLIB_H]: Include stdlib.h.
94763         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
94764         Undef __memchr, too.
94765         [!weak_alias]: Define __memchr to memchr.
94766
94767         * lib/regex.c: Update from libc.
94768         * lib/regex.h: Likewise.
94769         * lib/getopt1.c: Likewise.
94770         * lib/memcmp.c: Likewise.
94771
94772         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
94773         Avoid using fseek, when possible -- it's broken by design.
94774         Patch by Ulrich Drepper.
94775
94776 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
94777
94778         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
94779         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
94780         Giving in to popular pressure to shut up the compiler with casts.
94781
94782 2000-10-26  Jim Meyering  <meyering@lucent.com>
94783
94784         * lib/strftime.c: Update from libc.
94785
94786 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
94787
94788         * regex.c: More `unsigned char' -> `re_char' changes.
94789         Also change several `int' into `re_wchar_t'.
94790         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
94791         (PUSH_FAILURE_POINTER): Don't cast any more.
94792         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
94793         We want GCC to complain, since this piece of code makes
94794         re_match non-reentrant, which *should* be fixed.
94795         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
94796         (EXTEND_BUFFER): Use RETALLOC.
94797         (SET_LIST_BIT): Don't cast.
94798         (re_wchar_t): New type.
94799         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
94800         that those two functions will always properly return.
94801         (IMMEDIATE_QUIT_CHECK): Cast to void.
94802         (analyse_first): Use recursion rather than an explicit stack.
94803         (re_compile_fastmap): Can't fail anymore.
94804         (re_search_2): Don't check re_compile_fastmap for failure.
94805         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
94806         Now also sets the new value (passed in a new argument).
94807         (re_match_2_internal): Use it.
94808         Also, use a new var `reg' of type size_t when looping through regs
94809         rather than reuse the inappropriate `mcnt'.
94810
94811 2000-10-25  Jim Meyering  <meyering@lucent.com>
94812
94813         * lib/obstack.c: Update from libc.
94814
94815 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
94816
94817         * regex.c (regex_compile): Change the way of handling a range from
94818         a char less than 256 to a char not less than 256.
94819
94820 2000-10-24  Andrew Innes  <andrewi@gnu.org>
94821
94822         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
94823         NT-Emacs only.
94824         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
94825         so that re_search functions only quit when callers expect them to.
94826
94827 2000-10-23  Jim Meyering  <meyering@lucent.com>
94828
94829         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
94830         wrong.  That set_locale call must not have any side effects.
94831         From Paul Eggert.
94832
94833 2000-10-22  Jim Meyering  <meyering@lucent.com>
94834
94835         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
94836         [CYCLIC]: Remove now-unused definition.
94837
94838         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
94839         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
94840         Suggestion from Ulrich Drepper.
94841
94842 2000-10-21  Jim Meyering  <meyering@lucent.com>
94843
94844         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
94845         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
94846         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
94847
94848 2000-10-21  Jim Meyering  <meyering@lucent.com>
94849
94850         * lib/dirname.c (memrchr): Declare if necessary.
94851         (dir_name): Remove the restriction that there be no
94852         trailing slashes.  Now, this code skips past them, effectively
94853         ignoring them.
94854         [TEST_DIRNAME] (main): New unit tests.
94855
94856         * lib/memrchr.c: New file from GNU libc.
94857         Undef __memrchr, too.
94858         [!weak_alias]: Define __memrchr to memrchr.
94859         Guard weak_alias use with `#ifdef weak_alias'.
94860
94861 2000-10-21  Jim Meyering  <meyering@lucent.com>
94862
94863         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
94864         (dir_name): Use dir_name_r.
94865         * lib/dirname.h (dir_name_r): Declare it.
94866
94867 2000-10-17  Jim Meyering  <meyering@lucent.com>
94868
94869         * lib/quote.h (PARAMS): Define and use.
94870         Reported by Akim Demaille.
94871
94872         * lib/getopt.c: Update from libc.
94873
94874 2000-10-16  Jim Meyering  <meyering@lucent.com>
94875
94876         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
94877         setlocale.
94878         From Jan Fedak.
94879
94880 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
94881
94882         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
94883
94884 2000-09-25  Jim Meyering  <meyering@lucent.com>
94885
94886         * lib/md5.h (rol): Define (from GnuPG).
94887
94888         * lib/sha.c: Give credit (GnuPG) where due.
94889         (M): Use rol rather than open-coding it.
94890         Add a FIXME comment.
94891
94892 2000-09-21  Jim Meyering  <meyering@lucent.com>
94893
94894         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
94895         Reported by Michael Stone.
94896
94897 2000-09-20  Jim Meyering  <meyering@lucent.com>
94898
94899         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
94900         (noinst_HEADERS): Add sha.h.
94901         Based on code from Scott G. Miller and from GnuPG.
94902
94903 2000-09-18  Jim Meyering  <meyering@lucent.com>
94904
94905         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
94906         LIBS. Otherwise, everyone ends up linking with -lelf for some
94907         configurations.
94908         Reported by Mike Stone.
94909
94910 2000-09-15  Jim Meyering  <meyering@lucent.com>
94911
94912         * lib/regex.c: Update from libc.
94913
94914 2000-09-10  Jim Meyering  <meyering@lucent.com>
94915
94916         * lib/getopt.c (_getopt_internal): Update from glibc.
94917
94918 2000-09-09  Jim Meyering  <meyering@lucent.com>
94919
94920         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94921         think it should be used as a general replacement for isascii.
94922         * lib/fnmatch.c: Likewise.
94923         * lib/mbswidth.c: Likewise
94924         * lib/regex.c: Likewise.
94925
94926         Don't use atoi.
94927         * lib/userspec.c: Include sys/param.h and limits.h.
94928         Include xstrtol.h.
94929         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94930         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
94931         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
94932         UID, GID.  Check range.
94933
94934 2000-09-06  Jim Meyering  <meyering@lucent.com>
94935
94936         * lib/getopt.c (_getopt_internal): Update from glibc.
94937
94938 2000-08-30  Jim Meyering  <meyering@lucent.com>
94939
94940         * lib/strftime.c: Merge in changes from GNU libc.
94941
94942 2000-08-26  Jim Meyering  <meyering@lucent.com>
94943
94944         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
94945         * m4/fpending.m4: New file.
94946
94947 2000-08-26  Jim Meyering  <meyering@lucent.com>
94948
94949         * lib/closeout.c: Include "__fpending.h".
94950         (close_stdout_status): Return right away if there's nothing to flush.
94951
94952         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
94953         * lib/__fpending.c: New file.
94954         * lib/__fpending.h: New file.
94955
94956 2000-08-20  Jim Meyering  <meyering@lucent.com>
94957
94958         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
94959         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
94960         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
94961
94962 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
94963
94964         Improve fileutils installation on systems where running
94965         programs (like install) can't be unlinked.
94966         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
94967         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
94968
94969 2000-08-07  Paul Eggert  <eggert@twinsun.com>
94970
94971         Standardize on "memory exhausted" instead of "Memory exhausted"
94972         or "virtual memory exhausted".
94973         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
94974         "virtual memory exhausted".
94975         * lib/same.c (same_name): Invoke xalloc_die instead of printing
94976         our own message.
94977         * lib/userspec.c (parse_user_spec): Likewise.
94978         * lib/bumpalloc.h: comment fix
94979         * lib/same.c, userspec.c: Include xalloc.h.
94980
94981         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
94982         not char *const and pointing to a constant array.
94983         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
94984         (xrealloc): Comment fix.
94985
94986         * lib/userspec.c (parse_user_spec):
94987         Don't translate a message until just before returning,
94988         to avoid unnecessary translation.
94989
94990 2000-08-07  Jim Meyering  <meyering@lucent.com>
94991
94992         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
94993         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
94994         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
94995         getgroups.c, gethostname.c, getopt.h, group-member.c,
94996         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
94997         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
94998         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
94999         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
95000         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
95001         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
95002         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
95003         yesno.c: Back out Copyright date changes for each file with no change
95004         this year.  This eases coordination with other programs using the same
95005         source code modules.  From Paul Eggert.
95006
95007 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95008
95009         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95010         not char, for compatibility with glibc 2.1.3 strftime.c.
95011
95012 2000-08-03  Greg McGary  <greg@mcgary.org>
95013
95014         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95015         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95016         (EXTEND_BUFFER): Use them.
95017
95018 2000-08-01  Jim Meyering  <meyering@lucent.com>
95019
95020         * lib/dirname.c (ISSLASH): Define.
95021         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95022         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95023         both `\' and `/' may be use as path separators.
95024         Based on a patch from Prashant TR.
95025
95026 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95027
95028         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95029         slot vector a constant, since it might get modified.
95030
95031 2000-07-31  Jim Meyering  <meyering@lucent.com>
95032
95033         * lib/xmalloc.c: Use `virtual memory exhausted', not
95034         `Memory exhausted'.
95035         * lib/obstack.c (print_and_abort): Likewise.
95036
95037 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95038
95039         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95040         buffer, so that the caller can always quote one small
95041         component of a "memory exhausted" message in slot 0.
95042         From a suggestion by Jim Meyering.
95043
95044 2000-07-30  Jim Meyering  <meyering@lucent.com>
95045
95046         * lib/makepath.c (make_path): Quote the other instance, too.
95047
95048         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95049         (STATIC_BUF_SIZE): Define.
95050         (quotearg_n_options): Use only statically allocated storage when
95051         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95052         than STATIC_BUF_SIZE.
95053
95054 2000-07-29  Jim Meyering  <meyering@lucent.com>
95055
95056         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95057         * lib/dirname.c (dir_name): Likewise.
95058
95059         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95060         `/'.
95061
95062         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95063         (dir_name): Assert that there are no trailing slashes.
95064
95065 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
95066
95067         * lib/mbswidth.h (mbswidth): Add a flags argument.
95068         (mbswidth): New declaration.
95069         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
95070         * lib/mbswidth.c (mbswidth): Add a flags argument.
95071         (mbsnwidth): New function.
95072
95073 2000-07-24  Jim Meyering  <meyering@lucent.com>
95074
95075         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
95076
95077 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95078
95079         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
95080
95081 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95082
95083         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
95084         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
95085         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
95086         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
95087         invoke multibyte primitives.
95088
95089 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95090
95091         * lib/quotearg.c:
95092         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
95093         so that mbstate_t is always defined.
95094
95095         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
95096         be 1 in at least one GCC installation, and this configuration
95097         error is likely to be common.  Ignoring MB_LEN_MAX hurts
95098         performance on hosts that have mbrtowc but have only unibyte
95099         locales, but I assume these hosts are rare.
95100
95101 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95102
95103         * lib/mbswidth.c (_XOPEN_SOURCE):
95104         Don't define; this causes problems on Solaris 7.
95105         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
95106
95107 2000-07-23  Jim Meyering  <meyering@lucent.com>
95108
95109         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
95110         too: getgrgid, getpwuid, getuid.
95111
95112 2000-07-23  Jim Meyering  <meyering@lucent.com>
95113
95114         * lib/basename.c (base_name): Add an assertion.
95115
95116 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
95117
95118         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
95119         shadow its mbsinit function.
95120
95121 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95122
95123         * lib/mbswidth.h: New file.
95124         * lib/mbswidth.c: New file.
95125         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
95126         (noinst_HEADERS): Add mbswidth.h.
95127
95128 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95129
95130         * lib/config.charset: Add support for FreeBSD. Improve support for
95131         HP-UX and IRIX 6.
95132
95133 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
95134
95135         * m4/mbswidth.m4: New file.
95136         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
95137
95138 2000-07-15  Jim Meyering  <meyering@lucent.com>
95139
95140         * lib/makepath.c: Include quote.h.
95141         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
95142         corresponding argument in a `quote (...)' call.
95143         Give better diagnostics.
95144
95145         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
95146         (noinst_HEADERS): Add quote.h.
95147
95148         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
95149         from tar's src/misc.c.
95150         * lib/quote.h: New file.  Prototypes for same.
95151
95152 2000-07-14  Paul Eggert  <eggert@twinsun.com>
95153
95154         From a suggestion by Bruno Haible.
95155         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
95156         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
95157         to decide whether to define the BeOS workaround macro;
95158         this adjusts to the change to AC_MBSTATE_T.
95159
95160 2000-07-14  Jim Meyering  <meyering@lucent.com>
95161
95162         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
95163         jm_AC_TYPE_UINTMAX_T.
95164
95165 2000-07-13  Paul Eggert  <eggert@twinsun.com>
95166
95167         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
95168
95169         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
95170         quotearg_buffer_restyled): Add support for
95171         clocale_quoting_style.  Undo previous change to
95172         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
95173         and "{RIGHT QUOTATION MARK}" msgids.
95174
95175 2000-07-10  Paul Eggert  <eggert@twinsun.com>
95176
95177         From a suggestion by Bruno Haible.
95178         * m4/mbstate_t.m4 (AC_MBSTATE_T):
95179         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
95180         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
95181         and mbstate_t, to a single-part test that simply defines mbstate_t.
95182         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
95183         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
95184
95185 2000-07-10  Jim Meyering  <meyering@lucent.com>
95186
95187         * m4/strerror_r.m4: Mirror the correction made in autoconf.
95188
95189         * m4/gnu-source.m4: Output to confdefs.h directly.
95190         Suggestion from Akim Demaille.
95191
95192 2000-07-09  Paul Eggert  <eggert@twinsun.com>
95193
95194         The old behavior of quoting `like this' doesn't look good with
95195         newer, ISO-style fonts.  See:
95196         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
95197
95198         Instead, quote "like this" by default.  Let the translator
95199         tailor the locale-specific quoting behavior by providing
95200         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
95201
95202         * lib/quotearg.c (N_): New macro.
95203         (gettext_default): New function.
95204         (quotearg_buffer_restyled): Use
95205         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
95206         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
95207
95208 2000-07-09  Jim Meyering  <meyering@lucent.com>
95209
95210         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
95211         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
95212
95213         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
95214         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
95215
95216 2000-07-09  Jim Meyering  <meyering@lucent.com>
95217
95218         * lib/Most files: Update copyright dates to include 2000.
95219
95220 2000-07-08  Jim Meyering  <meyering@lucent.com>
95221
95222         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
95223         if not defined.
95224         (xgethostname): Remove now-unnecessary #ifdef.
95225         Move declaration of `err' into loop where it's used.
95226
95227 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95228         and Bruno Haible  <haible@clisp.cons.org>
95229
95230         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
95231         only if the test for an object-type mbstate_t fails.  This
95232         prevents us from mistakenly reporting that mbstate_t is a
95233         system object type after we "#define mbstate_t int" to work
95234         around its lack.
95235
95236 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95237         and Bruno Haible  <haible@clisp.cons.org>
95238
95239         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
95240
95241 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95242
95243         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
95244         to strerror_r.
95245         Include <ctype.h> for use of isalpha.
95246
95247 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95248
95249         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
95250         by allocating a larger buffer. Test the gethostname return value for
95251         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
95252         returns an error and ENAMETOOLONG isn't defined.
95253
95254 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95255
95256         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
95257         dimension.
95258
95259 2000-07-04  Jim Meyering  <meyering@lucent.com>
95260
95261         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
95262         of the deprecated AC_CHECKING.
95263
95264 2000-07-04  Jim Meyering  <meyering@lucent.com>
95265
95266         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
95267         Reported by Bruno Haible.
95268
95269 2000-07-04  Jim Meyering  <meyering@lucent.com>
95270
95271         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
95272         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
95273         lacks mbrtowc.
95274
95275 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95276
95277         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
95278         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
95279
95280 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95281         and Bruno Haible  <haible@clisp.cons.org>
95282
95283         * lib/quotearg.c (mbrtowc):
95284         Assign to *pwc, and return 1 only if result is nonzero.
95285         (iswprint): Use ISPRINT when substituting our own mbrtowc.
95286
95287 2000-07-03  Jim Meyering  <meyering@lucent.com>
95288
95289         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
95290
95291 2000-07-03  Jim Meyering  <meyering@lucent.com>
95292
95293         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
95294         This is necessary to get a definition of e.g., UTMP_FILE on
95295         HP-UX 10.20.
95296         From Bob Proulx.
95297
95298 2000-07-02  Jim Meyering  <meyering@lucent.com>
95299
95300         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
95301
95302         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
95303         AC_LIBOBJ(function_name).
95304         * m4/chown.m4: Likewise.
95305         * m4/fnmatch.m4: Likewise.
95306         * m4/ftruncate.m4: Likewise.
95307         * m4/getgroups.m4: Likewise.
95308         * m4/getline.m4: Likewise.
95309         * m4/group-member.m4: Likewise.
95310         * m4/jm-macros.m4: Likewise.
95311         * m4/lstat.m4: Likewise.
95312         * m4/malloc.m4: Likewise.
95313         * m4/memcmp.m4: Likewise.
95314         * m4/nanosleep.m4: Likewise.
95315         * m4/putenv.m4: Likewise.
95316         * m4/realloc.m4: Likewise.
95317         * m4/regex.m4: Likewise.
95318         * m4/stat.m4: Likewise.
95319         * m4/strftime.m4: Likewise.
95320
95321 2000-07-02  Jim Meyering  <meyering@lucent.com>
95322
95323         * lib/quotearg.c (mbstate_t): Don't define here.
95324
95325 2000-07-02  Jim Meyering  <meyering@lucent.com>
95326
95327         * lib/nanosleep.c (SIGCONT): Define if not already defined.
95328
95329 2000-07-01  Jim Meyering  <meyering@lucent.com>
95330
95331         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
95332
95333 2000-07-01  Jim Meyering  <meyering@lucent.com>
95334
95335         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
95336         problem.
95337
95338 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95339
95340         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
95341         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
95342
95343 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95344
95345         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
95346         per change in ../m4/ls-mntd-fs.m4.
95347         (read_filesystem_list): Ignore symbolic links.
95348
95349 2000-06-29  Jim Meyering  <meyering@lucent.com>
95350
95351         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
95352         for declaration of strcmp.
95353
95354         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
95355
95356         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
95357         Avoid warning by casting result to `char *' to remove `const'.
95358
95359 2000-06-28  Jim Meyering  <meyering@lucent.com>
95360
95361         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
95362         included by quotearg.c, for which we perform this test.  From
95363         Bruno Haible.
95364
95365 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95366
95367         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
95368         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
95369         <utmpx.h> exists, put readutmp.o into LIBOBJS.
95370
95371 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95372
95373         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
95374
95375 2000-06-26  Paul Eggert  <eggert@twinsun.com>
95376
95377         savedir now sets errno on failure and invokes xmalloc to get memory.
95378         Fix a couple of other minor bugs while we're at it.
95379
95380         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
95381         (NAMLEN): Remove macro.
95382         (malloc, realloc): Remove decls.
95383         (stpcpy): Likewise.
95384         ("xalloc.h"): Include.
95385         (NAME_SIZE_DEFAULT): New macro.
95386         (savedir): Use xmalloc / xrealloc to allocate memory.
95387         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
95388         Skip "" directory entries.
95389         Use strlen to calculate directory entry length, since the old method
95390         is rarely used these days and isn't worth supporting.
95391         Don't use a pointer after freeing it.
95392         Check for integer overflow when calculating allocation size.
95393         Use memcpy to copy entries, instead of stpcpy.
95394         Set errno properly when returning NULL.
95395         Check for readdir error.
95396
95397 2000-06-26  Jim Meyering  <meyering@lucent.com>
95398
95399         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
95400
95401 2000-06-25  Jim Meyering  <meyering@lucent.com>
95402
95403         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
95404         Linux header bug when _XOPEN_SOURCE is defined to 500.
95405
95406 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95407
95408         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
95409         deficiency.
95410
95411 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95412
95413         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
95414         Include xalloc.h.
95415         Don't include <stdlib.h>.  Don't declare malloc, realloc.
95416
95417 2000-06-24  Jim Meyering  <meyering@lucent.com>
95418
95419         * m4/strerror_r.m4: Revive this file -- to try out an experimental
95420         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
95421         for which strerror does return char*, but which lacks a conveniently
95422         accessible declaration of the function.  If the compile-test says
95423         strerror_r doesn't work, then resort to a `run'-test that works on
95424         BeOS and segfaults on DEC Unix.
95425
95426 2000-06-24  Jim Meyering  <meyering@lucent.com>
95427
95428         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
95429
95430 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95431
95432         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95433         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95434
95435 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95436
95437         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95438         (mbrtowc, mbstate_t): Define substitutes if
95439         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95440         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95441         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95442
95443 2000-06-23  Jim Meyering  <meyering@lucent.com>
95444
95445         * m4/afs.m4: Add missing AC_MSG_RESULT.
95446         Reported by Bruno Haible.
95447
95448         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95449         Suggestion from Bruno Haible.
95450
95451 2000-06-23  Jim Meyering  <meyering@lucent.com>
95452
95453         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95454
95455 2000-06-21  Jim Meyering  <meyering@lucent.com>
95456
95457         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95458
95459 2000-06-21  Jim Meyering  <meyering@lucent.com>
95460
95461         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95462         (noinst_HEADERS): Add getstr.h.
95463
95464         * lib/getline.c (getstr): Move into a separate file.
95465         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95466         the following changes: new parameter, delim2; both delim[12]
95467         parameters have type `int', not `char'.  The latter would lose
95468         with 8-bit delimiters.
95469         * lib/getstr.h: New file.
95470
95471 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95472
95473         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95474         than 1024, return a memory chunk of least possible size, instead
95475         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95476         Use free/xmalloc instead of xrealloc to avoid copying for very long
95477         paths.
95478
95479 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95480
95481         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95482         the empty string.
95483
95484 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95485
95486         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95487         address, not strdup.  Include <stdlib.h> and don't declare free().
95488
95489 2000-06-19  Jim Meyering  <meyering@lucent.com>
95490
95491         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95492
95493 2000-06-18  Jim Meyering  <meyering@lucent.com>
95494
95495         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95496
95497         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95498         `checking whether...' message to be consistent with that of the
95499         lstat test.
95500
95501 2000-06-18  Jim Meyering  <meyering@lucent.com>
95502
95503         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95504         Besides, these days every porting target provides a mkdir function.
95505
95506         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95507         needed. (this snippet comes from src/system.h).
95508
95509 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95510
95511         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95512
95513 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95514
95515         * lib/human.c (adjust_value): New function.
95516         (human_readable_inexact): Apply rounding style even when
95517         printing approximate values.
95518
95519 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95520
95521         * lib/human.c (human_readable_inexact): Allow an input block
95522         size that is not a multiple of the output block size, and vice versa.
95523         Reported by Piergiorgio Sartor.
95524
95525 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95526
95527         * lib/getdate.y (get_date): Apply relative times after time
95528         zone indicator, not before.  Reported by Todd A. Jacobs.
95529
95530 2000-06-13  Jim Meyering  <meyering@lucent.com>
95531
95532         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95533
95534         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95535
95536 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95537
95538         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95539
95540 2000-06-12  Jim Meyering  <meyering@lucent.com>
95541
95542         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95543         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95544         optional argument.
95545         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95546         the optional argument, `lib'.
95547
95548 2000-06-08  Jim Meyering  <meyering@lucent.com>
95549
95550         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95551
95552 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95553
95554         Rewrite largefile configuration so that we don't need to run
95555         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95556         AC_CANONICAL_HOST in configure.in -- jmm]
95557
95558         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95559         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95560         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95561         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95562         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95563         All uses changed.
95564         Instead of inspecting the output of getconf, try to compile the
95565         test program without and with the macro definition.
95566         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95567         for getconf.  Instead, check for the needed flags by compiling
95568         test programs.
95569
95570 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95571
95572         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95573
95574 2000-06-04  Jim Meyering  <meyering@lucent.com>
95575
95576         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95577         SunOS 4.1.4 for which gid_t is an unsigned type.
95578
95579 2000-06-03  Jim Meyering  <meyering@lucent.com>
95580
95581         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95582         now that autoconf requires that.
95583
95584         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95585         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95586         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95587
95588 2000-06-03  Jim Meyering  <meyering@lucent.com>
95589
95590         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95591
95592 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95593
95594         * m4/glibc21.m4: New file.
95595         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95596
95597 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95598
95599         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95600         newer, don't install charset.alias.
95601         * lib/config.charset: Change the Linux/glibc rules so they become empty
95602         on glibc-2.1 or newer.
95603
95604 2000-06-02  Jim Meyering  <meyering@lucent.com>
95605
95606         * lib/mountlist.c: Back out last change.  Instead, do this...
95607         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
95608         me_dummy member using the same `ignore'-testing code.
95609         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
95610         fs_type strings.
95611         From Mark D. Roth.
95612
95613 2000-05-29  Jim Meyering  <meyering@lucent.com>
95614
95615         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
95616         mounts with the `ignore' attribute.  Based on a patch from
95617         Mark D. Roth.
95618
95619 2000-05-28  Jim Meyering  <meyering@lucent.com>
95620
95621         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
95622         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95623         * m4/stat.m4: Likewise.
95624         * m4/lstat.m4: Likewise.
95625         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
95626
95627         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
95628         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
95629
95630 2000-05-26  Jim Meyering  <meyering@lucent.com>
95631
95632         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
95633
95634 2000-05-24  Jim Meyering  <meyering@lucent.com>
95635
95636         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
95637         autoconf requires that.
95638         * m4/lib-check.m4: Likewise.
95639         * m4/jm-macros.m4: Likewise.
95640         * m4/strftime.m4: Likewise.
95641
95642         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95643         AC_CHECK_DECLS, now that autoconf requires that.
95644
95645 2000-05-22  Jim Meyering  <meyering@lucent.com>
95646
95647         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95648         * m4/lstat.m4: Likewise.
95649
95650 2000-05-22  Jim Meyering  <meyering@lucent.com>
95651
95652         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95653
95654 2000-05-20  Jim Meyering  <meyering@lucent.com>
95655
95656         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95657         (jm_PREREQ): Use it.
95658
95659 2000-05-18  Jim Meyering  <meyering@lucent.com>
95660
95661         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95662         back, too, since it may have been modified by allocate_entry.
95663         (hash_delete): Rewrite to use neither the assignment operator
95664         nor the comma operator in an if-expression.
95665
95666 2000-05-15  Paul Eggert  <eggert@twinsun.com>
95667
95668         * lib/closeout.c:
95669         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
95670         Remove; no longer needed.
95671         "quotearg.h": Add include.
95672         (file_name): Do not bother to explicitly initialize to NULL; it's less
95673         efficient on some hosts.
95674         (close_stdout_status): Remove test as to whether stdout was already
95675         closed; it breaks for the case "echo x | sort >&-".
95676         Quote file name colons.
95677         Do not assume that _("write error") lacks format strings.
95678
95679 2000-05-15  Jim Meyering  <meyering@lucent.com>
95680
95681         * lib/version-etc.c (version_etc_copyright): Update the copyright
95682         string used in all --version output.
95683
95684 2000-05-14  Jim Meyering  <meyering@lucent.com>
95685
95686         * lib/closeout.c (close_stdout_set_file_name): New function.
95687         (close_stdout_status): Use new file-scoped global.
95688         Return right away if fstat says the stdout file descriptor is invalid.
95689         * lib/closeout.h (close_stdout_set_file_name): Declare.
95690
95691 2000-05-10  Jim Meyering  <meyering@lucent.com>
95692
95693         * lib/closeout.c [default_exit_status]: New file-scoped variable.
95694         (close_stdout_set_status): New function.
95695         * lib/closeout.h (close_stdout_set_status): Declare.
95696
95697 2000-05-09  Jim Meyering  <meyering@lucent.com>
95698
95699         * m4/gettext.m4: Rename this...
95700         * m4/libintl.m4: ...to this.
95701
95702 2000-05-08  Jim Meyering  <meyering@lucent.com>
95703
95704         * lib/long-options.c: Don't include closeout.h.
95705         (parse_long_options): Don't call close_stdout for --version.
95706
95707 2000-05-06  Paul Eggert  <eggert@twinsun.com>
95708
95709         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
95710         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
95711         2.1.3 bug.  This avoids a clash when files like regex.c define
95712         _GNU_SOURCE.
95713
95714 2000-05-06  Jim Meyering  <meyering@lucent.com>
95715
95716         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
95717         (AC_REPLACE_FUNCS): Add strnlen.
95718
95719         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
95720         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
95721
95722         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
95723         AC_SEARCH_LIBS call for nanosleep.
95724         (LIB_NANOSLEEP): Set and AC_SUBST.
95725
95726 2000-05-06  Jim Meyering  <meyering@lucent.com>
95727
95728         * lib/strnlen.c: Undefine __strnlen and strnlen.
95729         [!weak_alias]: Define __strnlen to strnlen.
95730
95731         * lib/atexit.c: New file, from libiberty.
95732
95733 2000-05-06  Jim Meyering  <meyering@lucent.com>
95734
95735         * lib/closeout.c (close_stdout_status): Also check for errors on the
95736         stderr stream.
95737
95738 2000-05-05  Jim Meyering  <meyering@lucent.com>
95739
95740         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
95741         AC_SEARCH_LIBS call for clock_gettime.
95742         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
95743
95744         * m4/search-libs.m4: Update from autoconf.
95745
95746         su doesn't work on Solaris 2.6.
95747         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
95748         <shadow.h>.  Reported by Dragos Harabor.
95749
95750 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
95751
95752         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
95753         memcpy instead of xmalloc, xrealloc, path_concat.
95754         (locale_charset): Treat empty environment variables as absent.
95755         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
95756
95757 2000-05-04  Jim Meyering  <meyering@lucent.com>
95758
95759         * lib/getopt.c: Update from glibc.
95760         * lib/obstack.c: Likewise.
95761         * lib/obstack.h: Likewise.
95762         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
95763         file
95764
95765         * lib/regex.h: Likewise.
95766         * lib/strndup.c: Likewise.
95767         * lib/strnlen.c: New file, from glibc.
95768
95769 2000-05-03  Jim Meyering  <meyering@lucent.com>
95770
95771         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
95772
95773 2000-05-02  Paul Eggert  <eggert@twinsun.com>
95774
95775         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
95776         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
95777         compile-time test, rather than inspecting host and OS, to
95778         decide whether to define _LARGEFILE_SOURCE.
95779
95780 2000-05-01  Jim Meyering  <meyering@lucent.com>
95781
95782         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
95783
95784         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
95785         Based on a patch from Bruno Haible.
95786
95787 2000-05-01  Jim Meyering  <meyering@lucent.com>
95788
95789         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
95790
95791 2000-04-29  Jim Meyering  <meyering@lucent.com>
95792
95793         * lib/path-concat.c: Declare strdup only if it's not defined.
95794         * lib/canon-host.c: Likewise.
95795
95796 2000-04-28  Jim Meyering  <meyering@lucent.com>
95797
95798         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
95799         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
95800         is included first, then limits.h is included by locale.h by libintl.h.
95801         From John David Anglin.
95802
95803 2000-04-25  Jim Meyering  <meyering@lucent.com>
95804
95805         * lib/makepath.c (S_IRWXUGO): Define.
95806         (make_path): Always perform explicit chmod if MODE specifies any
95807         of the `special' permission bits.  Prompted by a bug report against
95808         install from Mate Wierdl and Joost van Baal.
95809
95810 2000-04-18  Jim Meyering  <meyering@lucent.com>
95811
95812         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
95813         (jm_PREREQ): Use it.
95814
95815 2000-04-18  Jim Meyering  <meyering@lucent.com>
95816
95817         * lib/README: New file.
95818
95819         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
95820         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
95821
95822 2000-04-17  Jim Meyering  <meyering@lucent.com>
95823
95824         Get it right :-)
95825         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
95826         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
95827         Suggestion from Akim Demaille.
95828
95829 2000-04-17  Jim Meyering  <meyering@lucent.com>
95830
95831         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
95832         the definition of it to rpl_strftime also defined-away the system's
95833         declaration.
95834
95835 2000-04-15  Jim Meyering  <meyering@lucent.com>
95836
95837         Use `C' to denote so-called `contiguous' files, the same way
95838         that tar does.
95839         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
95840         (ftypelet): Use S_ISCTG.
95841         From Michael Deutschmann.
95842
95843 2000-04-14  Jim Meyering  <meyering@lucent.com>
95844
95845         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
95846         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
95847         clobbered.
95848
95849 2000-04-14  Jim Meyering  <meyering@lucent.com>
95850
95851         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
95852
95853 2000-04-13  Jim Meyering  <meyering@lucent.com>
95854
95855         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
95856         AH_VERBATIM to insert required #ifndef into config.h.in.
95857         Suggestion from Akim Demaille.
95858
95859 2000-04-12  Jim Meyering  <meyering@lucent.com>
95860
95861         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
95862         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
95863         Christian Krackowizer.
95864
95865         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
95866         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
95867         (AC_SYS_LARGEFILE): Require.
95868         (AM_C_PROTOTYPES): Require.
95869
95870 2000-04-08  Jim Meyering  <meyering@lucent.com>
95871
95872         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
95873         names don't conflict.  Reported by Eli Zaretskii.
95874
95875 2000-04-07  Jim Meyering  <meyering@lucent.com>
95876
95877         * lib/putenv.c: Move inclusion of errno.h so it follows that of
95878         sys/types.h, to work around system header problems on AIX 3.2.5.
95879         From Bruno Haible.
95880
95881 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
95882
95883         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
95884         bug.  Deal with the different error behavior of Irix iconv.
95885
95886 2000-04-05  Paul Eggert  <eggert@twinsun.com>
95887
95888         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
95889         IRIX if the installer said otherwise.
95890
95891 2000-04-05  Jim Meyering  <meyering@lucent.com>
95892
95893         Portability tweaks required for ultrix4.3.
95894         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
95895         (jm_CHECK_DECLS): Add getutent to the list of functions.
95896         (_jm_DECL_HEADERS): Add utmpx.h.
95897         From John David Anglin.
95898
95899         * m4/strftime.m4: Back out the 2000-04-02 change.
95900         Instead of that change, simply undefine putenv in the test program.
95901
95902 2000-04-05  Jim Meyering  <meyering@lucent.com>
95903
95904         Portability tweaks required for ultrix4.3.
95905         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
95906         getutent.
95907         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
95908         * lib/canon-host.c: Declare strdup.
95909         * lib/path-concat.c: Likewise.
95910         From John David Anglin.
95911
95912 2000-04-04  Jim Meyering  <meyering@lucent.com>
95913
95914         Be more DOS 8.3-friendly.
95915         * lib/ref-add.sin: Renamed from ref-add.sed.in.
95916         * lib/ref-del.sin: Renamed from ref-del.sed.in.
95917         * lib/Makefile.am: Reflect renaming.
95918         Reported by Eli Zaretskii.
95919
95920         Use a temporary file name that won't clash with `charset.alias'
95921         in the DOS 8.3 name space.
95922         * lib/Makefile.am (charset_tmp): Define.
95923         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
95924         (uninstall-local): Likewise.
95925         Reported by Eli Zaretskii.
95926
95927 2000-04-03  Jim Meyering  <meyering@lucent.com>
95928
95929         * m4/gettext.m4: Fix typo in comment.
95930
95931         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
95932         textutils/configure.in).  Suggestion from Paul Eggert.
95933         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
95934
95935 2000-04-02  Paul Eggert  <eggert@twinsun.com>
95936
95937         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
95938         variable in the shell rather than using putenv, which isn't
95939         portable.  This avoids the configure-time inter-test dependency
95940         on the potentially-renamed putenv function.
95941
95942 2000-03-30  Paul Eggert  <eggert@twinsun.com>
95943
95944         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
95945         before checking struct stat.st_blksize, so that
95946         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
95947
95948 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95949
95950         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
95951         since strftime.c uses HAVE_STRFTIME to decide whether to use
95952         the underlying strftime.
95953
95954 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95955
95956         * lib/time/strftime.c (my_strftime): Make sure we call the system
95957         strftime, not ourselves, when invoking the underlying strftime.
95958
95959 2000-03-24  Jim Meyering  <meyering@lucent.com>
95960
95961         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
95962         (charset_alias): Define.
95963         (install-exec-local): Factor out common code.
95964         (uninstall-local): Split lines longer than 80.
95965         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
95966         (SUFFIXES): Define.
95967         (.sed.in.sed): New rule.  Don't redirect directly to $@.
95968         (CLEANFILES): Add ref-add.sed and ref-del.sed.
95969
95970 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
95971
95972         * lib/config.charset: Output a line containing "Packages using this
95973         file".
95974         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
95975         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
95976         ref-del.sed): New rules.
95977
95978 2000-03-17  Jim Meyering  <meyering@lucent.com>
95979
95980         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
95981         Otherwise, include <strings.h>
95982
95983 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
95984
95985         * lib/unicodeio.c (utf8_wctomb): New function.
95986         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
95987         format instead of in UCS-4 with platform dependent endianness.
95988
95989 2000-03-10  Jim Meyering  <meyering@lucent.com>
95990
95991         * m4/lib-check.m4: Look for getspnam in -lgen, too.
95992         From Marco Franzen.
95993
95994 2000-03-07  Paul Eggert  <eggert@twinsun.com>
95995
95996         * lib/savedir.c (savedir): Work even if directory size is
95997         negative; this can happen with some screwy NFS configurations.
95998
95999 2000-03-06  Jim Meyering  <meyering@lucent.com>
96000
96001         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
96002         if it's NULL (because we ran out of memory).  From Bruno Haible.
96003
96004 2000-03-05  Jim Meyering  <meyering@lucent.com>
96005
96006         * lib/localcharset.c ("path-concat.h"): Include.
96007         (get_charset_aliases): Use path_concat instead of ANSI string
96008         concatenation.
96009
96010         * lib/unicodeio.h (PARAMS): Define.
96011         Use it to guard prototype.
96012
96013 2000-03-04  Jim Meyering  <meyering@lucent.com>
96014
96015         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96016         for lib/localcharset.c.
96017
96018 2000-03-04  Jim Meyering  <meyering@lucent.com>
96019
96020         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96021         installing into it.
96022         (uninstall-local): Uncomment this rule so `make distcheck' works
96023         once again.
96024
96025         * lib/unicodeio.c (<errno.h>): Include it.
96026         (errno): Declare if not defined.
96027
96028         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96029
96030         * lib/config.charset: New version, incorporating remarks from a linux
96031         i18n mailing list.  From Bruno Haible.
96032
96033 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96034
96035         * m4/codeset.m4: New file.
96036         * m4/iconv.m4: New file.
96037         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96038
96039 2000-03-03  Jim Meyering  <meyering@lucent.com>
96040
96041         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96042
96043 2000-03-02  Jim Meyering  <meyering@lucent.com>
96044
96045         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96046         the messages come out on separate lines.
96047
96048         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96049         rather than jm_CHECK_DECLARATIONS.
96050         * m4/decl.m4: Remove now-unused file.
96051
96052         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96053         geteuid.
96054
96055 2000-03-02  Jim Meyering  <meyering@lucent.com>
96056
96057         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96058
96059 2000-03-01  Jim Meyering  <meyering@lucent.com>
96060
96061         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96062         * lib/unicodeio.c: Likewise.
96063
96064 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
96065
96066         * lib/config.charset: New file.
96067         * lib/localcharset.c: New file.
96068         * lib/unicodeio.h, lib/unicodeio.c: New files.
96069         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
96070         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
96071         (noinst_HEADERS): Add unicodeio.h.
96072         (all-local, install-exec-local, charset.alias): New targets.
96073
96074 2000-02-28  Paul Eggert  <eggert@twinsun.com>
96075
96076         * lib/quotearg.c (ALERT_CHAR): New macro.
96077         (quotearg_buffer_restyled): Use it.
96078
96079 2000-02-27  Jim Meyering  <meyering@lucent.com>
96080
96081         * m4/check-decl.m4: Add getenv to the list.
96082
96083 2000-02-27  Jim Meyering  <meyering@lucent.com>
96084
96085         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
96086         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
96087
96088         * lib/backupfile.c: Guard inclusion of stdlib.h with
96089         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
96090         Declare malloc if needed.
96091
96092         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
96093         `#ifndef HAVE_DECL..'
96094         now that autoconf always defines the HAVE_DECL_ symbols.
96095         * lib/human.c: Likewise.
96096         * lib/same.c: Likewise.
96097         * lib/strtoumax.c: Likewise.
96098
96099         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
96100         declaration check was not run.
96101         * lib/hash.c: Likewise.
96102         * lib/human.c: Likewise.
96103         * lib/same.c: Likewise.
96104         * lib/strtoumax.c: Likewise.
96105
96106         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
96107         `.', then first look up the entire `.'-containing string as a login
96108         name.
96109
96110 2000-02-23  Jim Meyering  <meyering@lucent.com>
96111
96112         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
96113         in place of my hack.
96114
96115 2000-02-18  Paul Eggert  <eggert@twinsun.com>
96116
96117         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
96118         (textint): New typedef.
96119         (parser_control): Member year changed from int to textint.
96120         All uses changed.
96121         (YYSTYPE): Removed; replaced by %union with int and textint members.
96122         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
96123         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
96124         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
96125         (tSNUMBER, tUNUMBER): Now of type <textintval>.
96126         (date, number, to_year): Use width of number in digits, not its value,
96127         to determine whether it's a 2-digit year, or a 2-digit time.
96128         (yylex): Store number of digits of numeric tokens.
96129         Reported by John Kendall.
96130
96131         (parser_control): Changed from struct parser_control to typedef (for
96132         consistency).  All uses changed.
96133
96134         (tID): Removed; not used.
96135         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
96136
96137 2000-02-14  Paul Eggert  <eggert@twinsun.com>
96138
96139         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
96140         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
96141
96142 2000-02-12  Jim Meyering  <meyering@lucent.com>
96143
96144         * lib/userspec.c (ISDIGIT): Define it.
96145         (isdigit): Remove definition.
96146         (is_number): Use ISDIGIT, not isdigit.
96147         <libintl.h>: Include.
96148         (_ and N_): Define.
96149         (parse_user_spec): Mark translatable strings.
96150
96151 2000-02-10  Jim Meyering  <meyering@lucent.com>
96152
96153         With these changes, nanosleep.[ch] are finally enough like the other
96154         lib/* replacement files to compile on a few more losing systems.
96155
96156         * lib/nanosleep.h: Don't include config.h.
96157         Remove prototype from declaration of nanosleep.
96158         (PARAMS): Remove now-unneeded definition.
96159         * lib/nanosleep.c: #undef nanosleep.
96160         (rpl_nanosleep): Rename from nanosleep.
96161
96162 2000-02-10  Jim Meyering  <meyering@lucent.com>
96163
96164         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
96165         gnu_nanosleep to rpl_nanosleep.
96166
96167 2000-02-09  Jim Meyering  <meyering@lucent.com>
96168
96169         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
96170         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
96171
96172 2000-02-08  Akim Demaille  <akim@epita.fr>
96173
96174         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
96175         `[' and `]' and remove uses of `changequote'.
96176         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
96177         (AC_SYS_LARGEFILE): Likewise.
96178         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
96179         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
96180         of changequote.
96181         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
96182         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
96183         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
96184         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
96185
96186 2000-02-05  Jim Meyering  <meyering@lucent.com>
96187
96188         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
96189         Remove explicit use of AC_HEADER_TIME.  It is required by
96190         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
96191         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
96192         in autoconf whereby the expansion of the latter ended up preceding
96193         the expansion of its prerequisite, AC_HEADER_TIME.
96194         Reported by Volker Borchert.
96195
96196 2000-02-03  Jim Meyering  <meyering@lucent.com>
96197
96198         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
96199
96200 2000-02-03  Jim Meyering  <meyering@lucent.com>
96201
96202         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
96203         rather than with `#if HAVE_UTMPNAME'.
96204
96205 2000-02-02  Jim Meyering  <meyering@lucent.com>
96206
96207         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
96208         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
96209         Reported by Eli Zaretskii.
96210
96211 2000-02-01  Jim Meyering  <meyering@lucent.com>
96212
96213         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
96214
96215 2000-01-31  Jim Meyering  <meyering@lucent.com>
96216
96217         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
96218         functions.  Add the time.h and sys/time.h headers along with the
96219         AC_REQUIRE'ment of AC_HEADER_TIME.
96220
96221 2000-01-31  Jim Meyering  <meyering@lucent.com>
96222
96223         * lib/nanosleep.h (nanosleep): Guard declaration with
96224         `#if ! HAVE_DECL_NANOSLEEP'.
96225         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
96226         the declaration in that vendor's sys/timers.h.
96227         Reported by Christian Krackowizer.
96228
96229         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
96230         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
96231         (ISPRINT): Likewise.
96232         Reported by Tom Tromey.
96233
96234 2000-01-30  Jim Meyering  <meyering@lucent.com>
96235
96236         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
96237
96238         * m4/prereq.m4 (utmp_includes): Define.
96239         Check for ut_user and ut_name members in both struct utmpx
96240         and struct utmp.
96241
96242 2000-01-30  Jim Meyering  <meyering@lucent.com>
96243
96244         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
96245         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
96246         header files where only utmpx.ut_user is declared.
96247
96248         * lib/readutmp.h (UT_USER): Define.
96249
96250 2000-01-29  Jim Meyering  <meyering@lucent.com>
96251
96252         * m4/lib-check.m4: New file containing library-related checks from
96253         fileutils and sh-utils (textutils had none).
96254
96255 2000-01-28  Jim Meyering  <meyering@lucent.com>
96256
96257         * m4/perl.m4: Change format of warning message to look more like that
96258         from the missing script.  Suggestion from François Pinard.
96259
96260 2000-01-25  Jim Meyering  <meyering@lucent.com>
96261
96262         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
96263         well as time.h in the compile check.
96264         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
96265         Fix typo in cross-compiling case: s/yes/no/.
96266
96267 2000-01-23  Jim Meyering  <meyering@lucent.com>
96268
96269         * m4/jm-macros.m4: Move df-related tests here from
96270         fileutils/configure.in
96271
96272         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
96273         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
96274
96275         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
96276         s/space/ac_fsusage_space/.
96277         (jm_FILE_SYSTEM_USAGE): Take two parameters.
96278
96279         * m4/ftruncate.m4: New file (derived from part of
96280         fileutils/configure.in).
96281         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
96282         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
96283
96284         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
96285         AC_SUBST these here, rather than just in sh-util/configure.in, so
96286         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
96287         all the same.
96288         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
96289         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
96290         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
96291         (AC_SUBST(POW_LIBM)): Likewise.
96292         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
96293
96294 2000-01-23  Jim Meyering  <meyering@lucent.com>
96295
96296         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
96297         obstack.c.
96298
96299 2000-01-22  Jim Meyering  <meyering@lucent.com>
96300
96301         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
96302
96303         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
96304
96305         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
96306         configure.in
96307         (AC_CHECK_HEADERS): Likewise for sh-utils.
96308         (AC_CHECK_HEADERS): Likewise for textutils.
96309         Merge the three lists of headers.
96310
96311         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
96312         from fileutils' configure.in.
96313
96314         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
96315         code. Moved tests into their own function (_jm_DECL_HEADERS) in
96316         check-decl.m4.
96317
96318         * m4/check-decl.m4: Use #if rather than #ifdef.
96319         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
96320         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
96321         (_jm_DECL_HEADERS): Define new function.
96322         (jm_CHECK_DECLARATIONS): Require it.
96323
96324 2000-01-22  Jim Meyering  <meyering@lucent.com>
96325
96326         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
96327         [! HAVE_DECL_STRTOULL]: Declare strtoull.
96328         Required for some AIX systems.  Reported by Christian Krackowizer.
96329         [TESTING] (main): New function.
96330
96331         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
96332         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
96333         letters.
96334
96335         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
96336         iswprint.
96337
96338         * lib/strverscmp.c (ISDIGIT): Define.
96339         (strverscmp): Use ISDIGIT, not isdigit.
96340
96341 2000-01-19  Jim Meyering  <meyering@lucent.com>
96342
96343         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
96344         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
96345         defines `struct timespec' in <sys/time.h>
96346
96347         * m4/c-bs-a.m4: Remove uses of changequote altogether.
96348         Thanks to Akim for explaining.
96349
96350 2000-01-17  Paul Eggert  <eggert@twinsun.com>
96351
96352         * lib/nanosleep.c (nanosleep):
96353         Don't use SA_INTERRUPT to decide whether to call sigaction, as
96354         POSIX.1 doesn't require SA_INTERRUPT and some systems
96355         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
96356         it's been part of POSIX.1 since day 1 (in 1988).
96357
96358 2000-01-17  Jim Meyering  <meyering@lucent.com>
96359
96360         * lib/interlock: Remove unused file.  Reported by François Pinard.
96361
96362 2000-01-16  Paul Eggert  <eggert@twinsun.com>
96363
96364         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
96365         alert, backslash, formfeed, and vertical tab unnecessarily in
96366         shell quoting style.
96367
96368 2000-01-16  Jim Meyering  <meyering@lucent.com>
96369
96370         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
96371         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
96372         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
96373         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
96374
96375 2000-01-16  Jim Meyering  <meyering@lucent.com>
96376
96377         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
96378         because the latter didn't work.
96379
96380 2000-01-15  Jim Meyering  <meyering@lucent.com>
96381
96382         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
96383         (AC_REPLACE_FUNCS): Add memcpy and memset.
96384         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
96385         Add strpbrk.
96386         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
96387
96388 2000-01-12  Jim Meyering  <meyering@lucent.com>
96389
96390         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
96391         (jm_PREREQ): Use it.
96392         (jm_PREREQ_READUTMP): New macro.
96393         (jm_PREREQ): Use it.
96394
96395 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96396
96397         Quote multibyte characters correctly.
96398         * m4/c-bs-a.m4: New file.
96399         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
96400         (jm_PREREQ): Use it.
96401
96402 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96403
96404         * m4/uintmax_t.m4: Port to autoconf 2.13.
96405
96406 2000-01-08  Jim Meyering  <meyering@ascend.com>
96407
96408         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
96409         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
96410
96411 2000-01-04  Jim Meyering  <meyering@ascend.com>
96412
96413         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
96414         jm_STRUCT_DIRENT_D_TYPE.
96415         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
96416         jm_STRUCT_DIRENT_D_INO.
96417         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
96418         jm_STRUCT_UTIMBUF.
96419         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
96420         renamings.
96421         * m4/utime.m4: Likewise.
96422
96423         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
96424         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
96425
96426 2000-01-03  Paul Eggert  <eggert@twinsun.com>
96427
96428         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
96429         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96430
96431 2000-01-02  Jim Meyering  <meyering@ascend.com>
96432
96433         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96434         remember if this is necessary.
96435
96436 1999-12-26  Jim Meyering  <meyering@ascend.com>
96437
96438         * m4/jm-macros.m4: Use it here.
96439         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96440
96441 1999-12-23  Jim Meyering  <meyering@ascend.com>
96442
96443         * m4/jm-macros.m4: Check for clock_gettime (moved from
96444         fileutils/configure.in)
96445         Check for gettimeofday.
96446
96447 1999-12-20  Jim Meyering  <meyering@ascend.com>
96448
96449         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96450         autoconf-2.14a-1999-12-20.
96451
96452 1999-12-19  Jim Meyering  <meyering@ascend.com>
96453
96454         * m4/lstat-slash.m4: New file.
96455         * m4/jm-macros.m4: Use the new macro:
96456         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96457
96458 1999-12-07  Jim Meyering  <meyering@ascend.com>
96459
96460         * m4/perl.m4: Require that File::Compare be available, too.
96461         Too many systems seem to lack it.
96462
96463         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96464         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96465
96466 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96467
96468         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96469         problem with the QNX 4.25 shell, which doesn't propagate exit
96470         status of failed commands inside shell assignments.
96471
96472 1999-11-17  Jim Meyering  <meyering@ascend.com>
96473
96474         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96475
96476 1999-11-07  Jim Meyering  <meyering@ascend.com>
96477
96478         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96479
96480 1999-11-06  Jim Meyering  <meyering@ascend.com>
96481
96482         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96483         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96484
96485 1999-11-05  Jim Meyering  <meyering@ascend.com>
96486
96487         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96488         configure.in of textutils, fileutils, and sh-utils into this one
96489         (shared between those packages) file.
96490         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96491         AC_STRUCT_ST_BLKSIZE.
96492
96493 1999-11-03  Jim Meyering  <meyering@ascend.com>
96494
96495         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96496         of AC_CHECK_TYPE checks includes unistd.h.
96497         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96498         Suggestion from Akim Demaille.
96499
96500 1999-10-30  Jim Meyering  <meyering@ascend.com>
96501
96502         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96503         m4-quoted string.
96504         * m4/ls-mntd-fs.m4: Likewise.
96505         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96506         * m4/jm-winsz1.m4: Likewise.
96507
96508         * m4/const.m4: Remove file, since the fix made it into the experimental
96509         version of autoconf.
96510         * m4/mktime.m4: Likewise.
96511
96512         * m4/check-type.m4: Remove file, now that the latest version of
96513         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96514
96515         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96516         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96517         AC_CHECK_TYPE.
96518
96519 1999-10-04  Jim Meyering  <meyering@ascend.com>
96520
96521         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96522
96523 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96524
96525         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96526         2.95.1 bug with HP-UX 10.20.
96527
96528 1999-09-17  Jim Meyering  <meyering@ascend.com>
96529
96530         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96531         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96532         due to missing strdup (against sh-utils-2.0).
96533
96534 1999-08-29  Jim Meyering  <meyering@ascend.com>
96535
96536         * m4/jm-macros.m4: Require jm_BISON.
96537         * m4/bison.m4: New file.
96538
96539 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96540
96541         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96542         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96543
96544 1999-08-05  Jim Meyering  <meyering@ascend.com>
96545
96546         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96547         to avoid conflicts with `conftest' on 8+3 filesystems.
96548         Suggestion from Eli Zaretskii.
96549
96550 1999-08-04  Jim Meyering  <meyering@ascend.com>
96551
96552         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96553         fileutils and sh-utils (textutils's getline test was inadequate).
96554         (AM_FUNC_GETLINE): Run this test.
96555         (AC_CHECK_FUNCS): Check for getdelim.
96556         Reported by Bob Proulx.
96557
96558 1999-08-02  Jim Meyering  <meyering@ascend.com>
96559
96560         * m4/jm-macros.m4: Add a comment.
96561
96562 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96563
96564         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96565         <inttypes.h> defines strtoumax as a macro (and not as a
96566         function).
96567
96568 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96569
96570         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96571         that we can shift, multiply and divide unsigned long long
96572         values; Ultrix cc can't do it.
96573
96574 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96575
96576         * m4/mktime.m4: New file, which is a preview of what should appear
96577         in the next public autoconf release.
96578
96579 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96580
96581         * m4/lfs.m4: Remove this file.
96582         * m4/largefile.m4: New file.  It contains the old contents of
96583         lfs.m4, except that all names with prefix AC_LFS have been
96584         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96585         compatible with future autoconf versions.  Also, some minor m4
96586         quoting problems have been fixed.
96587
96588 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96589
96590         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96591         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96592         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96593         and simplify the shell code.
96594
96595 1999-08-01  Jim Meyering  <meyering@ascend.com>
96596
96597         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96598         m4.
96599
96600 1999-07-20  Jim Meyering  <meyering@ascend.com>
96601
96602         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
96603
96604 1999-07-15  Jim Meyering  <meyering@ascend.com>
96605
96606         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
96607
96608 1999-05-22  Jim Meyering  <meyering@ascend.com>
96609
96610         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
96611
96612 1999-05-20  Jim Meyering  <meyering@ascend.com>
96613
96614         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
96615         Add a colon after each `then' in case $4 is empty.
96616
96617 1999-05-16  Jim Meyering  <meyering@ascend.com>
96618
96619         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
96620
96621 1999-05-10  Jim Meyering  <meyering@ascend.com>
96622
96623         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
96624
96625         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
96626         AC_FUNC_MKTIME.
96627
96628 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
96629
96630         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
96631
96632 1999-05-04  Paul Eggert  <eggert@twinsun.com>
96633
96634         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
96635         not CPPFLAGS, so that linking works correctly in IRIX.
96636
96637 1999-04-30  Paul Eggert  <eggert@twinsun.com>
96638
96639         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
96640
96641 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96642
96643         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96644         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96645         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96646         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96647         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96648
96649         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96650
96651 1999-04-20  Jim Meyering  <meyering@ascend.com>
96652
96653         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96654         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96655         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96656
96657 1999-04-18  Jim Meyering  <meyering@ascend.com>
96658
96659         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96660         * m4/jm-macros.m4: Use it.
96661
96662 1999-04-06  Jim Meyering  <meyering@ascend.com>
96663
96664         * m4/strftime.m4: Remove test for %f.
96665
96666 1999-03-29  Jim Meyering  <meyering@ascend.com>
96667
96668         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
96669         superset of the AC_TYPE_* checks in the textutils, fileutils,
96670         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
96671         AC_TYPE_PID_T.
96672
96673 1999-03-28  Jim Meyering  <meyering@ascend.com>
96674
96675         * m4/jm-macros.m4: Define GNU_PACKAGE here.
96676         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
96677         replaced e.g., in the *.sh files of the sh-utils.
96678
96679 1999-03-20  Jim Meyering  <meyering@ascend.com>
96680
96681         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
96682         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
96683         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
96684
96685 1999-03-19  Jim Meyering  <meyering@ascend.com>
96686
96687         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
96688
96689 1999-03-12  Jim Meyering  <meyering@ascend.com>
96690
96691         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
96692
96693 1999-03-07  Jim Meyering  <meyering@ascend.com>
96694
96695         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
96696         declared.
96697
96698 1999-02-17  Jim Meyering  <meyering@ascend.com>
96699
96700         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
96701         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
96702
96703 1999-02-07  Jim Meyering  <meyering@ascend.com>
96704
96705         * m4/group-member.m4: New file -- extracted from sh-utils'
96706         configure.in.
96707
96708         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
96709         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
96710
96711 1999-02-06  Jim Meyering  <meyering@ascend.com>
96712
96713         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
96714         * m4/fnmatch.m4: Likewise.
96715         * m4/getgroups.m4: Likewise.
96716         * m4/lstat.m4: Likewise.
96717         * m4/malloc.m4: Likewise.
96718         * m4/putenv.m4: Likewise.
96719         * m4/realloc.m4: Likewise.
96720         * m4/regex.m4: Likewise.
96721         * m4/stat.m4: Likewise.
96722         * m4/strftime.m4: Likewise.
96723         Suggestion from Alain Magloire.
96724
96725         * m4/chown.m4: Use `.$ac_objext', not `.o'.
96726         * m4/fnmatch.m4: Likewise.
96727         * m4/getgroups.m4: Likewise.
96728         * m4/getline.m4: Likewise.
96729         * m4/lstat.m4: Likewise.
96730         * m4/malloc.m4: Likewise.
96731         * m4/memcmp.m4: Likewise.
96732         * m4/putenv.m4: Likewise.
96733         * m4/realloc.m4: Likewise.
96734         * m4/regex.m4: Likewise.
96735         * m4/stat.m4: Likewise.
96736         * m4/strftime.m4: Likewise.
96737         Suggestion from Alain Magloire.
96738
96739         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
96740         an argument.
96741
96742         * m4/regex.m4: Add a run-time Test for proper operation of
96743         re_compile_pattern.
96744
96745 1999-01-31  Jim Meyering  <meyering@ascend.com>
96746
96747         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
96748
96749 1999-01-30  Jim Meyering  <meyering@ascend.com>
96750
96751         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
96752
96753         * m4/jm-mktime.m4: Make this a wrapper around the official
96754         AM_FUNC_MKTIME rather than my private copy, now that the official one
96755         is up to date.
96756         * m4/mktime.m4: Remove file.
96757
96758         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
96759         * m4/uptime.m4: Likewise.
96760         * m4/uintmax_t.m4: Likewise.
96761
96762 1999-01-28  Jim Meyering  <meyering@ascend.com>
96763
96764         * m4/jm-macros.m4: Use jm_AFS.
96765         * m4/afs.m4: New file (from fileutils' configure.in).
96766
96767         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
96768         * m4/chown.m4: Likewise.
96769         * m4/d-ino.m4: Likewise.
96770         * m4/d-type.m4: Likewise.
96771         * m4/fnmatch.m4: Likewise.
96772         * m4/getgroups.m4: Likewise.
96773         * m4/gettext.m4: Likewise.
96774         * m4/jm-mktime.m4: Likewise.
96775         * m4/jm-winsz2.m4: Likewise.
96776         * m4/lcmessage.m4: Likewise.
96777         * m4/ls-mntd-fs.m4: Likewise.
96778         * m4/malloc.m4: Likewise.
96779         * m4/memcmp.m4: Likewise.
96780         * m4/putenv.m4: Likewise.
96781         * m4/realloc.m4: Likewise.
96782         * m4/st_mtim.m4: Likewise.
96783         * m4/strftime.m4: Likewise.
96784
96785 1999-01-16  Jim Meyering  <meyering@ascend.com>
96786
96787         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
96788         (ARGMATCH_DIE_DECL): Define.
96789
96790 1999-01-12  Jim Meyering  <meyering@ascend.com>
96791
96792         * m4/Makefile.am.in: Rewrite to avoid using fmt.
96793         Reported by Lars Hecking.
96794
96795 1999-01-10  Jim Meyering  <meyering@ascend.com>
96796
96797         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
96798         gross kludge.
96799         * m4/inttypes_h.m4: Likewise.
96800         * m4/lstat.m4: Likewise.
96801         * m4/malloc.m4: Likewise.
96802         * m4/readdir.m4: Likewise.
96803         * m4/realloc.m4: Likewise.
96804         * m4/st_dm_mode.m4: Likewise.
96805         * m4/stat.m4: Likewise.
96806         * m4/utimbuf.m4: Likewise.
96807         * m4/utimes.m4: Likewise.
96808
96809         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
96810         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
96811         comments in config.h.in are meaningful.
96812
96813         * m4/jm-macros.m4: Require autoconf-2.13 here.
96814
96815         * m4/regex.m4: By default, don't use the included regex.c on systems
96816         with glibc 2.  Suggestion from Uli Drepper.
96817
96818 1999-01-02  Jim Meyering  <meyering@ascend.com>
96819
96820         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
96821
96822 1998-12-18  Jim Meyering  <meyering@ascend.com>
96823
96824         * m4/Makefile.am.in (Makefile.am): Simplify rule.
96825         Based on a suggestion from Lars Hecking.
96826
96827 1998-11-16  Paul Eggert  <eggert@twinsun.com>
96828
96829         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
96830
96831 1998-11-16  Jim Meyering  <meyering@ascend.com>
96832
96833         * m4/lfs.m4: Double-quote the `uname...` expression.
96834
96835 1998-11-14  Jim Meyering  <meyering@ascend.com>
96836
96837         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
96838         * m4/stat.m4: Likewise.
96839
96840 1998-11-03  Jim Meyering  <meyering@ascend.com>
96841
96842         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
96843         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
96844
96845 1998-10-18  Jim Meyering  <meyering@ascend.com>
96846
96847         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
96848
96849 1998-10-17  Jim Meyering  <meyering@ascend.com>
96850
96851         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
96852         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
96853         calls for those previously hard-coded headers.  Instead, take a new
96854         parameter.
96855         (jm_CHECK_DECLARATIONS): Reflect interface change.
96856         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
96857         (jm_CHECK_DECL_LOCALTIME_R): New macro.
96858
96859         * m4/mktime.m4: Test for spring-forward gap before long-running test.
96860
96861 1998-10-14  Jim Meyering  <meyering@ascend.com>
96862
96863         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
96864         instead of "TZ=America/Vancouver".  From Paul Eggert.
96865
96866 1998-10-11  Jim Meyering  <meyering@ascend.com>
96867
96868         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
96869         This adds a test for a recently added compatibility fix for mktime.c.
96870         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
96871
96872 1998-09-27  Jim Meyering  <meyering@ascend.com>
96873
96874         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
96875
96876         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
96877         ../configure.in, including a change from Gordon Matzigkeit to allow
96878         cross-compiling for the Hurd.
96879
96880         * m4/glibc.m4: New file/macro to test for the GNU C Library
96881         versions 1 and 2.  From Gordon Matzigkeit.
96882         Indent.
96883
96884 1998-09-21  Jim Meyering  <meyering@ascend.com>
96885
96886         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
96887
96888 1998-08-18  Paul Eggert  <eggert@twinsun.com>
96889
96890         Port nanosecond-resolution times to UnixWare 2.1.2 and
96891         pedantic Solaris 2.6.
96892
96893         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
96894         AC_STRUCT_ST_MTIM.
96895         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
96896         Generate name of ns member, instead of just 1 or undef.
96897         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
96898
96899 1998-08-15  Jim Meyering  <meyering@ascend.com>
96900
96901         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
96902         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
96903         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
96904         instead of jm_TYPE_SSIZE_T.
96905
96906 1998-08-12  Jim Meyering  <meyering@ascend.com>
96907
96908         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
96909
96910 1998-08-02  Jim Meyering  <meyering@ascend.com>
96911
96912         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
96913         in acconfig.h manually.
96914
96915 1998-07-31  Paul Eggert  <eggert@twinsun.com>
96916
96917         * m4/st_mtim.m4: New file.
96918
96919 1998-07-28  Jim Meyering  <meyering@ascend.com>
96920
96921         * m4/utimes.m4: Undef stat.
96922
96923 1998-07-25  Jim Meyering  <meyering@ascend.com>
96924
96925         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
96926         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
96927
96928 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
96929
96930         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
96931         uid and gid actually remain unchanged.
96932
96933 1998-07-07  Jim Meyering  <meyering@ascend.com>
96934
96935         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
96936
96937 1998-07-04  Jim Meyering  <meyering@ascend.com>
96938
96939         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
96940         to prove that this macro can be used in packages without regex.c.
96941
96942 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
96943
96944         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
96945         is to be used.
96946
96947 1998-07-03  Jim Meyering  <meyering@ascend.com>
96948
96949         * m4/gettext.m4: Add -lintl if it's found to be necessary.
96950
96951         * m4/gettext.m4: New file -- from gettext-0.10.35.
96952         * m4/lcmessage.m4: Likewise.
96953         * m4/progtest.m4: Likewise.
96954
96955         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
96956         * m4/jm-macros.m4: Require the new macro.
96957
96958 1998-06-29  Jim Meyering  <meyering@ascend.com>
96959
96960         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
96961         for the definition of NGROUPS (used in a system header included
96962         by sys/mount.h).
96963
96964 1998-06-28  Jim Meyering  <meyering@ascend.com>
96965
96966         * m4/ls-mntd-fs.m4: New file.
96967         * m4/fstypename.m4: New file.
96968
96969         * m4/jm-macros.m4: Require the new macro.
96970         * m4/jm-glibc-io.m4: New file.
96971
96972 1998-05-19  Jim Meyering  <meyering@ascend.com>
96973
96974         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
96975         * m4/lchown.m4: New file.
96976
96977         * m4/Makefile.am.in: New file.
96978         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
96979
96980 1998-05-14  Jim Meyering  <meyering@ascend.com>
96981
96982         * m4/Makefile.am (EXTRA_DIST): Add them.
96983         * m4/jm-macros.m4: New file.
96984         * m4/utimbuf.m4: New file.
96985
96986 1998-05-12  Jim Meyering  <meyering@ascend.com>
96987
96988         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
96989
96990 1998-05-11  Jim Meyering  <meyering@ascend.com>
96991
96992         * m4/isc-posix.m4: New file.
96993
96994 1998-05-10  Jim Meyering  <meyering@ascend.com>
96995
96996         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
96997
96998 1998-05-09  Jim Meyering  <meyering@ascend.com>
96999
97000         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
97001         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
97002         with automake.
97003
97004         * m4/ssize_t.m4: New file.
97005         * m4/mktime.m4: Remove file -- the new automake has this now.
97006
97007 1998-04-26  Jim Meyering  <meyering@ascend.com>
97008
97009         * m4/assert.m4: New file.
97010         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97011
97012 1998-04-05  Jim Meyering  <meyering@ascend.com>
97013
97014         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97015         (jm_PREREQ): Use it here.
97016
97017 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97018
97019         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97020         in acconfig.h.
97021
97022 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97023
97024         * m4/prereq.m4: New file.
97025         * m4/error.m4: New file.
97026         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97027
97028 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97029
97030         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97031         cache-check for the same variable -- that defeated the purpose of
97032         the test; the test program was never run.  This was a problem only
97033         on systems with losing getline functions -- HP-UX 10.20 is one.
97034         Reported by Bjorn Helgaas.
97035
97036 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97037
97038         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97039
97040 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97041
97042         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97043
97044         * m4/const.m4: New file.  Use an initializer in this declaration
97045         typedef int charset[2]; const charset x;
97046         Reported by Bob Glickstein.
97047
97048 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97049
97050         * m4/chown.m4: Fix reversed types on -1 args to chown.
97051         From Kaveh Ghazi.
97052
97053 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97054
97055         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97056         Add lseek and memchr.
97057
97058         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97059         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97060         have a 20-character limit on names.
97061
97062 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97063
97064         * m4/inttypes_h.m4: New file.
97065         * m4/uintmax_t.m4: New file.
97066         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
97067
97068
97069         -----
97070
97071         Local Variables:
97072         coding: utf-8
97073         End:
97074
97075         Copyright (C) 1997-2012 Free Software Foundation, Inc.
97076
97077         Copying and distribution of this file, with or without
97078         modification, are permitted provided the copyright notice
97079         and this notice are preserved.